首先,假设存在两个不同的聚类假设 f 1 f^1 f1和 f 2 f^2 f2,它们在两个视角上的聚类结果分别为 y 1 ∈ { − 1 , + 1 } n y^1\in\{-1,+1\}^n y1∈{−1,+1}n和 y 2 ∈ { − 1 , + 1 } n y^2\in\{-1,+1\}^n y2∈{−1,+1}n。
证明一致性不等式:
P ( f 1 ≠ f 2 ) ≥ max { P e r r ( f 1 ) , P e r r ( f 2 ) } P(f^1\ne f^2)\ge\max\{P_{\mathrm{err}}(f^1), P_{\mathrm{err}}(f^2)\} P(f1=f2)≥max{Perr(f1),Perr(f2)}
其中 P e r r ( f ) P_{\mathrm{err}}(f) Perr(f)表示假设 f f f的误差概率,即:
P e r r ( f ) = E ( x , y ) ∼ D [ f ( x ) ≠ y ] P_{\mathrm{err}}(f)=\mathbb{E}_{(x,y)\sim D}[f(x)\ne y] Perr(f)=E(x,y)∼D[f(x)=y]
其中 ( x , y ) (x,y) (x,y)表示数据点和其标签, D D D表示数据的分布。假设我们从 D D D中采样 m m m个数据点 ( x 1 , y 1 ) , … , ( x m , y m ) (x_1,y_1),\ldots,(x_m,y_m) (x1,y1),…,(xm,ym),构成训练集 S = { ( x 1 , y 1 ) , … , ( x m , y m ) } S=\{(x_1,y_1),\ldots,(x_m,y_m)\} S={(x1,y1),…,(xm,ym)}。
使用训练集 S S S学习得到聚类假设 f S f_S fS,我们定义训练误差 P e r r ( f S ) P_{\mathrm{err}}(f_S) Perr(fS)为:
P e r r ( f S ) = 1 m ∑ i = 1 m 1 ( f S ( x i ) ≠ y i ) P_{\mathrm{err}}(f_S)=\frac{1}{m}\sum_{i=1}^m\mathbf{1}(f_S(x_i)\ne y_i) Perr(fS)=m1i=1∑m1(fS(xi)=yi)
其中 1 ( A ) \mathbf{1}(A) 1(A)表示当命题 A A A为真时取值为 1 1 1,否则取值为 0 0 0。
然后定义一个指示器函数 I ( S ) I(S) I(S)来判断训练误差是否落在某个区间之内。具体来说,对于给定的常数 δ ≥ 0 \delta\ge 0 δ≥0和 ϵ > 0 \epsilon>0 ϵ>0,我们定义:
I ( S ) = { 1 if P e r r ( f S ) − P e r r ( f ) > ϵ 0 otherwise I(S)=\begin{cases} 1&\text{if }P_{\mathrm{err}}(f_S)-P_{\mathrm{err}}(f)>\epsilon\\ 0&\text{otherwise} \end{cases} I(S)={10if Perr(fS)−Perr(f)>ϵotherwise
其中 f f f表示最优聚类假设,即:
f = a r g m i n g ∈ { − 1 , + 1 } n P e r r ( g ) f=\mathrm{argmin}_{g\in\{-1,+1\}^n}P_{\mathrm{err}}(g) f=argming∈{−1,+1}nPerr(g)
接下来,我们定义两个独立的随机变量序列 X 1 1 , X 2 1 , … , X n 1 X_1^1,X_2^1,\ldots,X_n^1 X11,X21,…,Xn1和 X 1 2 , X 2 2 , … , X n 2 X_1^2,X_2^2,\ldots,X_n^2 X12,X22,…,Xn2,它们分别表示假设 f 1 f^1 f1和 f 2 f^2 f2在两个视角上的聚类结果是否相同。
每个随机变量的取值为 0 0 0或 1 1 1,其中 1 1 1表示相同, 0 0 0表示不相同。
然后,定义:
X i j = { 1 if y i 1 = y i 2 0 otherwise X_i^j=\begin{cases} 1&\text{if }y_i^1=y_i^2\\ 0&\text{otherwise} \end{cases} Xij={10if yi1=yi2otherwise
利用Hoeffding不等式来估计随机变量 X i j X_i^j Xij的样本平均值与其期望之间的差异。根据Hoeffding不等式,对于任意 ϵ > 0 \epsilon>0 ϵ>0,有:
P ( ∣ 1 n ∑ i = 1 n X i j − E [ X i j ] ∣ > ϵ ) ≤ 2 exp ( − 2 n ϵ 2 ) P\left(\left|\frac{1}{n}\sum_{i=1}^nX_i^j-\mathbb{E}[X_i^j]\right|>\epsilon\right)\le 2\exp(-2n\epsilon^2) P( n1i=1∑nXij−E[Xij] >ϵ)≤2exp(−2nϵ2)
注意到 E [ X i j ] = P ( y i 1 = y i 2 ) \mathbb{E}[X_i^j]=P(y_i^1=y_i^2) E[Xij]=P(yi1=yi2),这个概率可以通过样本外估计得到。
事实上,假设从分布 D D D中采样 m m m个独立同分布的数据点 ( x 1 , y 1 ) , … , ( x m , y m ) (x_1,y_1),\ldots,(x_m,y_m) (x1,y1),…,(xm,ym)构成验证集 V = { ( x 1 , y 1 ) , … , ( x m , y m ) } V=\{(x_1,y_1),\ldots,(x_m,y_m)\} V={(x1,y1),…,(xm,ym)},则相同的概率可以估计为:
P ^ ( y i 1 = y i 2 ) = 1 m ∑ i = 1 m 1 ( y i 1 = y i 2 ) \hat{P}(y_i^1=y_i^2)=\frac{1}{m}\sum_{i=1}^m\mathbf{1}(y_i^1=y_i^2) P^(yi1=yi2)=m1i=1∑m1(yi1=yi2)
在估计 P ^ ( y i 1 = y i 2 ) \hat{P}(y_i^1=y_i^2) P^(yi1=yi2)时,通过将训练得到的聚类结果应用到验证集 V V V上来进行。
具体来说,对于每一个数据点 ( x i , y i ) ∈ V (x_i,y_i)\in V (xi,yi)∈V,我们选择 f 1 ( x i ) f^1(x_i) f1(xi)和 f 2 ( x i ) f^2(x_i) f2(xi)中相同的那一个作为其聚类结果,然后计算相同的数据点占比。
注意到由于是将训练得到的聚类结果应用到验证集上,因此估计出来的 P ^ ( y i 1 = y i 2 ) \hat{P}(y_i^1=y_i^2) P^(yi1=yi2)实际上是有偏的(即估计结果的期望不等于真实值),但是可以证明这个偏差是可以控制的。
不难发现,当 n n n充分大时,两个随机变量序列的样本平均值与其期望之间的差异会逐渐变小,即 ∣ 1 n ∑ i = 1 n X i j − E [ X i j ] ∣ \left|\frac{1}{n}\sum_{i=1}^nX_i^j-\mathbb{E}[X_i^j]\right| n1∑i=1nXij−E[Xij] 的概率收敛于 0 0 0。
同时,当训练误差与最优误差之差 Δ = P e r r ( f S ) − P e r r ( f ) \Delta=P_{\mathrm{err}}(f_S)-P_{\mathrm{err}}(f) Δ=Perr(fS)−Perr(f)大于 ϵ \epsilon ϵ时,指示器函数 I ( S ) I(S) I(S)的取值为 1 1 1,否则为 0 0 0。因此,我们可以将一致性不等式表示为:
P ( X − f 1 ≠ X − f 2 ) ≥ max { 1 2 exp ( − 2 n ϵ 2 ) − Δ , P e r r ( f 1 ) − P e r r ( f 2 ) − 2 ϵ } P(X-f^1\ne X-f^2)\ge\max\left\{\frac{1}{2}\exp(-2 n \epsilon^2)-\Delta, P_{\mathrm{err}}(f^1)-P_{\mathrm{err}}(f^2)-2\epsilon\right\} P(X−f1=X−f2)≥max{21exp(−2nϵ2)−Δ,Perr(f1)−Perr(f2)−2ϵ}
其中 Δ = P e r r ( f S ) − P e r r ( f ) \Delta=P_{\mathrm{err}}(f_S)-P_{\mathrm{err}}(f) Δ=Perr(fS)−Perr(f)表示训练误差与最优误差之差, ϵ \epsilon ϵ是控制误差幅度的常数。这个不等式就是我们想要证明的一致性不等式。