机器学习之相似性度量

0.引言

在建模的过程中,当需要整理出两两样本之间的联系时,通常会使用“相似性(similarity)”来描述这种联系。在一般语境中,我们通常会用“距离(distance)”来代表这种联系。一般来说,相似性和距离代表的含义是相同的。而对距离的正确建模能帮助模型更快的挖掘出隐含在数据分布之间的联系。

1.两样本的相似度的衡量

1.1 基本性质

  • 非负性: d i s t ( x i , x j ) ≥ 0 dist(x_i,x_j)\ge0 dist(xi,xj)0
  • 同一性: d i s t ( x i , x i ) = 0 dist(x_i,x_i)=0 dist(xi,xi)=0
  • 对称性: d i s t ( x i , x j ) = d i s t ( x j , x i ) dist(x_i,x_j)=dist(x_j,x_i) dist(xi,xj)=dist(xj,xi)
  • 直递性: d i s t ( x i , x j ) = d i s t ( x i , x k ) + d i s t ( x k , x j ) dist(x_i,x_j)=dist(x_i,x_k)+dist(x_k,x_j) dist(xi,xj)=dist(xi,xk)+dist(xk,xj)

1.2 常用度量方式:以n维样本 x 1 = ( x 11 , x 12 , . . . , x 1 n ) x_1 = (x_{11}, x_{12},...,x_{1n}) x1=(x11,x12,...,x1n) x 2 = ( x 21 , x 22 , . . . , x 2 n ) x_2 = (x_{21}, x_{22},...,x_{2n}) x2=(x21,x22,...,x2n) 为例

  • 闵可夫斯基距离(对应P-范数): d i s t ( x 1 , x 2 ) = ( ∑ u = 1 n ∣ x 1 u − x 2 u ∣ p ) 1 p dist(x_1,x_2)=(\sum_{u=1}^n |x_{1u}-x_{2u}|^p)^\frac{1}{p} dist(x1,x2)=(u=1nx1ux2up)p1

缺点

(1)没有考虑各个分量量纲不同的问题。如果有量纲不相等的维度,就无法适用。例如第一个特征量纲为cm,第二个特征的两个为kg时,就无法使用这种方法。
(2)没有考虑各个分量的分布不同的问题。举个例子,如果有 x 1 = ( 10000 , 1 ) 和 x 2 = ( 12000 , 5 ) x_1=(10000,1)和x_2=(12000,5) x1=(10000,1)x2=(12000,5)两个样本。当p=2时, x 1 x_1 x1 x 2 x_2 x2之间的距离为 d i s t ( x 1 , x 2 ) = ( 12000 − 10000 ) 2 + ( 5 − 1 ) 2 ≈ 2000 dist(x_1,x_2)=\sqrt{ (12000-10000)^2+(5-1)^2}\approx2000 dist(x1,x2)=(1200010000)2+(51)2 2000,可以看出,第二个特征已经发挥不出其应有的作用了,相当于大数“吃掉了”小数。
(3)没有考虑变量间的相关关系,即,每个变量之间必须是相互独立,也就是相互正交的。

Remark

(1)以上缺点导致了通常要对数据进行进行标准化和中心化处理。
(2)当p=1时,为曼哈顿距离
(3)当p=2时,为欧氏距离
(4)当 p → ∞ p\to\infty p时,为切比雪夫距离

  • 曼哈顿距离(对应1-范数): d i s t ( x 1 , x 2 ) = ∑ u = 1 n ∣ x 1 u − x 2 u ∣ dist(x_1,x_2)=\sum_{u=1}^n|x_{1u}-x_{2u}| dist(x1,x2)=u=1nx1ux2u

Remark

(1)直观上来讲,表示两点之间的各边之和。
(2)优点:计算速度快
(3)缺点:当某一特征非常大时,会掩盖掉其他的特征
(4)应用层面

例如要计算从一个十字路口到另外一个十字路口的距离,显然需要计算的不是两点之间的直线距离在这里插入图片描述

  • 欧氏距离(对应2-范数): d i s t ( x 1 , x 2 ) = ∑ u = 1 n ∣ x 1 u − x 2 u ∣ 2 dist(x_1,x_2)=\sqrt{\sum_{u=1}^n |x_{1u}-x_{2u}|^2} dist(x1,x2)=u=1nx1ux2u2

Remark

(1)其表示n维空间中两样本点的直线距离,如图代表二维空间内的直线距离
在这里插入图片描述

  • 标准欧式距离: d i s t ( x 1 , x 2 ) = ∑ u = 1 n ∣ x 1 u ∗ − x 2 u ∗ ∣ 2 , 其 中 x i u ∗ = x i u − μ i u δ i u dist(x_1,x_2)=\sqrt{\sum_{u=1}^n |x_{1u}^*-x_{2u}^*|^2},其中x_{iu}^*=\frac{x_{iu}-\mu_{iu}}{\delta_{iu}} dist(x1,x2)=u=1nx1ux2u2 xiu=δiuxiuμiu

Remark

(1)即为经过标准化和中心化的欧式距离

  • 切比雪夫距离(对应无穷范数): d i s t ( x 1 , x 2 ) = max ⁡ u ∣ x 1 u − x 2 u ∣ dist(x_1,x_2)=\max_u|x_{1u}-x_{2u}| dist(x1,x2)=maxux1ux2u

Remark

