协同过滤推荐算法的入门案例

目录


推荐算法的核心是预测用户可能喜欢的内容,并据此进行推荐。这里用一个非常简单的电影推荐案例,解释最常见的协同过滤原理。

数据介绍

假设有3个用户(小明、小红、小刚)对4部电影的评分(1~5分),未评分的用"-"表示:

已经采集到的数据如下:

用户 复仇者 钢铁侠 爱情故事 雷神
小明 5 4 - 2
小红 4 5 3 -
小刚 1 2 5 4

目标:

为小明推荐他可能感兴趣的电影(比如《雷神》评分低,可不推荐;《爱情故事》未评分,是否需要推荐?)

数据映射

数组:

\[ 5, 4, 0, 2

4, 5, 3, 0

1, 2, 5, 4\]

计算相识度

推荐的原理就是计算目标用户和其他用户的相识度,推荐相识度高喜欢的作品给他。

找到相似用户的步骤:(常用方法:余弦相似度)

  • 小明 vs 小红:共同评分的电影是《复仇者》《钢铁侠》。

    • 小明的评分向量:[5, 4]
    • 小红的评分向量:[4, 5]
    • 余弦相似度 = (5×4 + 4×5) / (√(5²+4²) × √(4²+5²)) ≈ 0.98(非常相似)
  • 小明 vs 小刚:共同评分的电影是《雷神》,但小明和小刚对《雷神》评分差异大(小明2分,小刚4分),相似度低。

  • 结论:小红和小明兴趣最接近。

补充

余弦相似度(Cosine Similarity)是一种衡量两个向量方向相似程度的指标,常用于推荐系统、文本分析等领域。它的核心思想是:通过计算两个向量之间的夹角余弦值,判断它们的方向是否接近。方向越接近,余弦值越接近1;方向相反则接近-1;垂直则为0。

余弦相似度 = A * B / ||A|| * ||B|| = (5×4 + 4×5) / (√(5²+4²) × √(4²+5²)) ≈ 0.98(非常相似)

看图理解,

两根绿线的夹角较小,表示更相似。

一个绿线和蓝线所形成的夹角大,就相对没那么相似。

扩展

  • 基于内容的推荐:分析电影特征(如类型、导演),推荐相似属性的电影(如喜欢《钢铁侠》→ 推荐科幻片)。

  • 混合推荐:结合协同过滤和内容过滤,提高准确性。

预测偏好

简单预测

假设要预测小明对《爱情故事》的评分,已知:

小红与小明相似度 0.98,对《爱情故事》评分为 3;

小刚与小明相似度 1.0,对《爱情故事》评分为 5。

直接取平均:(3+5)/2=4 → 但未考虑相似度差异。

采用加权(多用户加权)

加权平均的原理

核心思想:相似度高的用户意见更重要,应赋予更高权重。

预测小明对《爱情故事》电影的评分是 4.01分,评分较高,值得推荐。

总结

案例很简单,主要用到如下数学概念:

  • 二维矩阵
  • 余弦相似
  • 加权平均
相关推荐
液态不合群17 小时前
推荐算法中的位置消偏,如何解决?
人工智能·机器学习·推荐算法
B站_计算机毕业设计之家18 小时前
豆瓣电影数据采集分析推荐系统 | Python Vue Flask框架 LSTM Echarts多技术融合开发 毕业设计源码 计算机
vue.js·python·机器学习·flask·echarts·lstm·推荐算法
B站_计算机毕业设计之家1 天前
豆瓣电影推荐系统 | Python Django Echarts构建个性化影视推荐平台 大数据 毕业设计源码 (建议收藏)✅
大数据·python·机器学习·django·毕业设计·echarts·推荐算法
WHD3062 天前
苏州误删除 格式化 服务器文件 恢复
随机森林·支持向量机·深度优先·爬山算法·宽度优先·推荐算法·最小二乘法
计算机学姐2 天前
基于SpringBoot的民宿预定管理系统【三角色+个性化推荐算法+数据可视化统计】
java·vue.js·spring boot·mysql·信息可视化·intellij-idea·推荐算法
计算机学姐2 天前
基于SpringBoot的校园社团管理系统
java·vue.js·spring boot·后端·spring·信息可视化·推荐算法
计算机学姐2 天前
基于SpringBoot的电影点评交流平台【协同过滤推荐算法+数据可视化统计】
java·vue.js·spring boot·spring·信息可视化·echarts·推荐算法
散峰而望4 天前
【算法竞赛】树
java·数据结构·c++·算法·leetcode·贪心算法·推荐算法
B站_计算机毕业设计之家4 天前
AI大模型:Deepseek美食推荐系统 机器学习 协同过滤推荐算法+可视化 Django框架 大数据毕业设计(源码)✅
python·算法·机器学习·数据分析·django·推荐算法·美食
毕设源码-钟学长6 天前
【开题答辩全过程】以 基于协同过滤推荐算法的小说漫画网站设计与实现为例,包含答辩的问题和答案
算法·机器学习·推荐算法