aihot  2017-11-07 06:03:23  机器学习 |   查看评论   

  第二个指标是基尼系数,先给出计算公式:

  p函数是流行度从小到大的排序,ij是按照流行度从大到小排序物品列表中的第j个物品。

  公式不好理解,这里给张图:

  这张图怎么解释呢,黑色曲线表示最不热门的x%物品的总流行度的流行度占系统的比例y%,为什么相交在(0, 0)和(1, 1)呢,(0, 0)是说,空物品的流行度之和占总物品流行度之和的0%,(1, 1)是说,所有物品的流行度之和占总物品流行度之和的100%,这个很好理解。

  然后为什么肯定在y=x之下,考虑这样一个情况,最均匀的情况,所有物品的流行度都相同,那么每增加固定百分比的物品,那增加的流行度在总流行度中占的比例也是固定的,而且也是相同的。看起来很绕,实际上很容易直观的感觉出来。

  实际上,所有物品的流行度不会是相同的,有热门物品也有冷门物品,因为是从最不热门的物品开始计算的,所以刚开始可能很高百分比的冷门物品的流行度也不多,所以这条线就会在y=x下面,增加的非常缓慢;后面到了热门物品,很少的热门物品就能增加很多的流行度,所以这条曲线增加的速度开始越来越快,最后到达(1, 1)。

  然后基尼系数就是SA/(SA+SB)了,基尼系数越小,就越接近y=x,最理想情况下,基尼系数为0,流行度完全均匀分布。

  社会学中有种现象叫做马太效应,强者愈强,弱者愈弱。这样,越热门的物品会越热门,越冷门的物品越会无人问津,推荐系统就希望尽量消除这种马太效应,让冷门物品也能找到对自己感兴趣的用户,让用户也不必只看排行榜,自己的兴趣和需求也能得到更好的满足。所以我们先根据初始用户行为(根据用户行为定义的热门/冷门)计算物品的基尼系数,然后再根据推荐系统行为(根据推荐系统的推荐次数定义的热门/冷门)计算物品的基尼系数,如果后者的基尼系数反而大了,那说明推荐算法加剧了马太效应。

  稍微解释一下,如果推荐系统只疯狂推荐某一种物品,其他物品都不推荐,这样的马太效应就反而更甚于初始的情况了,又会进一步加剧整个生态的马太效应。只有推荐系统对物品均匀的推荐,初始的热门/冷门物品的推荐次数都差不多,才能让初始的冷门产品热起来。

多样性

  多样性描述了推荐列表中物品两两之间的不相似性,推荐系统的整体多样性可以定义为所有用户推荐列表多样性的平均值。

  相似性或者不相似性的度量方式有多种,比如用物品的内容相似度,我们就可以得到内容多样性函数;如果用协同过滤的相似度函数描述物品之间的相似度,就可以得到协同过滤的多样性函数。

  其实提高覆盖率也能在侧面对提高多样性起到积极作用。

新颖性

  新颖的推荐是指给用户推荐那些他们之前没听说过的物品,最简单的方式当然是,把那些用户之前在系统中有过行为的物品从推荐列表中过滤掉。

  还有种方式是让推荐结果中物品的平均热门程度较低,这样就更可能有较高的新颖性。牺牲精度提高新颖性是很容易的,困难的是不牺牲精度,同时提高新颖性。

惊喜度

  惊喜度是,如果推荐结果和用户的历史兴趣不相似,但却让用户觉得满意。提高推荐惊喜度需要提高用户满意度,同时降低推荐结果和用户历史兴趣的相似度。

  新颖度和惊喜度的区别在,新颖度说的是没听过的物品,没听过的物品是有可能与用户的历史兴趣相似的,就没有了惊喜度。惊喜度可以说是新颖度的升级,因为没听过的物品中包含与历史兴趣相似的和不相似的物品。也许惊喜度的核心在于让用户无法理解推荐原因。

 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自浅谈推荐系统基础

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]