Netflix 是如何判断《纸牌屋》这样的剧是符合其观众口味并且能够拉动付费用户增长的？
====2014年更新答案==== Netflix现在的算法已经不再主要是机器挖掘进行分类，而是人工手动定义电影标签。如果大家想看可以看这篇文章： 比如一个电影可以属于：获得奥斯卡奖的有关被禁止的爱情的情感伦理片 或者属于 1980年年代的，悬疑+暴力的动作片 而用户有多喜欢这些标签则依然是计算机算法计算出来的 这篇文章里还提到通过这些标签，都可以编造出一些其实不存在的电影，例如： 1.世界末日之后有关友谊的喜剧 2.根据中东家庭真实故事改编的，海下王国父亲与儿子的故事 你说Netflix如果不去编电影，就简直是浪费了这么逆天的算法了~~ ====之前的文章==== 《Netflix的大数据挖掘与纸牌屋》 答者注：我只是从一个侧重点去讲了Netflix是如何通过了解用户让《纸牌屋》畅销的，一部电视剧的成功有诸多理由，更多时候是人的判断。但对于用户数据的深度挖掘正是Netflix与其他Producer的差别。 ===回归正文=== 如果有人邀请你去看一场电影，你第一个问题，很有可能是，什么电影？ 你可能会听信你的朋友的力荐，或者是新闻上公布的票房，或者是豆瓣上的评分，或者就凭自己的直觉。然而如果有一位朋友特别了解你的喜好，基本上每次给你推荐看的电影你都非常喜欢，而且他可以让你在家里看，比电影院便宜很多，你是不是觉得太好了。这个朋友就是Netflix。 Netflix推出《纸牌屋》的一个来源是灵感和完美的执行，但相比较其他电视剧则是Netflix优异的数据分析能力。这是因为他有世界上最好的推荐系统，对于用户的了解甚至比任何导演都清楚。下面由我以技术的角度来分析一下Netflix到底优势是怎么体现出来的。 个性化推荐算法（百度百科： ），也被称作协同过滤，是大数据挖掘的一部分。 对于不懂数学的人来讲，就是当电脑了解到成百上千人对于成百上千个电影的喜好之后，电脑又了解了你所喜欢的几十个电影，然后推荐给他猜你会喜欢的电影。 补充一下： 有朋友可能就会问，用户信息挖掘，其实找个数学家统计一下用户信息就行了，个性化推荐有那么大必要吗？其实是天壤之别，用户信息挖掘的区别就像做心理测试和天气预报的差别一样大——心理测试，一般来讲是不用负责任的，而天气预报，是有确定的答案的，你要么算得对，你要么算得不对。个性化推荐也同样，你推荐给用户的电影，要么他喜欢（然后买单了），要么他直接pass了。所以说，个性化推荐是一种具有实验检验性质的用户挖掘。最后被Netflix利用到最高境界：没有拍摄的电影，Netflix都可以预测这个电影会受欢迎。 ==== 学过线性代数欢迎踩过华丽的分割线 ===== 其基础的数学就是，有n个电影，和m个用户。 那么评价就可以放在一个n*m大小的矩阵里，归一化后，观众对于一部电影的评价分布在0~1之间。 而且通常来讲，不会告诉你有个人或者电影的任何细节信息（人的性别，年龄，喜好，电影的导演，演员，风格，都没有给矩阵） 现在问，如果隐藏一部分数据的话，是否能够推算出其他的数据。 对于随机的矩阵，这个是毫无价值的，但这个矩阵并不是随机的，下面我们来分析一些里面的规律。 先从最基本的排行榜的角度来看，人们喜欢排行榜前几名的几率要远大于后面默默无闻的，这也很正常，电影之间拍摄水平也不同。 然后从观众喜好来讲，喜欢《美丽心灵》的同学喜欢《Big bang theory》的可能性也会更大，喜欢《卧虎藏龙》的同学喜欢《醉拳》的可能性也大。这就是经常某一个商品底下我们会看到，喜欢该商品的朋友还推荐XXX商品 还有一种可能性就是看你喜欢的电影是否类似另外的某一个用户——如果想像，并且他有喜欢的电影你缺没看过，那么你很有可能也会喜欢。 以上几个方法可以做到一定准确率的个性化推荐，然而想再提升则需要更大的本领了。 Netflix公司为了提升推荐算法的准确率，2006年推出了Netflix Prize 百万美元大奖，就是让大家找到能够提升其推荐算法10%的高级方法。这里有两篇博文有详细的介绍： 其中最核心的部分是SVD（奇异值分解） ，其核心思想又与Topic Model（主题模型）又密切相关。下面我们来简要介绍一下这个的核心思想。 实际中的人，是很复杂的一个状态，电影也是很复杂的一个状态——而之前的每一种模型都认为每一个人喜欢同一个电影的原因是完全一样的。那么我们可以引入一个全新的概念叫做电影的主题/Topic或者叫电影的“口味”/aspect 张三不再是只是喜欢某一个具体的电影，而是张三有三个喜欢的分支，一个是喜欢各种武侠动作电影，另一个是喜欢黑帮动作电影，还有一个是喜欢梁朝伟演的各种电影。而李四，则或许酷爱日本的爱情片，动作片和梁朝伟出演的各种电影。 而倒过来，比如《七武士》可能包含一定成分的武侠，又是日本的动作片。这部电影可能张三和李四都喜欢，但是喜欢的理由却可能完全不同。 所以问题就转化成，如何对于一个矩阵进行分解。将原有n*m的矩阵分解成一个n*k的人-主题矩阵和一个k*m主题-电影矩阵。用矩阵表达就是A_{nm} = B_{nk} \times C_{km}+\varepsilon_{nm} 其中k是主题的个数，epsilon是一个很小的误差值 这个工作则正好与属性值的奇异值分解有巨大关系，感兴趣的同学不妨看看这篇文章： 由于口味k的数量要远小于人数或者电影数，所以这也是一种主成分分析（PCA）：最显著的k个特征向量被抽取出来，形成了电影特定的口味。 当然如果事情有这么简单，早就有人拿奖了。SVD是一个很好的模型，但是依旧很粗糙，全世界的各个不同人在SVD的基础之上，添加了自己的独门秘笈，有人加了概率里的贝叶斯统计（比如pLSA, LDA, CTM），有人加了物理模型，有人加了神经元网络算法，有人加了马尔可夫链，有人加了决策树，也有人加了自己秘制手动调节的参数。由于Netflix每次评判，参赛人并不能够看到评判数据，而只能看到自己的评判结果，实际过程中，许多模型已经到后来失去了其科学模型，而更像是调鸡尾酒那样凑出一个解。 最后2009年获得大奖的是来自三个强力团队的“鸡尾酒”他们将自己的结果勾兑之后终于以10.05%改进分数成为第一个超过的终点线的团队（The Ensemble紧随其后），网址在这里： 还有许多相关链接在这里： 再补充一个小花絮： 中奖的算法是由上百个模型勾兑出来的，而如果Netflix真的采用了如此复杂的模型，是非常不划算的。所以最终的结果是Netflix竟然没有采用那个提高10%的算法（谢谢@ 提醒），而是只应用了最核心的奇异值分解（SVD）和受限玻尔兹曼机（RBM，一个物理模型）。除此以外，Netflix并不希望给你推荐10部风格完全一样的电影，而是要保证一定的多样性（Diversity）。感兴趣的同学欢迎继续读： ====低调的分割线=== 这一切跟我的关系是，BPC获奖的时候，我正在大学毕设研究Topic Model理论（不算研究，只算是学习），我当时感觉Netflix的奖终于2009年颁发在全球轰动了。毕业后，我才知道，大多数人都没有听说过Netflix，更没有听说过Topic Model，甚至勉强理解什么叫做个性化推荐算法。以至于我当时想以毕业时研究的个性化推荐找一个工作都找不到（当然现在不一样了，现在许多电商网站都招这样的人）。我想和大家分享自己对于Netflix这个百分之十的个人体会。 如果你的网站是刚刚起步，你所卖的东西同类电商有数十家，你又在前三名之后，或许你要研究的不是提高转化率，而是如何更多获得用户。而当你的用户只要有1%的转化率提高就能够给你带来百万的收入时，10%的个性化提升对于你则是如虎添翼（Netflix则是看起来占了一个大便宜，只花很少的钱却让全世界的科学家帮他赚钱）。一般来讲，SVD驱动的个性化推荐还是适合在后期才上线，初期有一个商品排行榜，后来增加一个“浏览该商品的朋友最终购买XX“的栏目就能够有不错的效果了。毕竟推荐算法只是提高增长的一个办法，然而可以预料在不久的讲了，越来越普遍的开源推荐算法会对目前信息爆炸，商品过多，人们无从挑选的困境带来一定的帮助，为电商优秀的用户体验添彩。 ====回归到《纸牌屋》==== 另一个答案的提供者 在他的回答里说 《纸牌屋》的受欢迎正是大数据时代的一个经典案例。Netflix通过对于大量电影/电视剧的数据挖掘，真正了解到观众的喜好，也从影视租赁商逐渐转化为影视提供商。这种转换就可以类比是，由于京东极度了解用户的喜欢信息，而转化开始自己产家电，并且大受欢迎。这种大数据的方式正是互联网公司相比较传统公司的一大优势。