Foundations of Machine Learning: Rademacher complexity and VC-Dimension(2)
(一) 增長函數(Growth function)
在引入增長函數之前,我們先介紹一個例子,這個例子會有助於理解增長函數這個東西。
在input space為$\mathbb{R}$,假設空間為閾值函數,即當輸入的點$x>v$時,將該點標為正。如 圖1 為其中的6個假設。
圖1 閾值函數示例
很顯然,這個假設集合的大小為無限多個。但實際,我們很容易發現,對一個樣本大小為m的樣本,這些假設集可以分成$m+1$個大類,而每個大類里的假設對該樣本產生的經驗錯都是一致的。故我們很容易的想到可以直接用每個大類的一個假設作為代表,也就是說無限個假設實際上有效的假設只有$m+1$個。所以第一,第二篇文章中的$|H|$可以用$m+1$來代替。
但很不幸,這是一個特定的例子,並且有效函數依賴與樣本,所以我們並不容易將其推廣開來。但換個思維,我們是否可以找到某種方法將無限多的假設集分成有限個大類,即用有限個有效的假設集來等價這個無限個假設集。這就是增長函數要干的事。
首先,定義一個二分的集合:
$$\Pi_H(S)=\{(h(x_1),...,h(x_m)):h\in H\}$$
每一個$h$對樣本進行二分類,都會得到一個結果,所有的結果形成的集合即$\Pi_H(S)$,顯然$|\Pi_H(S)|\leq 2^m$。
定義 2.3 增長函數 對一個假設集合H的增長函數$\Pi_H:N\rightarrow N$ 定義為:
$$\forall m\in N,\Pi_H(m)=\max _{s\in \mathcal{X}^m}\mid \Pi_H(S)\mid$$
$\Pi_H(m)$表示使用hypothesis H 對任意m個點進行分類所能夠產生的最大數量的不同方法。增長函數提供了另外一種衡量hypothesis set H 復雜性的方法,並且這種方法與 Rademacher complexity 不一樣,它不依賴於產生樣本的分布。
首先,我們先介紹一下Hoeffding引理。
Hoeffding Lemma: 令$a\leq X\leq b$為期望$E[X]=0$的隨機變量。那么,對於所有$t>0$,以下不等式成立:
$$E[exp(tX)] \leq exp(\frac{t^2(b-a)^2}{8})$$
定理 2.3 Massart's lemma: 令$A\in \mathbb{R}^m$為一個有限的集合,記$r=\max_{X\in A}\parallel X\parallel_2$,那么以下不等式成立:
$$\mathop{E} _{\delta}[\frac{1}{m} \sup _{x\in A}\sum_{i=1}^m \sigma_ix_i]\leq\frac{r\sqrt{2log\mid A\mid}}{m}.$$
這里的$\sigma_i$為取值為$\{+1,-1\}$的獨立均勻隨機變量,$x_1,...,x_m$ 為向量$x$的各個成分。
證明: 對任意$t>0$,使用Jensen's 不等式可得:
\begin{align*}\exp(t\mathop{E} _\sigma[\sup _{x\in A}\sum _{i=1} ^m\sigma_ix_i])&\leq \mathop{E} _\sigma[\exp(t\sup _{x\in A}\sum _{i=1} ^m\sigma_ix_i)] \\&= \mathop{E} _\sigma[\sup _{x\in A}\exp(\sum _{i=1} ^mt\sigma_ix_i)] \\&\leq \sum _{x\in A}\mathop{E} _\sigma[\exp(\sum _{i=1} ^mt\sigma_ix_i)] \end{align*}
再根據$\sigma_i$的獨立性,應用Hoeffding's lemma可得:
\begin{align*}\exp(t\mathop{E} _\sigma[\sup _{x\in A}\sum _{i=1} ^m\sigma_ix_i])&\leq \sum _{x\in A}\prod _{i=1} ^m\mathop{E} _{\sigma_i}[\exp(t\sigma_ix_i)] \\&\leq \sum _{x\in A}\prod _{i=1} ^m \exp[\frac{t^2(2x_i)^2}{8}] \\&=\sum _{x\in A}exp[\frac{t^2}{2}\sum _{i=1} ^mx_i^2] \\&\leq \sum _{x\in A}exp[\frac{t^2r^2}{2}]=|A|e^{\frac{t^2r^2}{2}}\end{align*}
兩邊取$\log$,再同時除以t,可得:
$$\mathop{E} _{\sigma}[\sup _{x\in A}\sum_{i=1}^m \sigma_i x_i] \leq \frac{\log|A|}{t}+\frac{tr^2}{2}$$
對所有$t>0$均成立,令$t=\frac{\sqrt{2\log|A|}}{r}$,使右邊的式子最小,
$$\mathop{E} _{\delta}[\mathop{sup} _{x\in A}\sum_{i=1}^m \sigma_i x_i] \leq r\sqrt{2\log|A|}$$
再同時除以m即得到定理中的式子。證畢!
應用Massart's lemma,就可以用增長函數界定Rademacher complexity.
推論 2.1 令G為取值為$\{+1,-1\}$的函數族,那么以下不等式成立:
$$\mathfrak{R}_m(G)\leq\sqrt{\frac{2log\Pi_G(m)}{m}}.$$
證明: 對一個固定的樣本$S=(x_1,...,x_m)$,定義$G_{|S}$為
$$G_{|S}=\{ (g(x_1),...,g(x_m)))^T:g\in G \}$$
由於$g(x)$的取值為$\{-1,1\}$,所以對$\forall u\in G_{|S}$,有$\| u\|_2\leq \sqrt{m}$。並且根據$G_{|S}$定義可知$G_{|S}=\Pi_G(S)$,故$|G_{|S}|\leq \Pi_G(m)$。
所以,應用Massart's lemma有:
\begin{align*}\mathfrak{R}_m(G) &= \mathop{E} _S[\mathop{E} _\sigma[\sup _{u\in G_{|S}}\frac{1}{m}\sum _{i=1} ^m\sigma_iu_i]] \\&\leq \mathop{E} _S[\frac{\sqrt{m}\sqrt{2\log|G_{|S}|}}{m}] \\&\leq \mathop{E} _S[\frac{\sqrt{m}\sqrt{2\log\Pi_G(m)}}{m}] \leq \sqrt{\frac{2\log\Pi_G(m)}{m}}\end{align*}
證畢!
再將它與 定理2.2 結合起來,就得到增長函數表示的泛化邊界:
推論 2.2 增長函數泛化界 令H為取值為$\{-1,+1\}$的函數族。那么,對任意$\delta>0$,以概率$1-\delta$,對所有$h\in H$,以下不等式成立:
\begin{align}\label{equ:9}R(h)\leq\widehat{R}(h)+\sqrt{\frac{2log\Pi_H(m)}{m}}+\sqrt{\frac{log\frac{1}{\delta}}{2m}}\end{align}
另外,增長函數也可以不用首先通過Rademacher Complexity來界定,即:
$$\mathop{Pr}[\mid R(h)-\widehat{R}(h)\mid>\epsilon]\leq 4\Pi_H(2m)exp(-\frac{m\epsilon^2}{8})$$
這個不等式與式子\ref{equ:9}只差一個常數。
(二)VC維(VC-Dimension)
在介紹VC維時,我們得先來了解二個概念,一個是前面在介紹增長函數時已經講過的“二分”(dichotomy),還有一個是打散(shattering)。
所謂“二分”指的是給定一個樣本S,和一個假設$h$,用$h$對S進行分類的結果稱為二分。因此對一個假設集合H,可以產生多種不同的“二分”,而這些二分構成了假設集H對樣本S的二分集合$\Pi_H(S)$。
“打散”的概念同樣也是針對假設集和樣本。我們說“一個樣本S可以被假設集H打散”當且僅當用這個假設集中的假設可以實現樣本S的所有可能的“二分”,即$\mid \Pi_H(S)\mid=2^m$。
現在來定義VC維,假設集H的VC維指的就是能夠被H打散的最大的樣本個數。更嚴格定義如下:
定義 2.4 VC-Dimension 假設集H的VC維是能夠被H打散的最大樣本集的大小:
$$\mathop{VCdim}(H)=\max{m:\Pi_H(m)=2^m}.$$
這里必須注意兩點:如果我們說假設集H的VC維d,那么意思就是說
- 存在着一個樣本大小為d的樣本能夠被H打散(並不是說所有樣本大小為d的樣本都能夠被打散);
- 不存在一個樣本大小為$d+1$的樣本能夠被H打散(即所有樣本大小為$d+1$的樣本都不能被H打散)
一些例子(這些例子的證明可見本人以前的文章:http://www.cnblogs.com/boostable/p/iage_VC_dimension.html):
- 當S為平面,H為矩形框,$VCdim(H)=4$.
- 當S為x軸,H為區間,$VCdim(H)=2$.
- 當S為圓周,H為凸集,$VCdim(H)=\infty$.
- 當S為k維空間,H為半空間,$VCdim(H)=k+1$.
接下來我們來證明一個定理,它將增長函數與VC維聯系起來。
定理 2.4 Sauer's lemma 令H稱為$\mathop{VCdim}(H)=d$的假設集。那么,對所有$m\in N$,以下不等式成立:
$$\Pi_H(m)\leq\sum_{i=0}^d{m \choose i}.$$
證明:首先,確定m可取的值為$1,2,...$,d可取的值為$0,1,2,...$,
- 當$m=d$時,$\Pi_H(m)=2^d$,而
$$\sum _{i=0} ^d {m \choose i}=\sum _{i=0} ^d{d \choose i}=2^d$$
故上式成立。 - 當$m<d$時,$\Pi_H(m)=2^m$,而
$$\sum _{i=0} ^d {m \choose i}=\sum _{i=0} ^m{m \choose i}+\sum _{i=m+1} ^d{m \choose i}=2^m $$
故上式成立。 - 當$m>d$時,用歸納法證明。
- 當$d=0$時,對所有m都成立。這是因為$d=0$時$\Pi_H(m)=2^0$,而$\sum _{i=0} ^d{m \choose i}=1$,故成立。
- 假設$(m,d-1)$時成立,即$\Pi_H(m)\leq\sum _{i=0} ^{d-1}{m \choose i}$,則
$$\sum _{i=0} ^{d-1}{m \choose i} \leq \sum _{i=0} ^{d-1}{m \choose i}+{m \choose d}=\sum _{i=0} ^{d}{m \choose i}$$
$(m,d)$也成立。
如 圖2 所示。證畢!
圖2 Sauer's lemma 示例
推論 2.3 令H為$\mathop{VCdim}(H)=d$的假設集。那么,對所有的$m\geq d$:
$$\Pi_H(m)\leq{\frac{em}{d}}^d=O(m^d)$$
證明:
\begin{align*}\Pi_H(m) &\leq \sum _{i=0} ^d {m \choose i} \\&\leq \sum _{i=0} ^d {m \choose i}(\frac{m}{d})^{d-i} \\&\leq \sum _{i=0} ^m {m \choose i}(\frac{m}{d})^{d-i} \\&=(\frac{m}{d})^d\sum _{i=0} ^m{m \choose i}(\frac{m}{d})^i \\&=(\frac{m}{d})^d(1+\frac{d}{m})^m \leq (\frac{m}{d})^de^d\end{align*}
最后一個不等式是因為$(1-x)\leq e^{-x}$。證畢!
於是我們可以把推論2.2 中的$\Pi_H(m)$用它的上界$(\frac{em}{d})^d$來替代,得到如下推論:
推論 2.4 VC-維泛化界 令H為取值為$\{+1,-1\}$且VC維為d的假設集。那么,對任意的$\delta>0$,至少以概率$1-\delta$,以下不等式對所有$h\in H$都成立:
$$\mathcal{R}(h)\leq\widehat{\mathcal{R}}(h)+\sqrt{\frac{2d\log\frac{em}{d}}{m}}+\sqrt{\frac{\log\frac{1}{\delta}}{2m}}$$
我們可以將上式簡寫成
$$R(h)\leq\widehat{R}(h)+O(\sqrt{\frac{log(m/d)}{m/d}})$$
也就是說上界由$m/d$決定,m越大上界越小,d越大H越復雜,上界也越大。