1. LFM算法基本内容
输入:user对item的点击矩阵
参数:每一个user的向量表示和每一个item的向量表示
方式:用user矩阵和item矩阵的矩阵乘 拟合 user对item的点击矩阵
2. LFM应用普适场景:
2.1 获取user的item推荐列表、
2.2 获取item间的相似度列表、
2.3 挖掘item间隐含topic
3. 实例:
3.1 输入:user对item的点击矩阵(1代表点击、0代表未点击)
item1 | item2 | item3 | |
user1 | 1 | 0 | 1 |
user2 | 0 | 1 | 0 |
user3 | 1 | 1 | 0 |
3.2 输出:
user1:[0.123, 0.325, ..., 0.623], ...
item1:[0.214, 0.034, ..., 0.241], ...
3.3 user和item的向量维度是自定义的,用user与item作内积即可判断user对item的偏好
4. LFM应用具体场景
4.1 计算用户的item top like、
4.2 计算item的item top sim、
4.3 计算item的topic
5. LFM建模公式
其中,表示user对item的点击关系,若user点击了item则,否则、表示向量的维度。
模型最终输出的是和,即user和item分别的vector表达形式
6. LFM损失函数 loss function
其中,是监督模型的label、是模型估计的user对item的点击关系、是所有样本的集合。为了避免过拟合,在损失函数中增加正则化项(是正则化参数),如下公式所示:
7. LFM算法迭代,求梯度
使用梯度下降的方法,可以得到和的迭代更新公式,表示学习率:
8. 影响LFM算法的不同情况
8.1 负样本选取 负样本比正样本多得多,因此选取充分展现但用户无点击的item作为负样本;
8.2 模型参数:隐特征 (10~32之间)、正则参数 (0.01~0.05之间)、learning rate 学习率 (0.01~0.05之间)
9. LFM vs item CF
9.1 理论基础 LFM使用隐特征基于平方误差训练监督学习模型;
9.2 离线计算空间时间复杂度 LFM需要的空间复杂度更低;
9.3 在线推荐与推荐解释。