推荐算法实现思路

目录

  • 最经典的推荐算法:协同过滤推荐算法
  • 基于回归模型的协同过滤推荐
  • LFM算法思路
  • BiasSvd算法思路
  • 基于内容的电影推荐

最经典的推荐算法:协同过滤推荐算法

算法思想:物以类聚,人以群分
基本的协同过滤推荐算法基于以下假设:

  • “跟你喜好相似的人喜欢的东西你也很有可能喜欢” :基于用户的协同过滤推荐(User-based CF)
  • “跟你喜欢的东西相似的东西你也很有可能喜欢 ”:基于物品的协同过滤推荐(Item-based CF)

推荐算法实现思路_第1张图片

  • 相似度计算:使用pandas的corr()方法来计算相似度

  • 结果如下:
    推荐算法实现思路_第2张图片

  • 评分预测公式
    在这里插入图片描述

  • 使用用户间的相似度进行预测:
    在这里插入图片描述

  • 使用物品间的相似度进行预测:
    在这里插入图片描述

  • 案例–基于协同过滤的电影推荐
    分别就算出用户1对各种电影的评分
    推荐算法实现思路_第3张图片

然后进行排序,挑选评分排名前20的电影
推荐算法实现思路_第4张图片

基于回归模型的协同过滤推荐

预测用户对物品的评分:
在这里插入图片描述
举例:通过Baseline来预测用户A对电影“阿甘正传”的评分

  • 首先计算出整个评分数据集的平均评分 μ 是3.5分

  • 用户A比较苛刻,普遍比平均评分低0.5分,即用户A的偏置值 bi 是-0.5;

  • “阿甘正传”比较热门且备受好评,评分普遍比平均评分要高1.2分,“阿甘正传”的偏置是+1.2

  • 因此就可以预测出用户A对电影“阿甘正传”的评分为: 3.5+(−0.5)+1.2 ​,也就是4.2分。

  • 利用平方差构建损失函数
    推荐算法实现思路_第5张图片
    推荐算法实现思路_第6张图片

  • 梯度下降参数更新公式
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

LFM算法思路

  • 利用平方差来构建损失函数:
    推荐算法实现思路_第7张图片

加入L2正则化
在这里插入图片描述

  • 梯度下降更新参数 puk和qik:
    在这里插入图片描述

BiasSvd算法思路

  • 利用BiasSvd预测用户对物品的评分,k表示隐含特征数量:
    在这里插入图片描述

  • 利用平方差来构建损失函数
    推荐算法实现思路_第8张图片

  • 梯度下降更新参数
    推荐算法实现思路_第9张图片

基于内容的电影推荐

用户画像构建步骤:

  • 根据用户的评分历史,结合物品画像,将有观影记录的电影的画像标签作为初始标签反打到用户身上
  • 通过对用户观影标签的次数进行统计,计算用户的每个初始标签的权重值,排序后选取TOP-N作为用户最终的画像标签

物品画像构建步骤:

  • 利用每部电影的标签作为电影的候选关键词
  • 利用TF·IDF计算每部电影的标签的tfidf值,选取TOP-N个关键词作为电影画像标签
  • 将电影的分类词直接作为每部电影的画像标签

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