标签:
推荐算法主要分为基于内容的算法和协同过滤. 协同过滤的两种基本方法是基于邻居的方法(基于内容/物品的协同过滤)和隐语义模型. 矩阵分解乃是实现隐语义模型的基石.
维的隐向量空间,
用户对物品的评分表示为两个向量的内积. 亦即, 每个物品
表示为向量
,
每个用户表示成向量
.
对于物品
,
向量
的元素表示的是物品
具有这些隐因子的程度,
对于用户
,
向量
表示的是用户对各个隐因子的兴趣,
元素的值可正可负. 两个向量的内积

是所以已知评分的用户-物品对,
控制着正则化的程度.


和
都是未知的,
所以公式2不是凸的. 但是, 当我们固定其中一个变量, 则2式变成一个二次函数, 能够被最优的求解. 所以ALS算法的思想就是交替的固定
和
,
然后求解另外一个变量的二次函数的最优值.
来对评分进行建模不是很好,
还需要加上一些偏置项. 一种一阶偏置项近似为:
描述的是所有评分的平均值,
描述的是用户和物品相对于
的偏差.

表示用户有隐反馈的物品.
系统可以通过这些物品来对用户建模, 亦即把每个物品表示成一个隐向量
,
则用户可以通过下式来描述:

表示用户的一些布尔属性,则隐向量
表示用户的某个属性,
用户的所有属性可以通过下式来描述:


设置权重
来解决上述问题:
标签:
原文地址:http://blog.csdn.net/winone361/article/details/51103054