向量距离度量
距离的定义:
在一个集合中,如果每一对元素均可唯一确定一个实数,使得三条距离公理(正定性,对称性,三角不等式)成立,则该实数可以称为这对元素之间的距离。
欧氏距离
定义在两个向量(两个点)上:点 x \mathbf{x} x和点 y \mathbf{y} y的欧氏距离为:
d E u c l i d e a n = ( x − y ) ⊤ ( x − y ) d_{Euclidean}=\sqrt{(\mathbf{x}-\mathbf{y})^\top (\mathbf{x}-\mathbf{y})} dEuclidean=(x−y)⊤(x−y)
曼哈顿距离
Manhattan Distance(L1范数),也称为城市街区距离(City Block distance)。
定义在两个向量(两个点)上:点
x
\mathbf{x}
x和点
y
\mathbf{y}
y的曼哈顿距离为:
d M a n h a t t a n = ∣ x − y ∣ d_{Manhattan}=|\mathbf{x}-\mathbf{y}| dManhattan=∣x−y∣
闵可夫斯基距离
Minkowski distance, 两个向量(点)的 p p p阶距离:
d M i n k o w s k i = ( ∣ x − y ∣ p ) 1 / p d_{Minkowski}=(|\mathbf{x}-\mathbf{y}|^p)^{1/p} dMinkowski=(∣x−y∣p)1/p
当 p = 1 p=1 p=1时就是曼哈顿距离,当 p = 2 p=2 p=2时就是欧氏距离。
马氏距离
定义在两个向量(两个点)上,这两个点在同一个分布里。点 x \mathbf{x} x和点 y \mathbf{y} y的马氏距离为:
d M a h a l a n o b i s = ( x − y ) ⊤ Σ − 1 ( x − y ) d_{Mahalanobis}=\sqrt{(\mathbf{x}-\mathbf{y})^\top \Sigma^{-1} (\mathbf{x}-\mathbf{y})} dMahalanobis=(x−y)⊤Σ−1(x−y)
其中, Σ \Sigma Σ是这个分布的协方差, Cov ( X , Y ) = E [ ( X − μ x ) ( Y − μ y ) ] \operatorname{Cov}(X, Y)=E\left[\left(X-\mu_{x}\right)\left(Y-\mu_{y}\right)\right] Cov(X,Y)=E[(X−μx)(Y−μy)]。
当 Σ = I \Sigma=\mathbf{I} Σ=I时,马氏距离退化为欧氏距离。
余弦相似度
衡量两个向量的相关性(夹角的余弦)。向量 x , y \mathbf{x},\mathbf{y} x,y的余弦相似度为:
cos ( x , y ) = x ⋅ y ∣ x ∣ ⋅ ∣ y ∣ \cos (\mathbf{x},\mathbf{y}) = \frac{\mathbf{x} \cdot \mathbf{y}}{|\mathbf{x}|\cdot |\mathbf{y}|} cos(x,y)=∣x∣⋅∣y∣x⋅y
理解:向量的内积除以向量的数量积。
欧式距离与余弦距离的对比:
1 .欧式距离的数值受到维度的影响,余弦相似度在高维的情况下也依然保持低维完全相同时相似度为1等性质。
2. 欧式距离体现的是距离上的绝对差异,余弦距离体现的是方向上的相对差异。
余弦距离满足正定性和对称性,但是不满足三角不等式|a+b|<=|a|+|b|,因此余弦距离不是一个严格定义的距离。
随机变量的相关性
皮尔逊相关系数
衡量两个随机变量的相关性。随机变量 X , Y X,Y X,Y的Pearson相关系数为:
ρ X , Y = C o v ( X , Y ) σ X σ Y \rho_{X,Y}=\frac{Cov(X,Y)}{\sigma_X \sigma_Y} ρX,Y=σXσYCov(X,Y)
理解:协方差矩阵除以标准差之积。
范围:[-1,1],绝对值越大表示(正/负)相关性越大。
Jaccard相关系数
对两个集合 X , Y X,Y X,Y,判断他们的相关性,借用集合的手段:
J = X ∩ Y X ∪ Y J=\frac{X \cap Y}{X \cup Y} J=X∪YX∩Y
理解:两个集合的交集除以并集。
扩展:杰卡德Jaccard距离= 1 − J 1-J 1−J。
概率分布的差异度量
交叉熵
交叉熵度量两个概率分布间的差异性信息:
H
(
P
,
Q
)
=
−
∑
i
=
1
P
(
x
)
log
Q
(
x
)
H(P,Q)=-\sum_{i=1} P(x) \log{Q(x)}
H(P,Q)=−i=1∑P(x)logQ(x)
其中,P为真实分布,Q一般为数据估计的分布。
信息量,一个具体事件发生所带来的信息。
h
(
x
)
=
−
l
o
g
P
(
x
)
h(x)=-log {P(x)}
h(x)=−logP(x)
信息熵,所有可能发生事件所带来的信息量的期望。 H ( X ) = − ∑ i = 1 P ( x ) log P ( x ) H(X)=-\sum_{i=1} P(x) \log {P(x)} H(X)=−∑i=1P(x)logP(x)
KL散度
Kullback–Leibler divergence,相对熵,衡量两个概率分布 P ( x ) , Q ( x ) P(x),Q(x) P(x),Q(x)的距离:
D K L ( P ∣ ∣ Q ) = ∑ i = 1 P ( x ) log P ( x ) Q ( x ) D_{KL}(P||Q)=\sum_{i=1} P(x) \log \frac{P(x)}{Q(x)} DKL(P∣∣Q)=i=1∑P(x)logQ(x)P(x)
非对称距离: D K L ( P ∣ ∣ Q ) ≠ D K L ( Q ∣ ∣ P ) D_{KL}(P||Q) \ne D_{KL}(Q||P) DKL(P∣∣Q)=DKL(Q∣∣P).
互信息
定义在两个概率分布 X , Y X,Y X,Y上, x ∈ X , y ∈ Y x \in X,y \in Y x∈X,y∈Y.它们的互信息为联合分布 p ( x , y ) p(x,y) p(x,y)和边缘分布 p ( x ) p ( y ) p(x)p(y) p(x)p(y)的相对熵:
I ( X ; Y ) = ∑ x ∈ X ∑ y ∈ Y p ( x , y ) log p ( x , y ) p ( x ) p ( y ) I(X;Y)=\sum_{x \in X} \sum_{y \in Y} p(x,y) \log \frac{p(x,y)}{p(x)p(y)} I(X;Y)=x∈X∑y∈Y∑p(x,y)logp(x)p(y)p(x,y)
JS距离
Jensen–Shannon divergence,基于KL散度发展而来,是对称度量:
J S D ( P ∣ ∣ Q ) = 1 2 D K L ( P ∣ ∣ M ) + 1 2 D K L ( Q ∣ ∣ M ) JSD(P||Q)= \frac{1}{2} D_{KL}(P||M) + \frac{1}{2} D_{KL}(Q||M) JSD(P∣∣Q)=21DKL(P∣∣M)+21DKL(Q∣∣M)
其中 M = 1 2 ( P + Q ) M=\frac{1}{2}(P+Q) M=21(P+Q)。是对称度量。
MMD距离
Maximum mean discrepancy,度量在再生希尔伯特空间中两个分布的距离,是一种核学习方法。两个随机变量的距离为:
M M D ( X , Y ) = ∥ ∑ i = 1 n 1 ϕ ( x ∗ i ) − ∑ ∗ j = 1 n 2 ϕ ( y ∗ j ) ∥ 2 ∗ H MMD(X,Y)=\left \Vert \sum_{i=1}^{n_1}\phi(\mathbf{x}*i)- \sum*{j=1}^{n_2}\phi(\mathbf{y}*j) \right \Vert^2*\mathcal{H} MMD(X,Y)=∥∥∥∥∥i=1∑n1ϕ(x∗i)−∑∗j=1n2ϕ(y∗j)∥∥∥∥∥2∗H
其中 ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅)是映射,用于把原变量映射到高维空间中。
理解:就是求两堆数据在高维空间中的均值的距离。
Principal angle
也是将两个分布映射到高维空间(格拉斯曼流形)中,在流形中两堆数据就可以看成两个点。Principal angle是求这两堆数据的对应维度的夹角之和。对于两个矩阵 X , Y \mathbf{X},\mathbf{Y} X,Y,计算方法:首先正交化两个矩阵,然后:
P A ( X , Y ) = ∑ i = 1 min ( m , n ) sin θ i PA(\mathbf{X},\mathbf{Y})=\sum_{i=1}^{\min(m,n)} \sin \theta_i PA(X,Y)=i=1∑min(m,n)sinθi
其中 m , n m,n m,n分别是两个矩阵的维度, θ i \theta_i θi是两个矩阵第 i i i个维度的夹角, Θ = θ 1 , θ 2 , ⋯ , θ t \Theta={\theta_1,\theta_2,\cdots,\theta_t} Θ=θ1,θ2,⋯,θt是两个矩阵SVD后的角度:
X ⊤ Y = U ( cos Θ ) V ⊤ \mathbf{X}^\top\mathbf{Y}=\mathbf{U} (\cos \Theta) \mathbf{V}^\top X⊤Y=U(cosΘ)V⊤
HSIC
希尔伯特-施密特独立性系数,Hilbert-Schmidt Independence Criterion,用来检验两组数据的独立性:
H S I C ( X , Y ) = t r a c e ( H X H Y ) HSIC(X,Y) = trace(HXHY) HSIC(X,Y)=trace(HXHY)
其中 X , Y X,Y X,Y是两堆数据的kernel形式。
Earth Mover’s Distance
推土机距离,度量两个分布之间的距离,又叫Wasserstein distance。以最优运输的观点来看,就是分布 X X X能够变换成分布 Y Y Y所需要的最小代价:
一个二分图上的流问题,最小代价就是最小流,用匈牙利算法可以解决。
e
m
d
(
X
,
Y
)
=
min
∑
i
,
j
f
i
j
d
(
x
i
,
y
j
)
∑
j
w
y
j
emd(X,Y)=\min{\frac{\sum_{i,j}f_{ij}d(\textbf{x}i,\textbf{y}j)}{\sum{j}w{yj}}}
emd(X,Y)=min∑jwyj∑i,jfijd(xi,yj)
约束条件为
s . t . ∑ i f i j = w y j , ∑ j f i j = w x i . s.t. \sum_{i}f_{ij}=w_{yj}, \sum_{j}f_{ij}=w_{xi}. s.t.i∑fij=wyj,j∑fij=wxi.