机器学习中距离与相似度度量
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
缺点:
举个栗子 二维样本(身高,体重),其中身高范围是150~190,体 重范围是50~60,有三个样本:a(180,50),b(190,50), c(180,60)。 那么a与b之间的闵氏距离(无论是曼哈顿距离、欧氏 距离或切比雪夫距离)等于a与c之间的闵氏距离, 但是身高的10cm等价于体重的10kg吗? 因此用闵氏距离来衡量这些样本间的相似度有问题。
归一化
行
标准化:对不同特征维度的伸缩变换的目的是使得不同度量之间 的特征具有可比性。同时不改变原始数据的分布。
特点:1、保持各个特征维度对目标函数的影响权重 2、对目标函数的影响体现在几何分布上 3、在已有样本足够多的情况下比较稳定。
归一化(区间缩放):基于边界值(最大值,最小值),将值的 区间缩放到某个特点的范围,如[0,1] 特点:1、对不同特征维度进行伸缩变换
一般而言,定义一个距离函数 d(x,y), 需要满足下面几个
基本准则:
1) d(x,x) = 0
// 到自己的距离为0
2) d(负
3) d(x,y) = d(y,x) // 对称性: 如果 A 到 B 距离是a,那么
B 到 A 的距离也应该是 a
4) d(x,k)+ d(k,y) >= d(x,y)
切比雪夫距离
切比雪夫距离(Chebyshev distance)是向量空间中的一种 度量,二个点之间的距离定义 为其各坐标数值差的最大值。 从一个位置走到其他位置需要 的步数恰为二个位置的切比雪 夫距离,因此切比雪夫距离也 称为棋盘距离。
闵可夫斯基距离
闵可夫斯基距离(Minkowski distance)不是一种距离, 而是一组距离的定义。
Jaccard系数主要用于计算符号度量或布尔值度量的个体间的 相似度,因为个体的特征属性都是由符号度量或者布尔值标 识,因此无法衡量差异具 体值的大小,只能获得“是否相同” 这个结果,所以Jaccard系数只关心个体间共同具有的特征是 否一致这个问题。如果比较X与Y的Jaccard相似系数,只比较 xn和yn中相同的个数,公式如下:
需要修正这种不合理性,就出现了调整余弦相似度,即所有维 度上 的数值都减去一个均值,比如X和Y的评分均值都是3,那 么调整后为(-2,-1)和(1,2),再用余弦相似度计算,得到-0.8, 相似度为负值并且差异不小,但显然更加符合现实。
皮尔森相关系数
上面是总体相关系数,估算样本的协方差和标准差,可得到样 本相关系数(样本皮尔逊系数),常用英文小写字母 r 代表:
2、改变原始数据的分布。使各个特征维度对目标函数的影 响权重是一致的)
3、对目标函数的影响体现在数值上 4、把有量纲表达式变为无量纲表达式 。
马式距离
若协方差矩阵是单位矩阵(各个样本向量之间独立同分布), 则公式就成了:
则Xi与Xj之间的马氏距离等于他们的欧氏距离。 即:若协方差矩阵是对角矩阵,公式变成了标准化欧氏距离。
第三步,计算词频。
句子A:这只1,皮靴1,号码2,大了1。那只1,合 适1,不0,小0,更0
句子B:这只1,皮靴1,号码1,大了0。那只1,合 适1,不1,小1,更1 第四步,写出词频向量。
句子A:(1,1,2,1,1,1,0,0,0) 句子B:(1,1,1,0,1,1,1,1,1) 第五步,使用公式计算相似度
余弦相似度
两个向量越相似,向量夹 角越小,余弦值的绝对值 越大;值为负,两向量负 相关。
应用:文本的相似度和推 荐系统等。
举个简单栗子:
句子A:这只皮靴号码大了。那只号码合适 句子B:这只皮靴号码不小,那只更合适 怎样计算上面两句话的相似程度? 基本思路:如果这两句话的用词越相似,它们的内容就 应该越相似。因此,可以从词频入手,计算它们的相似 程度。 第一步,分词。 句子A:这只/皮靴/号码/大了。那只/号码/合适。 句子B:这只/皮靴/号码/不/小,那只/更/合适。 第二步,列出所有的词。 这只,皮靴,号码,大了。那只,合适,不,小,很
计算结果:夹角的余弦值为0.81,非常接近于1,所 以,上面的句子A和句子B是基本相似的
补充:欧式距离和余弦相似度
(1)欧氏距离从向量间的绝对距离区分差异,计算得到的相似度 值对向量各个维度内的数值特征非常敏感,而余弦夹角从向量间 的方向夹角区分差异,对向量各个维度内的数值特征不敏感,所 以同时修正了用户间可能存在的度量标准不统一的问题。 (2)余弦夹角的值域区间为[-1,1],相对于欧式距离的值域范围 [0,正无穷大],能够很好的对向量间的相似度值进行了量化。
利用pearson计算它们之间的相似度为: a&b: 0.9899494936611665 b&c: 0.9899494936611665 a&c: 0.9999999999999999 可以看出pearson系数对绝对数值并不敏感,它确实只是描述 了两组数据变化的趋势。
Jaccard相似系数(Jaccard Coefficient)
1
n x1k x2k p p
k 1
该距离最常用的 p 是 2 和 1, 无穷大 •P=2是欧几里得距离(Euclidean distance), •P=1是曼哈顿距离(Manhattan distance)。 •当 p 趋近于无穷大时,闵可夫斯基距离转化成切比雪 夫距离(Chebyshev distance)
// 三角形法则: (两边之和 大于第三边)
欧式距离
即:所有点的对应维度之差的 平方的求和再开方。 欧式距离相似度算法需要保证 各个维度指标在相同的刻度级 别,比如对身高、体重两个单 位不同的指标使用欧氏距离可 能使结果失效。
曼哈顿距离
曼哈顿距离来源于城市区块距离,是将多个维度上的距离进行 求和后的结果
d
n
k 1
x1k x2k sk
2
n x1k x2k 2
k 1
sk 2
如果将方差的倒数看成是一个权重,这个公式可以看成是 一种加权欧氏距离(Weighted Euclidean distance)。
使不同规格的数据转换到同一规格
标准化
列
无量纲化
缺点:
1. 未考虑重叠记录项的数量对相似度的影响 上表中,行表示用户(1~5)对项目(101~103)的一些评
分值。直观来看,User1和User5用3个共同的评分项,并且给 出的评分趋势相同,User1与User4只有2个相同评分项,虽然 他们的趋势也相似,但是由于102的未知,可能是User2对102 未发生行为,或者对102很讨厌,所以我们更希望User1和 User5更相似,但结果是User1与User4有着更高的结果。
3.Pearson系数对绝对数值不敏感 考虑这三组数据,a:(1,2,3,4) b:(40,50,70,80) c:(50,60,70,80), 我们可以直观的认为b和c更为相似,它们的重叠评分数目一致, 趋势也相同,记录a虽然也满足上述的条件,但是它整体数值很 低。在现实中,有人习惯于给出更高的评分,而有人则恰恰相反。
机器学习中距离和相似度计算方法
距离与度量相关
闵可夫斯基 距离
距离
改进闵可夫 斯基距离
余弦相似度
相似度度量
皮尔森相关 系数
Jaccard相 似系数
欧式距离和余弦相 似度的比较
欧氏距离
曼哈顿距离
切比雪夫距离 标准化欧氏距离
(加权) 马氏距离 改进:调整余弦相
似度
在机器学习和数据挖掘中,我们经常需要知道个体间差 异的大小,进而评价个体的相似性和类别。根据数据特 性的不同,可以采用不同的度量方法。
简单说来,闵氏距离的缺点主要有两个: 1. 将各个分量的量纲(scale),也就是“单位”当作相 同的看待了。 2. 没有考虑各个分量的分布(期望,方差等)可能是不 同的。
标准化欧氏距离
引入标准化欧式距离的原因是一个数据xi的各个维度之间 的尺度不一样。 比如v1=(100,10,30),v2 = (500,40,10)。对所有维度分别 进行处理,使得各个维度分别满足标准正态分布。 即
因此,在推荐系统场景下,推荐算法大都采用余弦夹角进行用户 (或物品)的相似度计算。当然,欧氏距离能够体现个体数值特 征的绝对差异,一般用于需要从维度的数值大小中体现差异的相 关度分析。
调整余弦相似度
(Adjusted Cosine Similarity)
虽然余弦相似度对个体间存在的偏见可以进行一定的修正,但 是因为只能分辨个体在维之间的差异,没法衡量每个维数值的 差异,会导致这样一个情况: 比如用户对内容评分,5分制。(此处是两个内容) X评分为(1,2),Y评分为(4,5),使用余弦相似度得出的结果是 0.98。两者极为相似,但从评 分上看X似乎不喜欢这2个内容, 而Y比较喜欢,余弦相似度对数值的不敏感导致了结果的误差。
pearson是一个介于-1和1之间的值,用来描述两组线性的数据 一同变化移动的趋势。 相关系数>0,表明它们之间是正相关的。即当一个变量增大, 另一个变量也增大; 相关系数<0,表明它们之间是负相关的,如果一个变量增大, 另一个变量却减小,; 如果相关系数=0,表明它们之间不存在线性相关关系。
标准化欧氏距离是在假设数据各 个维度不相关的情况下,利用数 据分布的特性计算出不同的距离。 如果维度相互之间数据相关(例 如:身高较高的信息很有可能会 带来体重较重的信息,因为两者 是有关联的),就要用到马氏距 离
相似度度量
相似度度量(Similarity),即计算个体间的相似程度, 与距离度量相反,相似度度量的值越小,说明个体间 相似度越小,差异越大。
可以看出pearson系数只会对重叠的记录进行计算。
2.如果只有一个重叠项则无法计算相关性 从数学上讲,若只有一个重叠的记录,那么至少有一组
记录的标准差为0,导致分母为0 从这一点也可以看出,pearson系数不适用与小的或者非 常稀疏的数据集。当然,这一特性也有它的好处,无法计 算pearson系数可以认为这两组数据没有任何相关性。