目录
一、相似度计算方法
1.1欧几里得距离(欧氏距离)
最初用于计算欧几里德空间中两个点的距离,假设 x,y 是 n 维空间的两个点,它们之间的欧几里德距离是:
可以看出,当 n=2 时,欧几里德距离就是平面上两个点的距离。当用欧几里德距离表示相似度,一般采用以下公式进行转换:距离越小,相似度越大。
类名:EuclideanDistanceSimilarity
原理:利用欧式距离d定义的相似度s,s=1 / (1+d)。
范围:[0,1],值越大,说明d越小,也就是距离越近,则相似度越大。
说明:同皮尔森相似度一样,该相似度也没有考虑重叠数对结果的影响,同样地,Mahout通 过增加一个枚举类型(Weighting)的参数来使得重叠数也成为计算相似度的影响因子。
公式如下:
![]()
1.2皮尔逊相关系数(百度用来判断tiele相似度的算法)
皮尔逊相关系数一般用于计算两个定距变量间联系的紧密程度,它的取值在 [-1,+1] 之间。 sx, sy是 x 和 y 的样品标准偏差。
类名:PearsonCorrelationSimilarity
原理:用来反映两个变量线性相关程度的统计量
范围:[-1,1],绝对值越大,说明相关性越强,负相关对于推荐的意义小。
说明:1、 不考虑重叠的数量;2、 如果只有一项重叠,无法计算相似性(计算过程被除数有n-1);3、 如果重叠的值都相等,也无法计算相似性(标准差为0,做除数)。
该相似度并不是最好的选择,也不是最坏的选择,只是因为其容易理解,在早期研究中经常被提起。使用Pearson线性相关系数必须假设数据是成对地从正态分布中取得的,并且数据至少在逻辑范畴内必须是等间距的数据。Mahout中,为皮尔森相关计算提供了一个扩展,通过增加一个枚举类型(Weighting)的参数来使得重叠数也成为计算相似度的影响因子。
公式如下:


1.3 Cosine 相似度
Cosine 相似度被广泛应用于计算文档数据的相似度:
类名: UncenteredCosineSimilarity
原理:多维空间两点与所设定的点形成夹角的余弦值。
&
协同过滤与相似度计算:解决推荐系统中的挑战

本文概述了协同过滤在推荐系统中的应用,包括基于用户的协同过滤、基于物品的协同过滤及其优缺点,重点讲解了欧几里得距离、皮尔逊相关系数和余弦相似度的计算方法。同时探讨了冷启动问题及其实现策略。
最低0.47元/天 解锁文章
2612

被折叠的 条评论
为什么被折叠?



