Evernote Export
推荐系统比赛(常见比赛)
推荐系统分类
最能变现的机器学习应用
- 基于应用领域分类:电子商务推荐,社交好友推荐,搜索引擎推荐,信息内容推荐等
- **基于设计思想:**基于协同过滤的推荐,基于内容的推荐,基于知识的推荐,混合推荐
- 基于使用何种数据:基于用户行为数据的推荐,基于用户标签的推荐,基于社交网络数据,基于上下信息(时间上下文,地点上下文等)
示例说明:Netflix比赛 - Netflix是一家在线影片租赁提供商。公司能够提供超大数量的DVD,而且能够让顾客快速方便的挑选影片,同时免费递送。Netflix已经连续五次被评为顾客最满意的网站,可以通过PC,TV及iPad、iphone等收看电视节目
- Netflix大奖赛从2006年10月份开始,Netfilx公开了大约1个亿1-5的匿名影片评级。数据集仅包含了影片名称,评价星级和评级日期,没有任何文本评价的内容。比赛要求参赛者预测Netflix的客户分别喜欢什么影片,要把预测的效率提高10%以上。
- 对推荐算法发展有着深远影响,比如对LFM的追捧使其快速进入大众视野,对LFM提出了很多改进方法。
推荐系统的算法
- 基于物品的协同过滤算法ItemCF:基于item的系统算法,通过用户对不同item的评分来评测item之间的相似性,基于item之间的相似性做出推荐
- 简单来说就是:给用户推荐他之前喜欢的物品或相似的物品
- IitemCF算例:
- 基于ItemCF的原理和基于UserCF类似,只是在计算邻居时采用物品本身,而不是从用户的角度,即基于用户对于物品的偏好找到类似的物品,然后根据用户的历史偏好,推荐相似的物品给他。
- 从计算的角度看,就是将所有用户对某个物品的偏好作为一个向量来计算物品之间的相似度,得到物品的相似物品之后,根据用户历史的偏好预测当前用户还没有表示偏好的物品,计算得到一个排序的物品列表作为推荐。
- 同现矩阵X评分矩阵=推荐结果
- 本质是猜测评分矩阵的空缺元素
- LFM(latent factor model)
- 关键公式
LFM通过如下公式计算用户u对物品的兴趣
Preference(u,i)=rwi=pMTqi=f=1∑FPMqi,k
这个公式中,Pw,k和qi,k是模型的参数,其中Pw,k度量了用户u的兴趣和第k个隐类的关系,而qi,k度量了第k个隐类和物品i之间的关系。那么,下面的问题就是如何计算这两个参数。
选择一个训练集,用适当的数学算法计算出上述公式里待确定的权重
- 源于对SVD(奇异值分解)方法的改进,传统SVD是线性代数典型问题
- SVD可用于推荐系统评分矩阵补全,但是由于计算量太大,实际上只是适用于规模很小的系统
- Simon Funk改进SVD(Funk-SVD),后来被称为Latent Factor Model
- 常见同类问题求解思路
- 最大似然(类似训练贝叶斯信念网络和EM算法)
- 转化为求解损失函数极小值问题
C=(u,i)ϵK∑(rui−r^ui)2=(u,i)ϵK∑(rui−f=1∑FPu,kqi,k)2+λ∣∣pu∣∣2+λ∣∣qi∣∣2
LFM损失函数极值用梯度下降法求解
上面定义的损失函数里有两组参数Puf和qif,随机梯度下降法需要首先对它们进行分贝求偏导数
∂pik∂C=−2qik+2λpuk
∂qik∂C=−2puk+2λqik
然后,根据随机梯度下降法,需要将参数沿着最速下降方向向前推进,因此可以得到如下递推公式:
Puk=Puk+α(qik−λpuk)
qik=qik+α(puk−λqik)
其中,α是学习速率(learning rate),它的选取需要通过反复实现获得