MMD以及核公式推导

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]:=fFsup(Exp[f(x)]Eyq[f(y)])

  • sup:求上界(简单理解就是求最大值)
  • E \mathbf{E} E:求期望(可以立即为均值)
  • x ∼ p x\sim p xp: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]:=fFsup(m1i=1mf(xi)n1i=1nf(yi))
还有写成这样的:
sup ⁡ f ∈ F < μ p − μ q , f > \sup _{f \in F}<\mu_{p}-\mu_{q}, f> fFsup<μ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]:=fF,fH1sup(m1i=1mf(xi)n1i=1nf(yi))

  • H \mathcal{H} H:表示再生希尔伯特空间
  • ∣ f ∥ H ≤ 1 |f\|_{\mathcal{H}} \leq 1 fH1 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=1mf(xi)n1j=1nf(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=1nf(xi)m1j=1mf(xj)H2=n21ininf(xi)f(xi)nm2injmf(xi)f(yj)+m21jmjmf(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):XH
使得对所有的 x , y ∈ X x, y \in \mathcal{X} x,yX,都存在函数 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=1nf(xi)m1j=1mf(xj)H2=n21ininf(xi)f(xi)nm2injmf(xi)f(yj)+m21jmjmf(yj)f(yj)=n21i=1ni=1nK(xi,xi)nm2i=1nj=1mK(xi,yj)+m21j=1mj=1mK(yj,yj)=n21Kx,xnm2Kx,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,xKx,yKx,yKy,y]L=[n21nm1nm1m21]

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,xnm1Kx,ynm1Kx,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,xnm1Kx,ynm1Kx,y+m21Ky,y]=n21Kx,xnm2Kx,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(·):求·的迹
  • 8
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Eva_5433

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值