协同过滤算法
协同过滤算法:
- 收集用户偏好
- 找到相似的用户或商品
- 计算推荐
相似度计算
1.欧氏距离
2.欧几里德距离
3.皮尔逊相关系数(1111
协方差
标准差
皮尔逊相关系数=协方差/标准差
趋近于-1负相关,趋近于1正相关
4.Cosine相似度
基于用户的协同过滤(不太流行
要解决的问题
- 已知用户的评分矩阵
- 推断矩阵中空格的值
存在的问题:
- 新用户
- 物品没被打分
解决方案
- 相似度计算用皮尔逊相似度
- 考虑共同打分物品的数目
- 对打分归一化处理
- 设置相似度阈值
缺点
- 数据稀疏
- 计算量大
- 人是善变的
基于物品的协同过滤
优势
- 计算性能高,通常用户数量大于物品数量
- 可预先计算保留,物品并不善变
用户冷启动问题
- 引导用户把自己的一些属性表达出来
- 利用现有的开放数据平台
- 根据用户注册属性
- 推荐排行榜单
物品冷启动问题
- 文本分析
- 主题模型
- 打标签
- 推荐排行榜单
两种协同过滤算法的对比:
---- | 基于用户 | 基于物品 |
---|---|---|
性能 | 适用于用户较少 | 适用于物品数明显小于用户数 |
领域 | ||
实时性 | ||
冷启动 | ||
推荐理由 | 很难提供令用户信服的推荐解释 | 可以根据用户的行为归纳推荐理由 |