ALS原理

来源:互联网 发布:淘宝直通车官网 编辑:程序博客网 时间:2024/04/23 20:18

推荐系统中添加用户评分偏好:

假设现在要预测june对the fox的评分值,假设所有歌曲的平均分是3.7分

而且the fox比一般神曲更好,所以the fox高于平均值假设为0.5分

我们假设june是一个非常严格的评分者,他评的分普遍低于平均分0.3分

所以june对the fox的评分制应该3.7+0.5-0.3分


1,用户隐式反馈包含purchase browsed watched...

2.用户属性(如人口特征属性)gender ageGroup income_level


然后我们在用户矩阵中加入1,2的信息,得到线性加权。


对于时间动态:

1,产品的功能特性,洞察力以及流行度是随时间变化发展的

2,用户的偏好,口味,价值观也是随时间不断变化的

对于矩阵分解模型,下面参数会随时间变化而变化:

1,用户离差

2,项目离差

3,用户偏好


基于矩阵分解常用的优化方法:

一种是交替最小二乘,交替优化用户特征矩阵和物品特征矩阵,思想就是EM的思想,期望最大化。交替优化用户特征矩阵和物品特征矩阵,在优化其一的时候固定另一个的值视为已知,这样就相当于每轮解决一个标准最小二乘问题,最后收敛到局部最优解。该方法的优点是收敛速度快,缺点是需要对用户数和物品数大小的方正求逆,难以规模化。


另一种是随机梯度下降,对每个用户与物品(评分矩阵的行和列)分别求偏导建立牛顿迭代公式,然后用可见评分顺序对这些迭代公式进行更新。该方法的优点是可以并行化,效率高,目前大规模矩阵分解都是用的这种方法:缺点可能是收敛速度没有第一种快。


模型并行化和数据平行化结合才是分布式机器学习的主流,ALS非常适合



0 0
原创粉丝点击