文章目录(Table of Contents)
简介
这一篇文章会对推荐算法进行学习和总结, 也是整理一下自己在学习过程中查看到的资料. 所有的参考内容都写在了下面的参考资料中.
参考资料
- 协同过滤推荐算法总结--刘建平
- 推荐系统中协同过滤算法实现分析--这里有两张流程图值得分析
推荐算法概述
推荐算法, 简单概括可以分为下面的5种:
- 基于人口统计信息的推荐: 这一类是最简单的推荐算法了, 它只是简单的根据系统用户的基本信息发现用户的相关程度, 然后进行推荐, 目前在大型系统中已经较少使用.
- 基于规则的推荐: 这类算法常见的比如基于最多用户点击, 最多用户浏览等, 属于大众型的推荐方法, 在目前的大数据时代并不主流.
- 基于内容的推荐: 这一类一般依赖于自然语言处理NLP的一些知识, 通过挖掘文本的TF-IDF特征向量, 来得到用户的偏好, 进而做推荐. 这类推荐算法可以找到用户独特的小众喜好, 而且还有较好的解释性. 这一类由于需要NLP的基础.
- 协调过滤推荐: 协调过滤是推荐算法中目前最主流的种类, 花样繁多, 在工业界已经有了很多广泛的应用. 它的优点是不需要太多特定领域的知识, 可以通过基于统计的机器学习算法来得到较好的推荐效果. 最大的优点是工程上容易实现, 可以方便应用到产品中. 目前绝大多数实际应用的推荐算法都是协同过滤推荐算法.
- 混合推荐: 这个类似我们机器学习中的集成学习, 博才众长, 通过多个推荐算法的结合, 得到一个更好的推荐算法, 起到三个臭皮匠顶一个诸葛亮的作用. 比如通过建立多个推荐算法的模型, 最后用投票法决定最终的推荐结果. 混合推荐理论上不会比单一任何一种推荐算法差. 但是使用混合推荐, 算法复杂度就提高了, 在实际应用中有使用. 但是并没有单一的协调过滤推荐算法, 比如逻辑回归之类的二分类推荐算法广泛.
协调过滤推荐概述
协调过滤算法分类
协调过滤 (Collaborative Filtering)模型的简单描述: 有m个用户, n个商品. 只有部分用户和商品之间是有评分数据的, 有一些用户于商品的评分是空白的. 我们希望根据已有的稀疏数据来预测那些空白的用户与商品的评分关系. 找出最高评分的物品推荐给用户.
协调过滤模型分为下面的两个类:
- 基于用户的协调过滤 (user-based): 基于用户的协同过滤算法主要是考虑了用户与用户之间的相似度. 找出相似用户喜欢的物品, 并预测目标用户对相应的物品的评分, 可以找出评分最高的若干个物品推荐给用户.
- 特点: 可以帮助用户发现一些新类别的有惊喜的物品.
- 基于项目的协同过滤算法 (item-based): 基于项目的协调过滤算法会考虑商品与商品之间的相似度. 例如我们购买了一本机器学习的书籍, 这个时候会给你推荐一些其他的机器学习的材料. 这里就是使用了基于项目的协调过滤的思想.
- 特点: 推荐的多样性不是很好
除了上面的分类方法来说, 我们也可以通过协调过滤使用的方法 (model based)来进行分类.
基于模型的协调过滤
使用矩阵分解来进行协调过滤
基于矩阵分解的协同过滤矩阵文章:
基于神经网络进行协调过滤
- 微信公众号
- 关注微信公众号
-
- QQ群
- 我们的QQ群号
-
评论