基于专家意见-推荐系统经典the wisdow of the few

图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
图片.png
图片.png

开篇:大概介绍了最临近协同过滤算法的优点缺点。
缺点:对数据噪音和稀疏度不能很好处理,有冷启动问题(是什么?),扩展度低(在哪个的拓展度)
优点:解决了传统临近算法的缺点(哪些缺点?),也保证了比较正确率(怎样保证的?)

提出目标:怎样使用少量数据去预测大量人群的喜好,理解使用潜在的独立、不相关的数据集去生成推荐,
分析是否能使用专业的评论很好的预测普遍行为,讨论如何避免传统的陷阱在cf中

数据收集中,采用了爬取网络评论方式得到数据,使用百分之50的电影数代表了所有电影。因为大多数评级太低而去除,
最后剩下少量符合标准的数据。

数据分析:为了比较专家数据和普遍数据的好坏。
用了CDF图(概率分布图),该图的函数是F(x)=P(X<=x)
图1:每部电影的用户、专家评论数 每个人的评论的电影数
结论:每部电影至少有一个专家评论,且评论数不会超过100.而用户评论数在0-10000不等
每个专家至少评论400个电影,而有的用户没有评论过电影。且评论超过400部电影的用户只有百分之10
专家的系数系数更低

图2:每部电影的平均评级,每个用户给出的的平均评级(评论的总分数/评论的总电影数)
结论:用户对每部电影的平均给分较为集中,百分之10的电影低于0.45,百分之10的大于0.6.而专家对电影平均分比较分散,百分之10低于0.4,百分之10高于0.8
一般用户评分波动较大,而专家波动较小。这说明一般用户容易根据偏好来对电影做评价,而专家更加客观

图三:每部电影的评分标准误差,每个人的评分标准误差(对误差的理解是 所给评分较平均值的波动程度)
结论:专家误差范围比较分散在0-0.35。而用户的误差最低都是0.2。
对于每个用户,专家评级波动小,而用户的评级波动大。

分析结果:专家集和普通用户集大有不同。专家集更加的稀疏,专家的评级范围更大(不止限于某一类)。他们对
好的电影都持几乎相同的意见。他们的评级偏离更少。

最临近算法。采用的knn算法。距离取值用的是余弦相似度。但是它应该属于余弦相似度的一个变形,因为考虑到
用户的共同部分,于是加入了调整因子。
为了更好的预测,我们规定,我们要找出相似度大于δ的值(sim),但是由于这个值会带来一些患处
如果这些电影没有当前评论(指的是没有专家的当前评论),那么调整因子都为0,没有一个sim值会超过阈值。
为了解决这个问题,我们又加入了一个τ作为确信阈值。确保经过δ筛选过后的专家集合仍然要大于此值。
如果小于了τ那么返回用户的均值。如果大于该值,会应用一个公式计算预测该用户对电影的评级。
预测出的评级可能会作为一个标准,看出用户的喜好,用于给用户推荐相关的电影。

预测推荐的错误率
当用专家平均值作为最差预测情况的时候,我们v把它叫做批判者的选择,这种时候MAE(平均绝对误差)高,覆盖率极高(100)
当使用τ= 10 andδ= 0.01, MAE明显下降而覆盖率略低
图5:当τ一定时候,MAE和δ成反比关系。τ一定,覆盖率随δ增大而减小。τ增加MAE先减后增
专家集在计算预测性较高的用户时准确性会降低

Top-N推荐的精确度
我对topN理解是,在计算出相似度后找到test集中与该相似度临近的人群。并通过这些计算出预测的电影评分,对于评级大于可推荐阈值(σ)的电影进行推荐
对于愿意接受任何高于平均项目的推荐的用户(2.5-3的评级),基于专家的方法似乎表现得与标准NN-CF一样好。

用户调查
通过用户的亲身体验来验证推荐的满意程度。
通过用户对筛选出的随机电影进行评论,就可以描绘出其画像,并对其进行推荐。
最后通过用户的反馈来看好坏程度。我们主要关注点应该是好的评论和坏的评论。
通过图8可以看出,专家在各个方面的性能都表现突出。
但是由于冷启动问题,他的平均仍很低,在这里可以回答前面的问题:冷启动就是在用户数据很少时,判断结果准确度不高

讨论
主要是专家的筛选问题:如何筛选出专家
我们在社区用户里,选出类似声望度最高的用户作为专家。这种方法关系到了信任度。什么是信任度?我们对这个所谓专家的专业程度的信任
那我们怎么定义这个信任度?这个方法有多种,比如测量这个专家预测以前评论的好坏。
讨论再次强调了:专家组并不是为了提高正确率(在我来看已经很出色了),而是来解决传统的一些问题
稀疏矩阵:对于用户预测,矩阵十分庞大由于大多用户对大多电影没有评论,所以矩阵十分稀疏。但是专家组数量少,人均电影评论多
所以这个问题在这得到了很好的解决。
噪音影响:很多用户的胡乱评论对预测造成了噪音。对于专家组,他们对自己评论一贯认真所以降低了这种可能,而且由于数据比较少
我们可以认为的控制这些因素。
冷启动:对于少量数据,我们预测的准确度不高,这是CF的整体的问题。专家组用一个少稀疏少噪音的数据集去提高启动效率
扩展性:我们会定时的去更新我们的数据集。如果用用户预测,数据量显得庞大(每个用户都要对应新加入的电影),而对于专家
就减少了很多数据,提高了效率
私密性:每次为用户推荐,对于大量数据都要先传到中心节点进行运算再返回。而对于专家组数据很少,本地就可以完成运算。

你可能感兴趣的:(基于专家意见-推荐系统经典the wisdow of the few)