LFM
LFM(Funk SVD) 是利用 矩阵分解的推荐算法:R = P * Q
整体过程如下图,将4*4的用户对商品的评分矩阵,拆解为两个矩阵:用户特征矩阵Q4*n、物品特征矩阵P4*n,最后求得新矩阵
接下来讨论,如何得到拆解的矩阵Q和P里的特征值,进而得到解R1
ALS
ALS:交替最小二乘法(Alternating Least Squares),是一种基于协同过滤思想的矩阵分解算法。其亮点之一就在于优化参数时使用了交替最小二乘法,而非梯度下降算法,使得ALS算法可以进行分布式并行计算
1.可以先为Q矩阵赋随机值,得到下面两个矩阵
科幻 | 悬疑 | |
---|---|---|
A | 1 | 2 |
B | -2 | 4 |
C | 3 | 1 |
D | 5 | 0 |
1 | 2 | 3 | 4 | |
---|---|---|---|---|
科幻 | x11 | x12 | x13 | x14 |
悬疑 | x21 | x22 | x23 | x24 |
2.根据原矩阵和Q矩阵,来求解P矩阵
1 * x11 + 2 * x21 = ?
1 * x12 + 2 * x22 = 4.5
........................
得到P矩阵,然后固定P矩阵,来求解Q矩阵,交替求解,直到损失达到阈值,或到达迭代次数即可求得新矩阵