进行推荐二

引言
探索相似性度量:基于用户推荐程序的另一个重要部分是UserSimilarity实现。基于用户的推荐程序非常依赖这个组件。如果对用户之间的相似性缺乏可靠并有效的定义,这类推荐方法是没有意义的。这也适用于基于用户推荐程序的近亲——基于物品的推荐程序,它同样依赖于相似性。这一个组件非常重要。


基于皮尔逊相关系数的相似度

皮尔逊相关系数是一个介于-1到1之间的数,它度量两个一一对应的数列之间的线性相关程度。也就是说,它表示两个队列中对应数字一起增到或一起减小的可能性。它度量数字一起按比例改变的倾向性,也就是说两个数列中的数字存在一个大致的线性关系。当该倾向性强时,相关值趋向于1.当相关性很弱时,相关值趋于0.在负相关的情况下——一个序列的值高而另一个序列的值低——相关值趋于-1。
对于统计学熟悉的读者而言,皮尔逊相关系数是两个序列协方差与二者方差乘积的比值。协方差计算的是两个序列变化趋势一致的绝对量。当两个序列相对于各自的均值点向同一个方向移动得越远,协方差值就越大。除以方差是为了对这一变化进行归一化。使用Mahout中的皮尔逊相关系数并不需要理解这些定义,如果你感兴趣,可以从网上查阅相关资料。
这个在统计学中应用广泛的概念,同样可以用于度量用户之间的相似性。它度量两个用户针对同一个物品的偏好值变化趋势的一致性——都偏高或都偏低。
皮尔逊相关系数存在的问题

  • 首先,它没有考虑两个用户同时给出偏好值的物品数目,在推荐引擎中这可能不太可靠。
  • 其次,基于该计算的定义,如果两个用户的交集仅包含一个物品,则无法计算相关性。
  • 最后,只要人任何一个序列中出现偏好相同的情况,相关系数都是未定义的。

引入权重
为了解决上述问题,PearsonCorrelationSimilarity在标准计算公式的基础上提供了一个扩展,即加权(weighting)
皮尔逊相关系数并不直接反应其用到的物品数目,而我们是需要这个数字的。考虑的信息越多,所得到的相关结果就越可靠。为了体现这一个观点,最好在基于较多物品计算相关系数时,使正相关值向1.0偏移,而使负相关值向-1.0偏移。或者,当基于较少的物品计算相关系数时,可以让相关值向偏好值的均值偏移;这与前面的效果类似,但实现会较为复杂,因为他需要记录用户对的平均偏好值。


基于欧式距离定义相似度和采用余弦相似性度量都将用户偏好值视为空间中的点,并基于此进行相似性度量。基于欧式距离定义相似度:计算两个用户之间的欧式距离d。这个值本身并不代表相似度,因为该值越大表示距离越远,也就是说两个用户越不相似。用户越相似,这个值应该越小。采用余弦相似性度量:利用射线夹角同样可以度量相似性。余弦相似性经常在协同过滤中出现。


采用斯皮尔曼相关系数基于排名定义相似度

对于我们来说,斯皮尔曼相关系数是皮尔逊相关系数的一个有趣的变体。该相关系数并非基于原始的偏好值,而是基于偏好值的相对排名来计算。


忽略偏好值基于谷本系数计算相似度

有趣的是,还存在一些完全抛开偏好值的UserSimilarity实现。他们不管一个用户对一个物品的偏好值是高还是低,只关心用户是否表达过偏好。TanimotoCoefficientSimilarity就是这样一个实现,它基于谷本系数。这个值也叫做Jaccard系数。它由两个用户共同表达过偏好的物品数目除以至少一个用户表达过偏好的物品数目而得。换句话说,它是两个偏好物品集合的交集大小与并集大小的比值。


基于对数似然比更好地计算相似度

与谷本系数类似,它也基于两个用户共同评估过的物品数目,但在给定物品总数和每个用户评价物品数量的情况下,其最终结果衡量的是两个用户有这么多共同物品的“不可能性”。对数似然比的计算则略有不同。它试图反映两个用户由于投缘巧合发生重叠的不可能性。也就是说,两个不相似的用户毫无疑问会共同评价一些电影,但是两个相似用户之间的重叠不太可能是出于巧合。通过一些统计检验,这一相似性度量试图判断两个用户口味不相似的不可能性有多大;不可能性越大,两个用户的相似度越高。最终的相似度值可以解释为发生重叠的非偶然概率。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值