距离度量完整版

距离度量


  • 距离度量
    • 常见距离与相似度度量
      • 欧氏距离
      • 闵可夫斯基距离
      • 马氏距离
      • 互信息
      • 余弦相似度
      • 皮尔逊相关系数
      • Jaccard相关系数
    • 概率分布的距离度量
      • KL散度
      • JS距离
      • MMD距离
      • Principal angle
      • HSIC
      • Earth Mover’s Distance
        • References

常见距离与相似度度量


欧氏距离

定义在两个向量(两个点)上:点 x x 和点 y y 的欧氏距离为:

dEuclidean=(xy)(xy) d E u c l i d e a n = ( x − y ) ⊤ ( x − y )

闵可夫斯基距离

Minkowski distance, 两个向量(点)的 p p 阶距离:

dMinkowski=(|xy|p)1/p d M i n k o w s k i = ( | x − y | p ) 1 / p

p=1 p = 1 时就是曼哈顿距离,当 p=2 p = 2 时就是欧氏距离。

马氏距离

定义在两个向量(两个点)上,这两个点在同一个分布里。点 x x 和点 y y 的马氏距离为:

dMahalanobis=(xy)Σ1(xy) d M a h a l a n o b i s = ( x − y ) ⊤ Σ − 1 ( x − y )

其中, Σ Σ 是这个分布的协方差。

Σ=I Σ = I 时,马氏距离退化为欧氏距离。

互信息

定义在两个概率分布 X,Y X , Y 上, xX,yY x ∈ X , y ∈ Y .它们的互信息为:

I(X;Y)=xXyYp(x,y)logp(x,y)p(x)p(y) I ( X ; Y ) = ∑ x ∈ X ∑ y ∈ Y p ( x , y ) log ⁡ p ( x , y ) p ( x ) p ( y )

余弦相似度

衡量两个向量的相关性(夹角的余弦)。向量 x,y x , y 的余弦相似度为:

cos(x,y)=xy|x||y| cos ⁡ ( x , y ) = x ⋅ y | x | ⋅ | y |

理解:向量的内积除以向量的数量积。

皮尔逊相关系数

衡量两个随机变量的相关性。随机变量 X,Y X , Y 的Pearson相关系数为:

ρX,Y=Cov(X,Y)σXσY ρ X , Y = C o v ( X , Y ) σ X σ Y

理解:协方差矩阵除以标准差之积。

范围:[-1,1],绝对值越大表示(正/负)相关性越大。

Jaccard相关系数

对两个集合 X,Y X , Y ,判断他们的相关性,借用集合的手段:

J=XYXY J = X ∩ Y X ∪ Y

理解:两个集合的交集除以并集。

扩展:Jaccard距离= 1J 1 − J


概率分布的距离度量


KL散度

Kullback–Leibler divergence,相对熵,衡量两个概率分布 P(x),Q(x) P ( x ) , Q ( x ) 的距离:

DKL(P||Q)=i=1P(x)logP(x)Q(x) D K L ( P | | Q ) = ∑ i = 1 P ( x ) log ⁡ P ( x ) Q ( x )

非对称距离: DKL(P||Q)DKL(Q||P) D K L ( P | | Q ) ≠ D K L ( Q | | P ) .

JS距离

Jensen–Shannon divergence,基于KL散度发展而来,是对称度量:

JSD(P||Q)=12DKL(P||M)+12DKL(Q||M) J S D ( P | | Q ) = 1 2 D K L ( P | | M ) + 1 2 D K L ( Q | | M )

其中 M=12(P+Q) M = 1 2 ( P + Q ) 。是对称度量。

MMD距离

Maximum mean discrepancy,度量在再生希尔伯特空间中两个分布的距离,是一种核学习方法。两个随机变量的距离为:

MMD(X,Y)=i=1n1ϕ(xi)j=1n2ϕ(yj)2H M M D ( X , Y ) = ‖ ∑ i = 1 n 1 ϕ ( x i ) − ∑ j = 1 n 2 ϕ ( y j ) ‖ H 2

其中 ϕ() ϕ ( ⋅ ) 是映射,用于把原变量映射到高维空间中。

理解:就是求两堆数据在高维空间中的均值的距离。

Principal angle

也是将两个分布映射到高维空间(格拉斯曼流形)中,在流形中两堆数据就可以看成两个点。Principal angle是求这两堆数据的对应维度的夹角之和。对于两个矩阵 X,Y X , Y ,计算方法:首先正交化两个矩阵,然后:

PA(X,Y)=i=1min(m,n)sinθi P A ( X , Y ) = ∑ i = 1 min ( m , n ) sin ⁡ θ i

其中 m,n m , n 分别是两个矩阵的维度, θi θ i 是两个矩阵第 i i 个维度的夹角, Θ={θ1,θ2,,θt} Θ = { θ 1 , θ 2 , ⋯ , θ t } 是两个矩阵SVD后的角度:

XY=U(cosΘ)V X ⊤ Y = U ( cos ⁡ Θ ) V ⊤

HSIC

希尔伯特-施密特独立性系数,Hilbert-Schmidt Independence Criterion,用来检验两组数据的独立性:

HSIC(X,Y)=trace(HXHY) H S I C ( X , Y ) = t r a c e ( H X H Y )

其中 X,Y X , Y 是两堆数据的kernel形式。

Earth Mover’s Distance

推土机距离,度量两个分布之间的距离,又叫Wasserstein distance。以最优运输的观点来看,就是分布 X X 能够变换成分布 Y Y 所需要的最小代价:

一个二分图上的流问题,最小代价就是最小流,用匈牙利算法可以解决。

emd(X,Y)=mini,jfijd(xi,yj)jwyj e m d ( X , Y ) = min ∑ i , j f i j d ( x i , y j ) ∑ j w y j

约束条件为

s.t.ifij=wyj,jfij=wxi. s . t . ∑ i f i j = w y j , ∑ j f i j = w x i .

References

[1] http://blog.csdn.net/pipisorry/article/details/45651315

[2] http://chaofan.io/archives/earth-movers-distance-%E6%8E%A8%E5%9C%9F%E6%9C%BA%E8%B7%9D%E7%A6%BB

你可能感兴趣的:(机器学习)