您的位置:首页 > 其它

样本间的距离或者相似度度量方法

2016-03-20 17:22 771 查看
距离度量

距离度量(Distance)用于衡量个体在空间上存在的距离,距离越远说明个体间的差异越大。

一般而言,定义一个距离函数 d(x,y), 需要满足下面几个准则:
1) d(x,x) = 0 //
到自己的距离为0

2) d(x,y) >= 0 //
距离非负

3) d(x,y) = d(y,x) // 对称性: 如果 A 到 B 距离是 a,那么 B 到 A 的距离也应该是 a

4) d(x,k) + d(k,y) >= d(x,y) // 三角形法则: (两边之和大于第三边)

假设两个样本的特征向量为:



一、欧氏距离



二、曼哈顿距离



三、闵可夫斯基距离



(1)当p=1时,即为曼哈顿距离

(2)当p=2时,即为欧氏距离

(3)当p趋向于无穷大时,即为切比雪夫距离

四、切比雪夫距离



相似度度量

相似度度量(Similarity),即计算个体间的相似程度,与距离度量相反,相似度度量的值越小,说明个体间相似度越小,差异越大。

一、夹角余弦(Cosine Similarity)

即求两个特征向量的余弦值。文本分类或者聚类时,一般用夹角余弦求文本相似度。



二、皮尔森相关系数(Pearson Correlation Coefficient)

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



三、Jaccard相似系数(Jaccard
Coefficient)


Jaccard系数主要用于计算符号度量或布尔值度量的个体间的相似度,因为个体的特征属性都是由符号度量或者布尔值标识,因此无法衡量差异具体值的大小,只能获得“是否相同”这个结果,所以Jaccard系数只关心个体间共同具有的特征是否一致这个问题。如果比较X与Y的Jaccard相似系数,只比较xn和yn中相同的个数,公式如下:



调整余弦相似度(Adjusted Cosine Similarity)

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

数据标准化、归一化处理

一、min-max标准化(Min-Max Normalization)

也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 - 1]之间。转换函数如下:



其中max为样本数据的最大值,min为样本数据的最小值。这种方法有个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。

二、Z-score标准化方法

这种方法给予原始数据的均值(mean)和标准差(standard deviation)进行数据的标准化。经过处理的数据符合标准正态分布,即均值为0,标准差为1,转化函数为:



其中

为所有样本数据的均值,

为所有样本数据的标准差。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: