1 min to read
奇异值分解
首先要明确的是数学领域的奇异值分解和推荐系统下的奇异值分解是有区别的,广义上来讲都算作是奇异值分解;
数学上的奇异值分解
推荐系统中的奇异值分解
实际上来讲,这里叫矩阵分解更合适一些;
假设有m个用户,n个商品;构成m×n的矩阵Am×n,元素的值是用户对物品的评分,矩阵是稀疏的,因为大部分用户和产品并没有连接关系;
- 最简单的奇异值分解
Am×n≈Um×k×In×kT
实际上跟深度学习里面的embedding很类似,为每一个用户、每一个物品赋予一个隐式向量;
用户u对物品i的评分就是用户u的隐式向量和物品i的隐式向量的点积 - 考虑偏置
用户u对物品i的评分就是用户u的隐式向量和物品i的隐式向量的点积 加上 用户u对应的偏置 加上 物品i对应的偏置 加上 整体偏置 -
SVD++ 考虑用户的隐式行为
在SVD基础之上,用户向量由用户的隐式向量、用户隐式行为向量、用户画像向量 这些向量求和得到用户向量,然后再跟物品向量做点积 - 考虑时间衰减
求解方法
-
梯度下降
-
交替最小二乘
此方法更常用
Comments