Skip to content

Commit 89a3c10

Browse files
committed
add:距离和相似度度量
1 parent dae9ced commit 89a3c10

File tree

1 file changed

+160
-0
lines changed

1 file changed

+160
-0
lines changed

notes/distance and similarity.md

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# 距离度量
2+
3+
- - -
4+
5+
## 常见距离与相似度度量
6+
7+
- - -
8+
9+
### 欧氏距离
10+
11+
定义在两个向量(两个点)上:点$\mathbf{x}$和点$\mathbf{y}$的欧氏距离为:
12+
13+
$$
14+
d_{Euclidean}=\sqrt{(\mathbf{x}-\mathbf{y})^\top (\mathbf{x}-\mathbf{y})}
15+
$$
16+
17+
### 闵可夫斯基距离
18+
19+
Minkowski distance, 两个向量(点)的$p$阶距离:
20+
21+
$$
22+
d_{Minkowski}=(|\mathbf{x}-\mathbf{y}|^p)^{1/p}
23+
$$
24+
25+
当$p=1$时就是曼哈顿距离,当$p=2$时就是欧氏距离。
26+
27+
### 马氏距离
28+
29+
定义在两个向量(两个点)上,这两个点在同一个分布里。点$\mathbf{x}$和点$\mathbf{y}$的马氏距离为:
30+
31+
$$
32+
d_{Mahalanobis}=\sqrt{(\mathbf{x}-\mathbf{y})^\top \Sigma^{-1} (\mathbf{x}-\mathbf{y})}
33+
$$
34+
35+
其中,$\Sigma$是这个分布的协方差。
36+
37+
当$\Sigma=\mathbf{I}$时,马氏距离退化为欧氏距离。
38+
39+
### 互信息
40+
41+
定义在两个概率分布$X,Y$上,$x \in X,y \in Y$.它们的互信息为:
42+
43+
$$
44+
I(X;Y)=\sum_{x \in X} \sum_{y \in Y} p(x,y) \log \frac{p(x,y)}{p(x)p(y)}
45+
$$
46+
47+
### 余弦相似度
48+
49+
衡量两个向量的相关性(夹角的余弦)。向量$\mathbf{x},\mathbf{y}$的余弦相似度为:
50+
51+
$$
52+
\cos (\mathbf{x},\mathbf{y}) = \frac{\mathbf{x} \cdot \mathbf{y}}{|\mathbf{x}|\cdot |\mathbf{y}|}
53+
$$
54+
55+
理解:向量的内积除以向量的数量积。
56+
57+
### 皮尔逊相关系数
58+
59+
衡量两个随机变量的相关性。随机变量$X,Y$的Pearson相关系数为:
60+
61+
$$
62+
\rho_{X,Y}=\frac{Cov(X,Y)}{\sigma_X \sigma_Y}
63+
$$
64+
65+
理解:协方差矩阵除以标准差之积。
66+
67+
范围:[-1,1],绝对值越大表示(正/负)相关性越大。
68+
69+
### Jaccard相关系数
70+
71+
对两个集合$X,Y$,判断他们的相关性,借用集合的手段:
72+
73+
$$
74+
J=\frac{X \cap Y}{X \cup Y}
75+
$$
76+
77+
理解:两个集合的交集除以并集。
78+
79+
扩展:Jaccard距离=$1-J$。
80+
81+
- - -
82+
83+
## 概率分布的距离度量
84+
85+
- - -
86+
87+
### KL散度
88+
89+
Kullback–Leibler divergence,相对熵,衡量两个概率分布$P(x),Q(x)$的距离:
90+
91+
$$
92+
D_{KL}(P||Q)=\sum_{i=1} P(x) \log \frac{P(x)}{Q(x)}
93+
$$
94+
95+
非对称距离:$D_{KL}(P||Q) \ne D_{KL}(Q||P)$.
96+
97+
### JS距离
98+
99+
Jensen–Shannon divergence,基于KL散度发展而来,是对称度量:
100+
101+
$$
102+
JSD(P||Q)= \frac{1}{2} D_{KL}(P||M) + \frac{1}{2} D_{KL}(Q||M)
103+
$$
104+
105+
其中$M=\frac{1}{2}(P+Q)$。是对称度量。
106+
107+
### MMD距离
108+
109+
Maximum mean discrepancy,度量在再生希尔伯特空间中两个分布的距离,是一种核学习方法。两个随机变量的距离为:
110+
111+
$$
112+
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}
113+
$$
114+
115+
其中$\phi(\cdot)$是映射,用于把原变量映射到高维空间中。
116+
117+
理解:就是求两堆数据在高维空间中的均值的距离。
118+
119+
### Principal angle
120+
121+
也是将两个分布映射到高维空间(格拉斯曼流形)中,在流形中两堆数据就可以看成两个点。Principal angle是求这两堆数据的对应维度的夹角之和。对于两个矩阵$\mathbf{X},\mathbf{Y}$,计算方法:首先正交化两个矩阵,然后:
122+
123+
$$
124+
PA(\mathbf{X},\mathbf{Y})=\sum_{i=1}^{\min(m,n)} \sin \theta_i
125+
$$
126+
127+
其中$m,n$分别是两个矩阵的维度,$\theta_i$是两个矩阵第$i$个维度的夹角,$\Theta=\{\theta_1,\theta_2,\cdots,\theta_t\}$是两个矩阵SVD后的角度:
128+
129+
$$
130+
\mathbf{X}^\top\mathbf{Y}=\mathbf{U} (\cos \Theta) \mathbf{V}^\top
131+
$$
132+
133+
### HSIC
134+
135+
希尔伯特-施密特独立性系数,Hilbert-Schmidt Independence Criterion,用来检验两组数据的独立性:
136+
137+
$$
138+
HSIC(X,Y) = trace(HXHY)
139+
$$
140+
141+
其中$X,Y$是两堆数据的kernel形式。
142+
143+
### Earth Mover’s Distance
144+
145+
推土机距离,度量两个分布之间的距离,又叫Wasserstein distance。以最优运输的观点来看,就是分布$X$能够变换成分布$Y$所需要的最小代价:
146+
147+
一个二分图上的流问题,最小代价就是最小流,用匈牙利算法可以解决。
148+
149+
$$
150+
emd(X,Y)=\min{\frac{\sum_{i,j}f_{ij}d(\textbf{x}_i,\textbf{y}_j)}{\sum_{j}w_{yj}}},\\
151+
s.t. \sum_{i}f_{ij}=w_{yj}, \sum_{j}f_{ij}=w_{xi}.
152+
$$
153+
154+
#### References
155+
156+
[1] http://blog.csdn.net/pipisorry/article/details/45651315
157+
158+
[2] http://chaofan.io/archives/earth-movers-distance-%E6%8E%A8%E5%9C%9F%E6%9C%BA%E8%B7%9D%E7%A6%BB
159+
160+

0 commit comments

Comments
 (0)