Max Mean Discrepancy 最大均值差异
MD均值差异
判断两个分布p和q是否相同
设:
- p分布生成样本空间P
- q分布生成样本空间Q
- 函数f
- 输入:分布生成的样本空间
若
m
e
a
n
(
f
(
P
)
)
=
=
m
e
a
n
(
f
(
Q
)
)
mean(f(P)) == mean(f(Q))
mean(f(P))==mean(f(Q))
则p和q是同一分布
p中有样本p1, p2, …, pm
q中有样本q1, q2, …, qn
若
(
f
(
p
1
)
+
f
(
p
2
)
+
.
.
.
+
f
(
p
m
)
)
/
m
=
=
(
f
(
q
1
)
+
f
(
q
2
)
+
.
.
.
+
f
(
q
n
)
)
/
n
(f(p_1) +f(p_2) +...+f(p_m))/m == (f(q_1) +f(q_2) +...+f(q_n))/n
(f(p1)+f(p2)+...+f(pm))/m==(f(q1)+f(q2)+...+f(qn))/n
认为是同一分布
均值差异Mean Discrepancy
md
=
∣
m
e
a
n
(
f
(
P
)
)
−
m
e
a
n
(
f
(
Q
)
)
∣
\text{md} = |mean(f(P))-mean(f(Q))|
md=∣mean(f(P))−mean(f(Q))∣
假设有两条玻璃生产线p和q,需要撤掉一条换新的,各生产100块玻璃,p1,…,p100,q1,…,q100,交给小明用如下方法函数集$\mathcal{F} $测量比较:
- f1:测厚度
- f2:测透光率
- f3:测平整度
- f4:测密度
- f5:测成分比例
记下与公司规定的标准厚度的差值,然后取绝对值。
我们没办法从样本空间内衡量这些分布,但是我们可以把样本空间,通过一组函数集 F \mathcal{F} F映射到新的空间,新空间内的数据是可比的。
在本例子中,映射过后的数据是一个数(标量)。事实上,常见的应该是一个向量,而且是无穷维的向量。
我们把经过映射形成的空间叫做希尔伯特空间(输出空间),原样本空间称为欧氏空间(输入空间)
最大均值差异(MMD)
在函数集
F
\mathcal{F}
F寻找一个f使得|mean(f(P))-mean(f(Q))|
有最大值,这个就是MMD
MMD
[
F
,
p
,
q
]
:
=
sup
f
∈
F
(
E
x
∼
p
[
f
(
x
)
]
−
E
y
∼
q
[
f
(
y
)
]
)
\operatorname{MMD}[\mathcal{F}, p, q]:=\sup _{f \in \mathcal{F}}\left(\mathbf{E}_{x \sim p}[f(x)]-\mathbf{E}_{y \sim q}[f(y)]\right)
MMD[F,p,q]:=f∈Fsup(Ex∼p[f(x)]−Ey∼q[f(y)])
- sup:求上界(简单理解就是求最大值)
- E \mathbf{E} E:求期望(可以立即为均值)
- x ∼ p x\sim p x∼p:x是p空间的一个样本,一个实例
因为样本是有限的,因此式4可以写为:
MMD
[
F
,
X
,
Y
]
:
=
sup
f
∈
F
(
1
m
∑
i
=
1
m
f
(
x
i
)
−
1
n
∑
i
=
1
n
f
(
y
i
)
)
\operatorname{MMD}[\mathcal{F}, X, Y]:=\sup _{f \in \mathcal{F}}\left(\frac{1}{m} \sum_{i=1}^{m} f\left(x_{i}\right)-\frac{1}{n} \sum_{i=1}^{n} f\left(y_{i}\right)\right)
MMD[F,X,Y]:=f∈Fsup(m1i=1∑mf(xi)−n1i=1∑nf(yi))
还有写成这样的:
sup
f
∈
F
<
μ
p
−
μ
q
,
f
>
\sup _{f \in F}<\mu_{p}-\mu_{q}, f>
f∈Fsup<μp−μq,f>
question1
我们刚才的映射过后的空间有5个维(厚度,透光度,平整度,密度,成分比例),如果这5个维度,均值差异都为0,我们就能说p和q分布相同么?显然不是,如果我们有更多的维度,我们得出的结果才更有说服力。
这就要求,函数集 F \mathcal{F} F足够的丰富。(事实上是无穷维的)
question2
第二个考虑的是数据集样本的数量,希望在求MMD的是偶,随着数据集的增大,MMD可以迅速收敛。
这就要求函数集 F \mathcal{F} F有足够的约束
当 F \mathcal{F} F是再生希尔伯特空间(RHKS)上的单位球(unit ball)时,可以满足上述两个条件
再生核希尔伯特空间与核方法 - 知乎 (zhihu.com)
MMD
[
F
,
X
,
Y
]
:
=
sup
f
∈
F
,
∥
f
∥
H
≤
1
(
1
m
∑
i
=
1
m
f
(
x
i
)
−
1
n
∑
i
=
1
n
f
(
y
i
)
)
\operatorname{MMD}[\mathcal{F}, X, Y]:=\sup _{f \in \mathcal{F}, \|f\|_{\mathcal{H}}\le1}\left(\frac{1}{m} \sum_{i=1}^{m} f\left(x_{i}\right)-\frac{1}{n} \sum_{i=1}^{n} f\left(y_{i}\right)\right)
MMD[F,X,Y]:=f∈F,∥f∥H≤1sup(m1i=1∑mf(xi)−n1i=1∑nf(yi))
- H \mathcal{H} H:表示再生希尔伯特空间
- ∣ f ∥ H ≤ 1 |f\|_{\mathcal{H}} \leq 1 ∣f∥H≤1: f f f在再生希尔伯特空间中的范数应该小于等于1。即在单位球内
我们需要做的就是求下边这个式子的最值
M
M
D
[
F
,
X
,
Y
]
:
=
∥
1
m
∑
i
=
1
m
f
(
x
i
)
−
1
n
∑
j
=
1
n
f
(
y
j
)
∥
H
M M D[F, X, Y]:=\left\|\frac{1}{m} \sum_{i=1}^{m} f\left(x_{i}\right)-\frac{1}{n} \sum_{j=1}^{n} f\left(y_{j}\right)\right\|_{\mathcal{H}}
MMD[F,X,Y]:=∥∥∥∥∥m1i=1∑mf(xi)−n1j=1∑nf(yj)∥∥∥∥∥H
到这里我们是没有办法计算,因为是无穷维的。接下来可以做一个很巧妙的变换,平方。
M M D 2 [ F , X , Y ] = ∥ 1 n ∑ i = 1 n f ( x i ) − 1 m ∑ j = 1 m f ( x j ) ∥ H 2 = ∥ 1 n 2 ∑ i n ∑ i ′ n f ( x i ) f ( x i ′ ) − 2 n m ∑ i n ∑ j m f ( x i ) f ( y j ) + 1 m 2 ∑ j m ∑ j ′ m f ( y j ) f ( y j ′ ) ∥ \begin{aligned} M M D^{2}[F, X, Y] &=\left\|\frac{1}{n} \sum_{i=1}^{n} f\left(x_{i}\right)-\frac{1}{m} \sum_{j=1}^{m} f\left(x_{j}\right)\right\|_{\mathcal{H}}^{2} \\ &=\left\|\frac{1}{n^{2}} \sum_{i}^{n} \sum_{i^{\prime}}^{n} f\left(x_{i}\right) f\left(x_{i}^{\prime}\right)-\frac{2}{n m} \sum_{i}^{n} \sum_{j}^{m} f\left(x_{i}\right) f\left(y_{j}\right)+\frac{1}{m^{2}} \sum_{j}^{m} \sum_{j^{\prime}}^{m} f\left(y_{j}\right) f\left(y_{j}^{\prime}\right)\right\|\\ \end{aligned} MMD2[F,X,Y]=∥∥∥∥∥n1i=1∑nf(xi)−m1j=1∑mf(xj)∥∥∥∥∥H2=∥∥∥∥∥∥n21i∑ni′∑nf(xi)f(xi′)−nm2i∑nj∑mf(xi)f(yj)+m21j∑mj′∑mf(yj)f(yj′)∥∥∥∥∥∥
- x i ′ x_{i}^{\prime} xi′:就是 x i x_{i} xi,为了区分而已。
平方之后,我们发现了两个向量相乘的部分, f ( x i ) f ( x i ′ ) f\left(x_{i}\right) f\left(x_{i}^{\prime}\right) f(xi)f(xi′)、 f ( x i ) f ( y i ) f\left(x_{i}\right) f\left(y_{i}\right) f(xi)f(yi)、 f ( y i ) f ( y i ′ ) f\left(y_{i}\right) f\left(y_{i}^{\prime}\right) f(yi)f(yi′)
虽然他们也是无穷维的,但是有这么一个叫核函数
的东西,可以避免计算两个向量相乘。
核函数
设X是输入空间(欧氏空间或离散集合) , H \mathcal{H} H为映射空间(希尔伯特空间),如果存在一个从 X \mathcal{X} X到 H \mathcal{H} H的映射
φ ( x ) : X → H \varphi(\mathrm{x}): \mathcal{X} \rightarrow \mathcal{H} φ(x):X→H
使得对所有的 x , y ∈ X x, y \in \mathcal{X} x,y∈X,都存在函数 K ( x , y ) = φ ( x ) ⋅ φ ( y ) K(x, y)=\varphi(x)·\varphi(y) K(x,y)=φ(x)⋅φ(y)
则称 K ( x , y ) K(x, y) K(x,y)为核函数, φ ( ⋅ ) \varphi(·) φ(⋅)为映射函数, φ ( x ) ⋅ φ ( y ) \varphi(x)·\varphi(y) φ(x)⋅φ(y)映射到映射空间上的内积。令 K ( x , y ) K(x, y) K(x,y)简单表示为 K x , y K_{x,y} Kx,y
于是,我们用核函数换一下向量相乘的部分,
f
(
x
i
)
f
(
x
i
′
)
f\left(x_{i}\right) f\left(x_{i}^{\prime}\right)
f(xi)f(xi′)、
f
(
x
i
)
f
(
y
i
)
f\left(x_{i}\right) f\left(y_{i}\right)
f(xi)f(yi)、
f
(
y
i
)
f
(
y
i
′
)
f\left(y_{i}\right) f\left(y_{i}^{\prime}\right)
f(yi)f(yi′)
M
M
D
2
[
F
,
X
,
Y
]
=
∥
1
n
∑
i
=
1
n
f
(
x
i
)
−
1
m
∑
j
=
1
m
f
(
x
j
)
∥
H
2
=
∥
1
n
2
∑
i
n
∑
i
′
n
f
(
x
i
)
f
(
x
i
′
)
−
2
n
m
∑
i
n
∑
j
m
f
(
x
i
)
f
(
y
j
)
+
1
m
2
∑
j
m
∑
j
′
m
f
(
y
j
)
f
(
y
j
′
)
∥
=
∥
1
n
2
∑
i
=
1
n
∑
i
′
=
1
n
K
(
x
i
,
x
i
′
)
−
2
n
m
∑
i
=
1
n
∑
j
=
1
m
K
(
x
i
,
y
j
)
+
1
m
2
∑
j
=
1
m
∑
j
′
=
1
m
K
(
y
j
,
y
j
′
)
∥
=
∥
1
n
2
K
x
,
x
′
−
2
n
m
K
x
,
y
+
1
m
2
K
y
,
y
′
∥
\begin{aligned} M M D^{2}[F, X, Y] &=\left\|\frac{1}{n} \sum_{i=1}^{n} f\left(x_{i}\right)-\frac{1}{m} \sum_{j=1}^{m} f\left(x_{j}\right)\right\|_{\mathcal{H}}^{2} \\ &=\left\|\frac{1}{n^{2}} \sum_{i}^{n} \sum_{i^{\prime}}^{n} f\left(x_{i}\right) f\left(x_{i}^{\prime}\right)-\frac{2}{n m} \sum_{i}^{n} \sum_{j}^{m} f\left(x_{i}\right) f\left(y_{j}\right)+\frac{1}{m^{2}} \sum_{j}^{m} \sum_{j^{\prime}}^{m} f\left(y_{j}\right) f\left(y_{j}^{\prime}\right)\right\|\\ &=\left\|\frac{1}{n^{2}} \sum_{i=1}^{n} \sum_{i^{\prime}=1}^{n} K\left(x_{i}, x_{i}^{\prime}\right)-\frac{2}{n m} \sum_{i=1}^{n} \sum_{j=1}^{m} K\left(x_{i}, y_{j}\right)+\frac{1}{m^{2}} \sum_{j=1}^{m} \sum_{j^{\prime}=1}^{m} K\left(y_{j}, y_{j}^{\prime}\right)\right\|\\ &=\left\|\frac{1}{n^{2}} K{x, x^{\prime}}-\frac{2}{n m} K_{x, y}+\frac{1}{m^{2}} K{y, y^{\prime}}\right\| \end{aligned}
MMD2[F,X,Y]=∥∥∥∥∥n1i=1∑nf(xi)−m1j=1∑mf(xj)∥∥∥∥∥H2=∥∥∥∥∥∥n21i∑ni′∑nf(xi)f(xi′)−nm2i∑nj∑mf(xi)f(yj)+m21j∑mj′∑mf(yj)f(yj′)∥∥∥∥∥∥=∥∥∥∥∥∥n21i=1∑ni′=1∑nK(xi,xi′)−nm2i=1∑nj=1∑mK(xi,yj)+m21j=1∑mj′=1∑mK(yj,yj′)∥∥∥∥∥∥=∥∥∥∥n21Kx,x′−nm2Kx,y+m21Ky,y′∥∥∥∥
令
K
=
[
K
x
,
x
′
K
x
,
y
K
x
,
y
K
y
,
y
′
]
L
=
[
1
n
2
−
1
n
m
−
1
n
m
1
m
2
]
K=\left[\begin{array}{ll} K_{x, x^{\prime}} & K_{x, y} \\ K_{x, y} & K_{y, y^{\prime}} \end{array}\right] \quad L=\left[\begin{array}{cc} \frac{1}{n^{2}} & -\frac{1}{n m} \\ -\frac{1}{n m} & \frac{1}{m^{2}} \end{array}\right]
K=[Kx,x′Kx,yKx,yKy,y′]L=[n21−nm1−nm1m21]
则
K
L
=
[
1
n
2
K
x
,
x
′
−
1
n
m
K
x
,
y
−
1
n
m
K
x
,
y
+
1
m
2
K
y
,
y
′
]
K L=\left [ \begin{array}{cc} \frac{1}{n^{2}} K_{x, x^{\prime}}-\frac{1}{n m} K_{x, y} & \\ & -\frac{1}{n m} K_{x, y}+\frac{1}{m^{2}} K_{y, y^{\prime}} \end{array} \right ]
KL=[n21Kx,x′−nm1Kx,y−nm1Kx,y+m21Ky,y′]
可知
K
L
=
[
1
n
2
K
x
,
x
′
−
1
n
m
K
x
,
y
−
1
n
m
K
x
,
y
+
1
m
2
K
y
,
y
′
]
=
∥
1
n
2
K
x
,
x
′
−
2
n
m
K
x
,
y
+
1
m
2
K
y
,
y
′
∥
K L=\left[\begin{array}{cc} \frac{1}{n^{2}} K_{x, x^{\prime}}-\frac{1}{n m} K_{x, y} & \\ & -\frac{1}{n m} K_{x, y}+\frac{1}{m^{2}} K_{y, y^{\prime}} \end{array}\right]=\left\|\frac{1}{n^{2}} K x, x^{\prime}-\frac{2}{n m} K_{x, y}+\frac{1}{m^{2}} K y, y^{\prime}\right\|
KL=[n21Kx,x′−nm1Kx,y−nm1Kx,y+m21Ky,y′]=∥∥∥∥n21Kx,x′−nm2Kx,y+m21Ky,y′∥∥∥∥
所以
M
M
D
2
(
X
,
Y
)
=
tr
(
K
L
)
M M D^{2}(X, Y)=\operatorname{tr}(K L)
MMD2(X,Y)=tr(KL)
- tr(·):求·的迹