为闵可夫斯基距离中 p → ∞ p\to\infty p的情况

  • 马氏距离: d i s t ( x 1 , x 2 ) = ( x 1 − x 2 ) T S − 1 ( x 1 − x 2 ) dist(x_1,x_2)=\sqrt{(x_1-x_2)^TS^{-1}(x_1-x_2)} dist(x1,x2)=(x1x2)TS1(x1x2)

为什么有马氏距离

闵可夫斯基距离中难以处理分布不同的数据。这里有一个例子,如下图,我们要判断(7.5,0),(0,7.5)这两个样本点哪个更可能属于这个高斯分布。从欧氏距离来看,这两个点到样本中心点的距离是相同的;但是直观地来看,显然(7.5,0)更加可能是属于该分布的样本点。在这里插入图片描述
对于这种维度之间独立同分布的情况,我们可以通过归一化解决。如图对其进行归一化后,可以清楚的看到(7.5,0)更属于这个样本。在这里插入图片描述
但仅仅是这样是不够的。更一般的,如果维度之间不独立同分布(即特征之间存在相关性),就会导致错误。如图,x和y具有显著的相关性。在这里插入图片描述
此时有两个样本点(-3,3)和(3,-3)。此时他们距离样本中心的欧氏距离是相同的。当进行归一化后,会发现他们的样本欧氏距离仍然相同。这是因为在归一化时,使用的公式 x − μ σ \frac{x-\mu}{\sigma} σxμ,而x和y的分布近似, μ \mu μ σ \sigma σ也近似,因此只是对数据进行了缩放,其欧式距离仍然相同。此时归一化就失去了效果。
在这里插入图片描述

思想

通过上述分析,欧氏距离不能解决那些特征之间具有相关性的样本。马氏距离为解决这类问题而来。
马氏距离的思想寻找主成分进行标准化,让主成分的方向成为新的坐标轴,这样能让维度之间互相独立。之后再进行归一化,这样就使得归一化重新起作用。

Remark

(1)该距离为了解决闵可夫斯基距离中特征分布、量纲不同的问题
(2)表示协方差距离,考虑了各个特征之间的相关性和量纲问题,其中S为样本集合X的协方差矩阵
(3)当S为单位矩阵(各维度相互独立且方差为1)时,马氏距离即为欧氏距离
(4)要求样本数据个数大于特征个数,否则逆矩阵不存在
(5)更加具体的介绍可以参考这里

  • 皮尔逊相关系数: r 12 = ∑ u = 1 n ( x 1 u − x ‾ 1 u ) ( x 2 u − x ‾ 2 u ) ∑ u = 1 n ( x 1 u − x ‾ 1 u ) ∑ u = 1 n ( x 2 u − x ‾ 2 u ) r_{12}=\frac{\sum_{u=1}^n(x_{1u}-\overline{x}_{1u})(x_{2u}-\overline{x}_{2u})}{\sqrt{\sum_{u=1}^n(x_{1u}-\overline{x}_{1u})\sum_{u=1}^n(x_{2u}-\overline{x}_{2u})}} r12=u=1n(x1ux1u)u=1n(x2ux2u) u=1n(x1ux1u)(x2ux2u),其中 x ‾ i u = 1 n ∑ u = 1 n x i u \overline{x}_{iu}=\frac{1}{n}\sum_{u=1}^n x_{iu} xiu=n1u=1nxiu

Remark

(1) r ∈ [ − 1 , 1 ] r\in[-1,1] r[1,1]
(2)衡量了线性相关程度,越接近0则线性关系越低,越接近1或-1则呈线性相关

  • 夹角余弦: s 12 = ∑ u = 1 n x 1 u x 2 u [ ∑ u = 1 n x 1 u 2 ∑ u = 1 n x 2 u 2 ] 1 2 s_{12}=\frac{\sum_{u=1}^nx_{1u}x_{2u}}{[\sum_{u=1}^nx_{1u}^2\sum_{u=1}^nx_{2u}^2]^{\frac{1}{2}}} s12=[u=1nx1u2u=1nx2u2]21u=1nx1ux2u

Remark

(1) s ∈ [ − 1 , 1 ] s\in[-1,1] s[1,1]
(2)夹角越小,两样本相似度越高
(3)当向量指向相同时,夹角为0,此时 s 12 s_{12} s12为1;当夹角为 π \pi π时,此时 s 12 s_{12} s12为-1。这两种情况下,两向量线性相关。
(4)当夹角为 π 2 \frac{\pi}{2} 2π时,表示这两向量正交,此时这两向量没有关联。
(5)该距离经常用于文本相似度的比较,且通常与TF-IDF技术相结合。(待补例子)

2.两cluster的similarity衡量

除了基于样本之间的相似度衡量,在集成聚类(Ensemble Clustering或Consensus Clustering)中,也存在着两个簇之间的相似度衡量。

  • 基于投票的: C ( i , j ) = n i , j N C(i,j)= \frac{n_{i,j}}{N} C(i,j)=Nni,j,其中 n i , j n_{i,j} ni,j N N N个基聚类器中第 i i i个样本和第 j j j个样本被分到同一个簇中的基聚类器个数,此时第 i i i行第 j j j列代表一个样本。这个方法出自Anil K. Jain的一篇文章。

  • 基于Jaccard measure的: W ( i , j ) = ∣ C i ∩ C j ∣ ∣ C i ∪ C j ∣ W(i,j)=\frac{|C_i\cap C_j|}{|C_i\cup C_j|} W(i,j)=CiCjCiCj,这代表每两个簇相重叠的部分,此时第i行第j列代表一个簇。该方法也可以衡量两个集合之间的相似度。

  • 待整理

3.参考

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值