推荐系统简单总结
- 前言
- 一、协同过滤(collaborative filtering)
- 1.基于记忆(memory-based)
- 2.基于模型(model-based)
- 二、基于内容
- 三、基于网络
- 1. HHP
- 2. PD
- 四、其他推荐算法
- 总结
前言
本文章将就现有的推荐系统做一个简单总结,可能不全面,欢迎补充。
一、协同过滤(collaborative filtering)
1.基于记忆(memory-based)
基于记忆的算法主要是针对相似性对用户进行推荐,又分为UCF和OCF。
UCF:生成用户相似度矩阵,向用户推荐与其兴趣相似的用户所收集的物品。
OCF:生成物品相似度矩阵,向用户推荐与其已收集的物品相似的物品。
相似性度量:皮尔逊相关性、余弦相似度、欧式距离等
2.基于模型(model-based)
虽然和基于记忆的算法一样,都是利用已收集的数据对物品进行打分预测。但基于模型的算法不同之处在于,其并不是基于启发规则进行预测,而是利用统计和机器学习的模型进行预测。
常用模型:聚类模型、贝叶斯网络,极大熵模型、语义生成模型等。
—————————————————————
优点:
可以推荐新信息即用户自己未发现的兴趣点;
可以推荐电影等较难内容分析的产品,不用分析内容特征,而是利用相似性刻画。
缺点:
面临冷启动(即向新用户进行推荐)等问题;
算法计算量过大导致性能较差。
二、基于内容
基于内容的推荐系统在对用户和产品建立配置文件后,利用机器学习等技术分析内容并提取特征,从而计算相似性进行推荐,其重点在于信息获取与过滤。
例如TF-IDF、决策树、人工神经网络等相关方法都可以用于训练模型进行预测。
—————————————————————
优点:
可以利用配置文件处理冷启动问题;
不受打分稀疏性的约束;
同样可以推荐新信息即用户自己未发现的兴趣点;
具有一定的可解释性
缺点:
受到信息获取技术的约束。
三、基于网络
基于网络的算法主要是建立用户-产品的二部图网络,从而利用热传导(HC)和物质扩散(MD)等的方法进行预测与推荐。下面主要介绍几种基于网络的推荐系统算法。
1. HHP
该算法[2]结合了热传导和物质扩散算法,主要公式如下。其中英文字母表示用户,希腊字母表示物品,β为传播资源的物品,α为接收资源的物品,k为度。
而在HHP算法中,若令参数等于0则为HeatS(HC)算法,若为1则变为ProbS(MD,NBI)算法。
2. PD
该算法有点类似HHP算法,公式如下。其中,m 为用户个数,β为传播资源的物品,α为接收资源的物品。
—————————————————————
以上只是简单列举,具体可参看相关文献。
此外,例如电影音乐等,推荐小度节点可能更有价值,同时去掉重复属性也可以提高准确度。在这方面还可以用SVD和TSVD等方法来降维和提取主要特征。但其也面临着冷启动问题。总之可研究点非常多。
四、其他推荐算法
除了以上的推荐算法外,可以将上述算法进行结合,比如基于内容和协同过滤算法,形成混合推荐系统,同样也有不错的效果。还有关联规则分析等其他算法,但要注意具体问题具体分析应用。