说明:资料都来至网络,收集起来方便自己看;
1、推荐算法就是利用用户的一些行为,通过一些数学算法,推测出用户可能喜欢的东西。
2、推荐算法分两种:
(1)基于内容的推荐
基于内容的信息推荐方法的理论依据主要来自于信息检索和信息过滤;即根据用户过去的浏览记录来向用户推荐其没有接触过的推荐项。
主要是从两个方法来描述基于内容的推荐方法:启发式的方法和基于模型的方法。
启发式的方法就是用户凭借经验来定义相关的计算公式,然后再根据公式的计算结果和实际的结果进行验证,然后再不断的是修改公式以达到最终目的。
模型的方法就是根据以往的数据作为数据集,然后根据这个数据集来学习出一个模型。
一般的推荐系统中运用到的启发式的方法就是使用tf-idf的方法来计算,跟还有tf-idf的方法计算出这个文档中出现权重比较高的关键字作为描述用户特征,并使用这些关键字作为描述用户特征的向量;然后再根据被推荐项的中的权重高的关键字来作为推荐项的属性特征,然后再将这个两个向量最相近的(与用户特征的向量计算得分最高)的项推荐给用户。在计算用户特征向量和被推荐项的特征向量的相似性时,一般使用的是cosine方法,计算两个向量之间夹角的cosine值。
(2)基于协同过滤的推荐
基于协同过滤的推荐算法,它理论上可以推荐世界上的任何一种东西。图片、音乐、样样可以。
协同过滤算法主要是通过对未评分项进行评分、预测来实现的。
不同的协同过滤之间也有很大的不同。
基于用户的协同过滤算法 这种算法基于一个这样的假设“跟你喜好相似的人喜欢的东西你也很有可能喜欢。”
所以基于用户的协同过滤主要的任务就是找出用户的最近邻居,从而根据最近邻 居的喜好做出未知项的评分预测。
这种算法主要分为3个步骤:
一、用户评分。可以分为显性评分和隐形评分两种。
显性评分就是直接给项目评分(例如给百度里的用户评分)
隐形评分就是通过评价或是购买的行为给项目评分 (例如在有啊购买了什么东西)。
二、寻找最近邻居。
这一步就是寻找与你距离最近的用户,测算距离一般采用以下三种算法:
1.皮尔森相关系数。
2.余弦相似性。
3调整余弦相似性。 调整余弦相似性似乎效果会好一些。
三、推荐。
产生了最近邻居集合后,就根据这个集合对未知项进行评分预测。把评分最高的N个项推荐给用户。
这种算法存在性能上的瓶颈,当用户数越来越多的时候,寻找最近邻居的复杂度也会大幅度的增长。
因而这种算法无法满足及时推荐的要求。基于项的协同过滤解决了这个问题。
基于项的协同过滤算法 根基于用户的算法相似,只不过第二步改为计算项之间的相似度。
由于项之间的相似度比较稳定可以在线下进行,所以解决了基于用户的协同过滤算法存在的性能瓶颈。