主要内容:
信息过载
三方共赢
Netflix Prize 算法大赛:2006年10月DVD零售公司Netflix宣布了一项竞赛,任何人只要发明了好过它现有电影推荐算法Cinematch 10%的新方法就能获得7位数的奖金。 网飞公司:https://www.netflix.com/ 网飞公司:美国DVD租赁公司到全球视频流媒体服务公司 潘多拉电台:https://www.pandora.com/ 声田、声破天:https://www.spotify.com
数据和模型
在为用户构建一个完美的个性化体验的过程中,拥有优质的数据和选择合适的模型,对我们的排序算法都十分重要。很幸运的是,在 Netflix 我们既拥有大量相关的数据,也有很多天才的工程师能够将数据特征转化为产品。以下是我们的推荐系统中用到的数据源。 我们有几十亿的
用户评分数据
,并且以每天几百万的规模在增长。 我们以视频热度
为算法基准,但是我们可以用来计算热度的数据源也是很丰富的。可以在不同的时间段内进行统计,例如最近一小时、一天、或者一周。可以将用户按照地域划分,计算视频在某部分用户中的热度值。 我们的系统每天产生几百万次播放,这些播放的场景
也带来很多特征,例如播放时长、播放时刻、设备类型。 我们的用户每天将几百万的视频添加到他们的播放列表
。每个视频拥有不同的属性信息
:演员、导演、类型、评分、评论。视频展现方式
:我们知道推荐的视频是在什么时间、什么位置展现给用户的,因而可以推断这些因素如何影响用户的选择。我们也能够观察到用户与系统交互的细节:滚动鼠标、悬停鼠标、点击,以及在页面的停留时间。社交网络信息
最近也成为我们的数据源,我们可以知道用户的好友们都在看什么视频。 用户每天要进行几百万次搜索请求
。 上述的所有数据源都来自于我们自己的系统,当然我们也可以获取外部数据,例如电影的票房、影评家的点评。 以上并非全部,还有诸如人口统计数据、地点、语言、时间数据(temporal data,或者为临时数据)
等都可以用来预测用户兴趣。 介绍完数据,那选什么模型呢?我们发现,有这么多种高质量的数据,单一的模型是不够的,我们必须要做模型选择、模型训练和测试。我们用了许多种的机器学习算法
:诸如聚类这种无监督方法,还有一些有监督的分类方法。如果你对推荐领域的机器学习算法感兴趣,以下是一个不完整的方法列表: 线性回归(Linear Regression) 逻辑斯特回归(Logistic Regression) 弹性网络(Elastic Nets) SVD(Singular Value Decomposition) RBM(Restricted Boltzmann Machines) 马尔科夫链(Markov Chains) LDA(Latent Dirichlet Allocation) 关联规则(Association Rules) GBDT(Gradient Boosted Decision Trees) 随机森林(Random Forests) 聚类方法,从最简单的 k-means 到图模型,例如 Affinity Propagation 矩阵分解(Matrix Factorization)
生活中举例
推荐系统的基本思想 利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品。 利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品。 利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品。
知你所想,精准推送 利用用户和物品的特征信息,给用户推荐那些具有用户喜欢的特征的物品。 物以类聚 利用用户喜欢过的物品,给用户推荐与他喜欢过的物品相似的物品。 人以群分 利用和用户相似的其他用户,给用户推荐那些和他们兴趣爱好相似的其他用户喜欢的物品。
要推荐物品或内容的元数据,例如关键字,分类标签,基因描述等; 系统用户的基本信息,例如性别,年龄,兴趣标签等; 用户的行为数据,可以转化为对物品或者信息的偏好,根据应用本身的不同,可能包括用户对物品的评分,用户查看物品的记录,用户的购买记录等。这些用户的偏好信息可以分为两类:
显式的用户反馈
:这类是用户在网站上自然浏览或者使用网站以外,显式的提供反馈信息,例如用户对物品的评分,或者对物品的评论。隐式的用户反馈
:这类是用户在使用网站是产生的数据,隐式的反应了用户对物品的喜好,例如用户购买了某物品,用户查看了某物品的信息等等。
分类方式一
分类方式二
基于内容(Content Based,CB)主要利用的是用户评价过的物品的内容特征吧,而 CF 方法还可以利用其它用户评分过的物品内容。 CF 可以解决 CB 的一些局限: • 1、物品内容不完全或者难以获得时,依然可以通过其它用户的反馈给出推荐。 • 2、CF 基于用户之间对物品的评价质量,避免了 CB 仅依赖内容可能造成的对物品质量判断的干扰。 • 3、CF 推荐不受内容限制,只要其它类似用户给出了对不同物品的兴趣,CF 就可以给用户推荐出内容差异很大的物品(但有某种内在的联系)。
协同过滤分为两类:基于近邻和基于模型
基于用户的协同过滤
基于物品的协同过滤
实际网站的推荐系统往往都不是单纯只采用了某一种推荐的机制和策略,往往是将多个方法混合在一起,从而达到更好的推荐效果。 比较流行的组合方法有: 加权混合 用线性公式(linear formula)将几种不同的推荐按照一定权重组合起来,具体权重的值需要在测试数据集上反复实验,从而达到最好的推荐效果。 切换混合 切换的混合方式,就是允许在不同的情况(数据量,系统运行状况,用户和物品的数目等)下,选择最为合适的推荐机制计算推荐。 分区混合 采用多种推荐机制,并将不同的推荐结果分不同的区显示给用户。 分层混合 采用多种推荐机制,并将一个推荐机制的结果作为另一个的输入,从而综合各个推荐机制的优缺点,得到更加准确的推荐。
让用户更快更好的获取到自己需要的内容 让内容更快更好的推送到喜欢它的用户手中 让网站(平台)更有效的保留用户资源
离线实验 • 通过体制系统获得用户行为数据,并按照一定格式生成一个标准的数据集。 • 将数据集按照一定的规则分成训练集和测试集。 • 在训练集上训练用户兴趣模型,在测试集上进行预测。 • 通过事先定义的离线指标评测算法在测试集上的预测结果。 用户调查 用户调查需要有一些真实用户,让他们在需要测试的推荐系统上完成一些任务;我们需要记录他们的行为,并让他们回答一些问题;最后进行分析。 在线实验 AB 测试
线性代数、高等数学、概率论与数理统计
• 矩阵(Matrix)是一个按照长方形阵列排列的复数或实数的集合。 • 矩阵最早来自于方程组的系数及常数所构成的方阵,最初是用来解决线性方程求解的工具。 • 矩阵是高等数学中的常见工具,也常见用于统计分析等应用数学学科中,矩阵在物理学和计算机科学中都有应用。 • 矩阵的运算是数值分析领域的重要问题。
生活中举例
对应于数学中
矩阵的定义
特殊矩阵
特殊矩阵
把矩阵的对应位元素相加,矩阵的形状必须一致,即必须是同型矩阵。
1、数与矩阵相乘:数值与矩阵的每一个元素相乘。
2、矩阵与矩阵相乘:左矩阵的每一行与右矩阵的每一列对应每一个元素相乘。
文字解释和举例
规则:一行乘一列,行定列移动,列尽下一行
方向导数
梯度
监督学习和无监督学习的生活比喻
无监督学习
无监督学习应用
监督学习图解
机器学习完整图解
监督学习过程示例
监督学习过程图解
模型评估策略
常见的损失函数
精确率和召回率
精确率和召回率
回归问题分类
梯度下降算法
牛顿法和拟牛顿法