推荐算法

本文最后更新于:2024年6月21日 凌晨

协同过滤算法

物品1 物品2 物品3 物品4 物品5
Alice 5 3 4 4
用户1 3 1 2 3 3
用户2 4 3 4 3 5
用户3 3 5 1 5 4
用户4 1 3 5 2 1
  • 基于用户(User)的协同过滤:Alice用户2相似,所以预测为5。
  • 基于商品(Item)的协同过滤:物品5物品3相似,Alice对物品3打了4分,所以预测物品5也为4。

相似度计算

余弦相似度

衡量用户向量ij之间的夹角,夹角越小,说明相似度越大,两个用户越相似。

局限性:对于【评分不规范】,存在有些用户喜欢打高分或喜欢打低分,会影响相似度计算结果。

皮尔逊相关系数

相对于余弦相似性,皮尔逊相关系数通过用户平均对个独立评分进行修正,减少用户评分偏置的影响。

其他

  • 欧氏距离
  • 曼哈顿距离
  • 马氏距离

Funk SVD 算法

  1. 传统SVG在缺失问题上的问题

    历史上对缺失值的研究有很多,对于一个没有被打分的物品来说,到底是应该给它补一个 0 值,还是应该给它补一个平均值呢?由于在实际过程中,元素缺失值是非常多的,这就导致了早期的 SVD 不论通过以上哪种方法进行补全在实际的应用之中都是不可以被接受的。

  2. 加入偏移项后的 Funk-SVD

    在预测模型中添加三项偏移的模型,被称为 BaisSVD。

    • Biased Item : (物品偏移), 表示了物品接受的评分和用户没有多大关系,物品本身质量决定了的偏移。
    • Biased User : (用户偏移), 有些用户喜欢打高分,有些用户喜欢打低分,用户决定的偏移。
    • Biased Mean : (全局平均值偏移),根据网站全局打分设置的偏移,可能和整体用户群和物品质量有相对应的关系。
  3. 公式说明:

    符号含义:
    $\gamma$ rates 学习率
    $\lambda$ regularization 正则化项
    b biased 偏移


推荐算法
https://junyyds.top/2023/06/16/推荐算法/
作者
Phils
发布于
2023年6月16日
更新于
2024年6月21日
许可协议