实现协同过滤,需要的步骤

  1. 收集好用户偏好,如评分
  2. 找到相似的用户和物品
  3. 计算推荐

用户物品联系图

协调过滤

相似的计算,通过距离

协调过滤

几种距离计算

  • 欧几里得距离
  • 皮尔逊相关系数
  • cosine相似的
    协调过滤

皮尔逊距离

  • 协方差
  • 皮尔逊相关系数
  • pearson相关系数是用协方差除以两个变量的标准差得到的
    协调过滤
    相关系数
    协调过滤

推荐系统最常用的

  1. 皮尔逊相关系数最常用

邻居的选择

  • A、固定数量的邻居
  • B、基于相似度门槛的邻居(推荐)
    协调过滤

基于用户的协调过滤

协调过滤

基于用户的协调过滤要解决的问题

  • 已经用户评分矩阵Matrix R(一般都是非常稀疏的)
  • 推荐矩阵中空格empty cells处的值
    *协调过滤

UserCF存在的问题issues

  • 对于一个新用户,很难找到邻居用户
  • 对于一个物品,所有最近的邻居都再其上没有多少打分
基础解决方案
  1. 相似度计算最好用皮尔逊相似度
  2. 考虑共同打分物品的数目,如乘min(n,N)/N n:共同打分数,N:指定阈值
  3. 对打分进行归一化处理
  4. 设置一个相似度阈值

基于用户的协同过滤为啥不流行,用的少

  1. 稀疏问题
  2. 数百万的用户数据量,两两相比数据量比较大
  3. 人是善变的

基于物品的协调过滤

协调过滤

基于物品的协调过滤优势

  • 计算性能高,通常用户数量远大于物品数量
  • 可预先计算保留,物品并不善变
    协调过滤
    物品相似度,不是根据物品本身属性的相似,而是根据用户对于物品评分,及用户与物品的关系的相似

冷启动

用户冷启动

  • 引导用户把一些属性表达出来
  • 利用现有的开放数据平台
  • 根据用户注册属性
  • 推荐排行榜单(推荐,稳妥,不出错)

物品冷启动

  • 文本分析
  • 主题模型
  • 打标签
  • 推荐排行榜

对比用户协同和物品协同协调过滤

使用场景

  • 基于用户:实时新闻、突发情况
  • 基于物品:图书、电子商务、电影、等等

相关文章:

  • 2021-10-19
  • 2021-08-06
  • 2021-12-02
  • 2021-10-22
  • 2022-12-23
猜你喜欢
  • 2021-11-23
相关资源
相似解决方案