LFM和ALS的理解

LFM

LFM(Funk SVD) 是利用 矩阵分解的推荐算法:R = P * Q

 整体过程如下图,将4*4的用户对商品的评分矩阵,拆解为两个矩阵:用户特征矩阵Q4*n、物品特征矩阵P4*n,最后求得新矩阵

LFM和ALS的理解_第1张图片接下来讨论,如何得到拆解的矩阵Q和P里的特征值,进而得到解R1

ALS

ALS:交替最小二乘法(Alternating Least Squares),是一种基于协同过滤思想的矩阵分解算法。其亮点之一就在于优化参数时使用了交替最小二乘法,而非梯度下降算法,使得ALS算法可以进行分布式并行计算

1.可以先为Q矩阵赋随机值,得到下面两个矩阵

Q
科幻 悬疑
A 1 2
B -2 4
C 3 1
D 5 0
P
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矩阵,交替求解,直到损失达到阈值,或到达迭代次数即可求得新矩阵

LFM和ALS的理解_第2张图片

你可能感兴趣的:(机器学习,python,算法)