LFM隐语义模型的算法简介

在这里插入图片描述
对最优化理论或者机器学习有所了解的读者,可能对如何计算这两个参数都比较清楚。这两个参数是从数据集中计算出来的。要计算这两个参数,需要一个训练集,对于每个用户 u ,训练集里都包含了用户 u 喜欢的物品和不感兴趣的物品,通过学习这个数据集,就可以获得上面的模型参数。
推荐系统的用户行为分为显性反馈和隐性反馈。 LFM 在显性反馈数据(也就是评分数据)上解决评分预测问题并达到了很好的精度。不过本章主要讨论的是隐性反馈数据集,这种数据集的特点是只有正样本(用户喜欢什么物品),而没有负样本(用户对什么物品不感兴趣)。
那么,在隐性反馈数据集上应用LFM解决TopN推荐的第一个关键问题就是如何给每个用户生成负样本。
对于这个问题,Rong Pan在文章中进行了深入探讨。他对比了如下几种方法。
 对于一个用户,用他所有没有过行为的物品作为负样本。
 对于一个用户,从他没有过行为的物品中均匀采样出一些物品作为负样本。
 对于一个用户,从他没有过行为的物品中采样出一些物品作为负样本,但采样时,保证每个用户的正负样本数目相当。
 对于一个用户,从他没有过行为的物品中采样出一些物品作为负样本,但采样时,偏重采样不热门的物品。
对于第一种方法,它的明显缺点是负样本太多,正负样本数目相差悬殊,因而计算复杂度很高,最终结果的精度也很差。对于另外3种方法,Rong Pan在文章中表示第三种好于第二种,而第二种好于第四种。
对负样本采样时应该遵循以下原则。
 对每个用户,要保证正负样本的平衡(数目相似)。
 对每个用户采样负样本时,要选取那些很热门,而用户却没有行为的物品。
一般认为,很热门而用户却没有行为更加代表用户对这个物品不感兴趣。因为对于冷门的物品,用户可能是压根没在网站中发现这个物品,所以谈不上是否感兴趣。
然后,需要优化如下的损失函数来找到最合适的参数p和q:
在这里插入图片描述
在这里插入图片描述
其次,我们通过实验对比了LFM在TopN推荐中的性能。在LFM中,重要的参数有4个:
 隐特征的个数 F ;
 学习速率 alpha ;
 正则化参数 lambda ;
 负样本/正样本比例 ratio 。
通过实验发现, ratio 参数对LFM的性能影响最大。

猜你喜欢

转载自blog.csdn.net/qq_39905917/article/details/87122052