在分类聚类算法,推荐系统中,常要用到两个输入变量(一般是特征向量的形式)距离的计算,即相似性度量.不同相似性度量对于算法的结果,有些时候,差异非常大.因此,有必要依据输入数据的特征,选择一种合适的相似性度量方法。

X=(x1,x2,..,xn)T,Y=(y1,y2,...yn)T为两个输入向量,

 

1.欧几里得距离(Euclidean distance)-EuclideanDistanceMeasure.

相当于高维空间内向量说表示的点到点之间的距离。
因为特征向量的各分量的量纲不一致,通常须要先对各分量进行标准化,使其与单位无关。比方对身高(cm)和体重(kg)两个单位不同的指标使用欧式距离可能使结果失效。


长处:简单,应用广泛(假设也算一个长处的话)。可以非常好体现数值上的差异。kmeans常通过欧氏距离进行计算
缺点:没有考虑分量之间的相关性,体现单一特征的多个分量会干扰结果。


2.马氏距离(Mahalanobis distance)-MahalanobisDistanceMeasure

C=E[(X-X平均)(Y-Y平均)]为该类输入向量X的协方差矩阵.(T为转置符号。E取平均时是样本因此为n-1)

适用场合:
1)度量两个服从同一分布而且其协方差矩阵为C的随机变量X与Y的差异程度
2)度量X与某一类的均值向量的差异程度,判别样本的归属。

此时,Y为类均值向量.
长处
1)独立于分量量纲
2)排除了样本之间的相关性影响。


缺点:不同的特征不能区别对待,可能夸大弱特征。


3.闵可夫斯基距离(Minkowsk distance)-MinkowskiDistanceMeasure(默认p=3)

可看成是欧氏距离的指数推广,还没有见到过非常好的应用实例,但通常。推广都是一种进步,特别的。

当p=1,也成做曼哈顿距离。也称绝对距离,曼哈顿距离来源于城市区块距离,是将多个维度上的距离进行求和后的结果。ManhattanDistanceMeasure.

当q=∞时,称为切比雪夫距离ChebyshevDistanceMeasure 

切比雪夫距离起源于国际象棋中国王的走法,我们知道国际象棋国王每次仅仅能往周围的8格中走一步,那么假设要从棋盘中A格(x1。 y1)走到B格(x2。 y2)最少须要走几步?扩展到多维空间。事实上切比雪夫距离就是当p趋向于无穷大时的明氏距离:


4.汉明距离(Hamming distance)-Mahout

在信息论中。两个等长字符串之间的汉明距离是两个字符串相应位置的不同字符的个数。

换句话说。它就是将一个字符串变换成另外一个字符串所须要替换的字符个数。

    比如:

    1011101 与 1001001 之间的汉明距离是 2。


    2143896 与 2233796 之间的汉明距离是 3。


    "toned" 与 "roses" 之间的汉明距离是 3。


5.Tanimoto系数(又称广义Jaccard系数)-TanimotoDistanceMeasure.

通常应用于X为布尔向量,即各分量仅仅取0或1的时候。此时,表示的是X,Y的公共特征的占X。Y所占有的特征的比例。


5.Jaccard系数

Jaccard系数主要用于计算符号度量或布尔值度量的个体间的相似度,由于个体的特征属性都是由符号度量或者布尔值标识,因此无法衡量差异详细值的大小,仅仅能获得“是否同样”这个结果,所以Jaccard系数仅仅关心个体间共同具有的特征是否一致这个问题。

假设比較X与Y的Jaccard相似系数, 仅仅比較xn和yn中同样的个数,公式例如以下:



7.皮尔逊相关系数(Pearson correlation coefficient)-PearsonCorrelationSimilarity

即相关分析中的相关系数r。分别对X和Y基于自身整体标准化后计算空间向量的余弦夹角。公式例如以下:


8.余弦相似度(cosine similarity)-CosineDistanceMeasure

就是两个向量之间的夹角的余弦值。

余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比距离度量,余弦相似度更加注重两个向量在方向上的差异。而非距离或长度上。

长处:不受坐标轴旋转。放大缩小的影响。

9.调整余弦相似度-Adjusted Cosine Similarity

尽管余弦相似度对个体间存在的偏见能够进行一定的修正,可是由于仅仅能分辨个体在维之间的差异,没法衡量每一个维数值的差异。会导致这样一个情况:比方用户对内容评分。5分制,X和Y两个用户对两个内容的评分分别为(1,2)和(4,5),使用余弦相似度得出的结果是0.98,两者极为相似,但从评分上看X似乎不喜欢这2个内容,而Y比較喜欢,余弦相似度对数值的不敏感导致了结果的误差,须要修正这样的不合理性。就出现了调整余弦相似度,即 全部维度上的数值都减去一个均值,比方X和Y的评分均值都是3,那么调整后为(-2。-1)和(1,2),再用余弦相似度计算,得到-0.8。相似度为负 值而且差异不小。但显然更加符合现实。

调整余弦相似度和余弦相似度。皮尔逊相关系数在推荐系统中应用较多。

在基于项目的推荐中。GroupLens有篇论文结果表明调整余弦相似度性能要优于后两者。

10.基于权重的距离计算方法:

WeightedDistanceMeasure、WeightedEuclideanDistanceMeasure 、 WeightedManhattanDistanceMeasure

欧氏距离与余弦相似度

 

欧氏距离衡量的是空间各点间的绝对距离,跟各个点所在的位置坐标(即个体特征维度的数值)直接相关;而余弦相似度衡量的是空间向量的夹角,更加的是体如今方向上的差异。而不是位置。

假设保持A点的位置不变,B点朝原方向远离坐标轴原点。那么这个时候余弦相似度cosθ是保持不变的,由于夹角不变。而A、B两点的距离显然在发生改变,这就是欧氏距离和余弦相似度的不同之处。

借助三维坐标系来看下欧氏距离和余弦相似度的差别:

依据欧氏距离和余弦相似度各自的计算方式和衡量特征。分别适用于不同的数据分析模型:欧氏距离可以体现个体数值特征的绝对差异。所以很多其它的用于须要从维度的数值大小中体现差异的分析,如使用用户行为指标分析用户价值的相似度或差异;而 余弦相似度很多其它的是从方向上区分差异,而对绝对的数值不敏感,很多其它的用于使用用户对内容评分来区分用户兴趣的相似度和差异,同一时候修正了用户间可能存在的度量标准不统一的问题(由于余弦相似度对绝对数值不敏感)。

 

posted on 2017-05-23 14:12  yutingliuyl  阅读(479)  评论(0编辑  收藏  举报