• 阅读笔记:Item-based Collaborative Filtering Recommendation Algorithms


    概要:
    推荐系统通过信息获取技术解决在线的个人的消息、产品或者服务的推荐问题。这些系统,特别是基于k临近协同过滤算法,在网络上取得了广泛的成功。可用信息和访问人数的巨大增加成了推荐系统一个难题。基于商品的协同过滤推荐算法应运而生,通过分析用户特征矩阵计算推荐信息。本文主要分析不同的基于商品的推荐算法,还会同k临近过滤算法比较,同时提供比现存最好的基于用户算法更好的算法。
    一、协同过滤算法分类
    协同过滤算法主要分为:1.基于存储 2.基于模型
    基于存储:它利用整个用户商品数据来产生预测,使用静态的方法找到相似用户,他们评价了不同的商品但是评价相似或者他们想买相似的商品,一旦形成相似组群,系统就会整合组群来产生预测。这种方法也被叫做临近算法或者基于用户的协同过滤算法,得到广泛的应用。
    面临的问题:
    1.稀疏问题:商品很多,即使是非常爱买东西的用户买的物品可能都不会超过总商品的1%。
    2.性能:计算量随着用户和商品的增加而增加。因此数据量一大性能就降低。 
    基于模型:它通过产生一个用户评分模型来推荐,这个算法采用了概率论的方法,通过用户给出的期望价值来给其他商品打分,这个模型通过机器学习算法比如贝叶斯网络, clustering, 和 rule-based等等实现的。贝叶斯网络模型为协同过滤算法提供了一个概率模型,Clustering模型把协同过滤算法当成一个分类问题,通过将相似者分组然后估计该客户在这个类别的可能性,通过这些来计算商品评分的可能性。rule-based通过共同购买的商品的相关度来产生基于商品相关度的推荐。
    二、协同过滤算法用到的度量技术
    商品相似度:
    1.cosine相似度:只考虑item向量的点积
    2.correlation-based相似度(Pearson相似度):考虑了item的平均评分
    3.adjusted cosine相似度:考虑了用户对item的平均评分
    预测计算:
    1.使用相似度加权平均
    2.使用回归模型。使用加权平均时,采用的与预测物品i相似的物品 j的相似度Sim j* j的评分Rj。而使用回归模型时,它会计算出一个线性回归 f(j) =α*avg(Rj) + β + ξ,从而计算出一个不同于Rj的分值,然后再使用加权平均。
    评价系统好坏的方式:
    1.statistical accuracy metrics:MOE、RMSE
    2.decision support accuracy metrics:reversal rate, weighted errors, ROC
    三、结论
    1.基于物品的算法预测结果要比基于用户的算法预测结果好
    2.基本的基于物品的算法,模型大小越大,推荐质量越好,但是基于回归的物品算法,先是随着模型大小增加而增加,之后质量下降。
    3.adjusted cosine similarity效果比较好

  • 相关阅读:
    各种排序算法java实现,好文,做个备份
    一个SQL语句
    StrutsLayout tag library 1.1发布
    “单击将本站加入收藏夹”的代码
    IE无法上网连接的解决办法
    字符问题!
    Time Tracker Starter Kit 简介
    谈恋爱是百年好合的事
    一个sql语句
    ASP.NET 中的自定义脚本回调
  • 原文地址:https://www.cnblogs.com/herumw/p/9466401.html
Copyright © 2020-2023  润新知