推荐算法综述1推荐系统目的:解决信息过载问题宗旨:为用户快速找到其所需要的信息2推荐系统基于内容的推荐基于协同过滤的推荐基于混合的推荐基于模型的推荐基于内存的推荐聚类技术、关联规则挖掘、贝叶斯网络、神经网络等等基于用户的推荐基于项目的推荐经典的推荐技术3基于用户基于项目如果大部分用户对一些项的评分比较相似,则当前用户对这些项的评分也比较相似如果一些用户对某一类项目的打分比较接近,则他们对其它类项目的打分也比较接近。协同过滤--------基于内存4协同过滤--------基于内存表示邻居用户形成推荐生成5开始读入用户评分计算用户相似性根据用户相似性排序选择前K个邻居根据K近邻的评分项目预测用户评分选择预测评分最高的前N个项目作为推荐列表结束协同过滤--------基于内存表示邻居用户形成推荐生成6用户相似性:皮尔逊相关系数𝑠𝑖𝑚𝑖,𝑗=ru,i−ru∗(rv,i−rv)i∈(Iu∩I(v))ru,i−ru2∗rv,i−rv2i∈(Iu∪I(v))i∈(Iu∪I(v))余弦相关系数𝑠𝑖𝑚𝑢,𝑣=(𝑟𝑢,𝑖−𝑟𝑢)∗(𝑟𝑣,𝑖−𝑟𝑣)𝑖∈𝐼(𝑢)∩𝐼(𝑣)(𝑟𝑢,𝑖−𝑟𝑢)2∗(𝑟𝑣,𝑖−𝑟𝑣)2𝑖∈𝐼(𝑣)𝑖∈𝐼(𝑢)杰卡德相关系数𝐽𝑎𝑐𝑐𝑎𝑟𝑑𝐴,𝐵=𝐴∩𝐵𝐴∪𝐵协同过滤--------基于内存7产生用户的项目预测评分:𝑃𝑢𝑖=𝑅𝑢+𝑠𝑖𝑚𝑢,𝑢𝑘∗(𝑅𝑢𝑘,𝑖−𝑅𝑢𝑘)𝑢𝑘∈𝑈|𝑠𝑖𝑚𝑢,𝑢𝑘|𝑢𝑘∈𝑈产生推荐列表:选择其中评分最高的前N项协同过滤--------基于内存8协同过滤--------基于内存缺点:稀疏性问题冷启动问题可扩展性问题实时性问题9协同过滤——--基于模型实时性问题可扩展性问题稀疏性问题10协同过滤——--基于模型将建模技术运用到协同过滤算法中,采用一定方法训练相关历史数据建立模型,当用户到达时,只需扫描一遍评分数据库就能确定目标用户相对比较喜欢的项目,来实现在线预测推荐。线下:模型建立(数据挖掘技术)模型具有滞后效应,需要周期性更新模型建立算法复杂,耗时,必须线下进行线上:推荐性能的优劣关键在于好的模型建立与否,好的模型相对原始数据集而言小得多却能挖掘出用户和项目之间更多的潜在关系,一定程度上缓解了推荐算法的实时性问题。11协同过滤——--基于模型聚类12聚类一个集群一旦形成之后,在这个集群中的其他用户的观点可以被加权地用来作为为个人用户推荐的依据。集群内部的相似性很高,而不同集群间的相似度很低某些聚类算法中,一个用户可以同时属于不同的集群,只是所占的比不同,最后的推荐结果通过用户所占不同集群的权重加权求和来获得优点:聚类技术能够有效地减少在协同过滤出算法中的候选集,提高算法效率协同过滤——--基于模型13基于内容的推荐项目或对象通过相关特征的属性来定义,而用户的兴趣通过用户所评价对象的特征来获取,依据目标用户兴趣资料与待预测项目的匹配程度进行推荐在文本信息方面应用最为成功。NewsDude、LIBBR1415基于内容的推荐优点:即使用户没有对新加入的项目做出评分,该算法也有能力为用户做出推荐。如果不同的用户并不共享他们对于项目的评分信息,基于内容的推荐算法也能应对自如如果用户的偏好发生了变化,它能够在极短的时间内做出调整并完成推荐。给为用户做出的推荐列表做出合理的解释16组合推荐原则:通过组合后应能避免或弥补单独的推荐技术各自的缺陷。17组合推荐混合方式推荐结果混合:多种推荐方法各自产生推荐结果,将推荐结果组合。(投票机制)推荐算法混合:以一种推荐方法为框架,混合其他推荐方法。以协同过滤推荐方法为框架,融合基于内容的推荐方法和基于人口统计的推荐方法18Thanks19