基于矩阵分解的模型
原理
- 根据用户与物品的潜在表现,我们就可以预测用户对未评分的物品的喜爱程度
- 把原来的大矩阵, 近似分解成两个小矩阵的乘积, 在实际推荐计算时不再使用大矩阵, 而是使用分解得到的两个小矩阵
- 用户-物品评分矩阵A是M X N维, 即一共有M个用户, N个物品 我们选一个很小的数 K (K << M, K << N)
- 通过计算得到两个矩阵U、V,U是M K矩阵 , V是 N K矩阵
$U{m_k} * V^T{nk}约等于约等于A{mn}U{mk} * V^{T}{nk}约等于约等于A_{mn}$
类似这样的计算过程就是矩阵分解基于矩阵分解的方法
ALS交替最小二乘
- ALS-WR(加权正则化交替最小二乘法): alternating-least-squares with weighted-λ –regularization
- 将用户(user)对商品(item)的评分矩阵分解为两个矩阵:一个是用户对商品隐含特征的偏好矩阵,另一个是商品所包含的隐含特征的矩阵。在这个矩阵分解的过程中,评分缺失项得到了填充,也就是说我们可以基于这个填充的评分来给用户做商品推荐了。
-
ALS方法

ALS的矩阵分解算法常应用于推荐系统中,将用户(user)对商品(item)的评分矩阵,分解为用户对商品隐含特征的偏好矩阵,和商品在隐含特征上的映射矩阵。
- 与传统的矩阵分解SVD方法来分解矩阵R(R∈ℝm×n)不同的是,ALS(alternating least squares)希望找到两个低维矩阵,以 R̃ =XY 来逼近矩阵R,其中 ,X∈ℝm×d,Y∈ℝd×n,这样,将问题的复杂度由O(mn)转换为O((m+n)d)。
- 计算X和Y过程:首先用一个小于1的随机数初始化Y,并根据公式求X,此时就可以得到初始的XY矩阵了,根据平方差和得到的X,重新计算并覆盖Y,计算差平方和,反复进行以上两步的计算,直到差平方和小于一个预设的数,或者迭代次数满足要求则停止
