# 林軒田機器學習基石筆記 - 第五講、第六講
###### tags: `林軒田` `Maching Learning` `機器學習基石`
---
>* **本文為一系列課程之筆記,建議從" [機器學習基石筆記-1](https://hackmd.io/s/ryxzB7LwN) "開始閱讀**
>>
>* **本文討論內容請參考:
機器學習基石第五講 : Training versus Testing
機器學習基石第六講 : Theory of Generalization**
>
>* **本篇所有圖片部分由筆者製作,其它均為機器學習基石課程內容講義**
>
---
回顧上一篇的結論,只要 Hypothesis set $\mathbb{H}$ 是有限集 (#$\mathbb{H}=M$ is finite),且dataset $\mathbb{D}$ 有夠多的資料(#$\mathbb{D}=N$ is large enough),我們就能確定 :
$\mathbb{P}(\mid E_{out}(\mathbb{H})-E_{in}(\mathbb{H}) \mid>\epsilon)$ 有一個很小的上界$2Me^{-2\epsilon^2N}$
$\implies E_{out}$與 $E_{in}$ 夠接近 ( Learning Algorithm 從 $\mathbb{H}$ 選出來的 $g$ ,$E_{out}(g)$與 $E_{in}(g)$ 夠接近 )
$\implies E_{in}(g) \rightarrow 0$ 則 $E_{out}(g) \rightarrow 0$
<br>
那我們現在有兩個問題要解決 :
1. **$2Me^{-2\epsilon^2N}$這個上界夠好嗎?**
2. **如果 $\mathbb{H}$ 是 $infinite\ set$ ?**
這兩個問題其實是一體兩面,解決了一個,另外一個也就能順利解決。
我們能不能找到一個足以代表 $infinite\ \mathbb{H}$ 的一個 $finite\ number\ -m_{\mathbb{H}}$ 替換掉 $M$ ,形成一個更逼近的上界,也可以處理 $infinite\ \mathbb{H}$沒有上界的情況 ?
### $2Me^{-2\epsilon^2N}$這個上界夠好嗎?
<br>
![](https://i.imgur.com/GYAMpry.png =200x)
這是一個簡單的文式圖,如果我們今天要算 $B_1\cup B_2\cup B_3$ 數量的上界,最簡單的莫過於直接把三者數量相加, $B_1+B_2+B_3$ 絕對是 $B_1\cup B_2\cup B_3$的其中一個上界,但我們也很清楚的知道,當三者重疊部分越多,這樣的上界越不逼近。
但在上一篇的證明中,我們卻利用這樣的方法找出其上界
![](https://i.imgur.com/A7RzZrl.png)
當 $M$ 為 $finite$ 時還行得通,反正我們只要確定有上界即可逼近,但當 $M$ 為 $infinite$ 時就會出現很大的問題。
### 如果 $\mathbb{H}$ 是 $infinite\ set$ ?
---
在處理這個問題以前,我們先定義一些概念:
1. **dichotomy**
以 $\mathbb{R}^2$ 為例,在其中有$N$個資料點 $\mathbb{X}_1,\mathbb{X}_2,...,\mathbb{X}_N$,則顯然的能將這 $N$個資料點進行二元分類的 $\mathbb{H}$ 是一個 $infinite\ set$ (任何一條在 $\mathbb{R}^2$ 的直線都是一個 $h$)。
從數學的角度來說, $dichotomy$ 代表的是一個族 ( $family$ ),就 hypothesis $\mathbb{H}$ 來看,若把對 $\mathbb{X}_1,\mathbb{X}_2,...,$family$\mathbb{X}_N$ 進行同一種分類的 $h$ 視為同一族,那麼我們便可以將無限多的 $h$ 變成有限個 $dichotomies$。
2. **Growth Function $m_\mathbb{H}(N)$ :** $\mathbb{H}\rightarrow\mathbb{R}^1$
$m_\mathbb{H}(N)=\max\limits_{\forall x_i\in\chi}(\mathbb{H}(\mathbb{X}_1,\mathbb{X}_2,...,\mathbb{X}_N ))$,這函數白話一點來說,就是所有的 $h$ 到底可以把資料點做出多少種不同的二元分類。在 Machine Learning 的討論中,$N$ 都是有限正整數,那麼$m_\mathbb{H}(N)$出來的值也必然會是有限正整數 ( $\leq2^N$ )[^1]
[^1]:為什麼 $m_\mathbb{H}(N)$ 不一定會等於要取 $\max$ ? 為什麼不等於$2^N$?
從排列組合的觀點來看,$N$ 個點的二元分類應該要有 $2^N$ 種,但我們這裡要的是 $"Linear\ separable"$ 所以會有所差異。
![](https://i.imgur.com/cuNoGXM.png)
從上圖可以看出來,$N=4$ 時,應該會有16種二分法,但是由於我們要求線性可分,因此一定「至少」有兩種 ( 圖中打 X 的狀況以及其對稱情況 )不符合我們的需求。 為什麼是「至少」? 如果這 $N$ 筆資料有特別的排列情況(EX:共線),當然有可能有更多種狀況會被排除,但,$m_\mathbb{H}(N)$函數要的是「max」,也就是說我現在要看的是被排除最少的情況,所以在 $N=4$ 時,$m_\mathbb{H}(4)=14$ ( 那兩種被排除的狀況,就是不管四筆資料怎麼分布,絕對都會被排除 )
當然,$m_\mathbb{H}(N)$也會跟資料本身處的維度空間有關。
3. **shatter**
我們說 $\mathbb{X}_1,\mathbb{X}_2,...,\mathbb{X}_N$ 可以被 $shatter$ $\implies m_\mathbb{H}(N)=2^N$ (所有的分類情況都會發生)。所以在 $\mathbb{R}^2$ 情況下,$\mathbb{X}_1,\mathbb{X}_2,...,\mathbb{X}_N$ 可以被 $shatter$ (當 $N\leq3$)
$Mathematical\ \ \ Definition\ :$
$C\ shatters\ A\ \ if\ \ \forall a\in A,\exists c\in C\ \ s.t\ \ a=c\cap A \\ i.e.\ \mathbb{P}(A)=\left\{ c\cap A \mid\ c\in C\right\}$
<br>
4. **Break Point**
第一個不會被 $shatter$ 的 $N$,在 $\mathbb{R}^2$ 情況下,$break\ point=4$
> Break Point是一項很重要的指標,代表著當 $N>Break\ Point$ 時,整個成長會大幅趨緩 ( $O(N)\ll 2^N,when\ N>Break\ Point$ )。
5. **Big O** ( Time complexity 、成長速度、無限大漸進概念)
$Mathematical\ \ \ Definition\ :$
$Given f(x),g(x)\ \ \\\exists\ M,x_0\ \ \forall\ x\geq x_0\ \ s.t.\ \mid f(x)\mid\leq M\mid g(x)\mid \\\implies\ f(x)\in O(g(x)) \ or\ f(x)=O(g(x))$
| 資料空間 &分類型態[^2] | Break Point | $m_\mathbb{H}(N)$ | O(N) |
| -------- | -------- | -------- | -------- |
| 1-D Positive ray | 2 | N+1 | $O(N)$|
| 1-D Positive interval | 3 | $\frac{1}{2}N^2+\frac{1}{2}N+1$ | $O(N^2)$ |
| Convex Set | $\infty$ | $2^N$ | -- |
| 2-D Perceptron | 4 | $<2^N$ (in some cases) | $O(N^3)$ |
[^2]:林軒田教授在課堂上講了四種的資料空間及分類型態 :
**2-D Preceptron , 1-D Positive Ray , 1-D Positive interval and Convex Set**
<br>
![](https://i.imgur.com/cuNoGXM.png =300x)![](https://i.imgur.com/hJOlpy9.png =300x) ![](https://i.imgur.com/SFDXhiD.png =300x)![](https://i.imgur.com/A21Tr8u.png =300x)
6. **Bounding Function $B(N,K)=\max\limits_{N>K}(m_{\mathbb{H}}),\ where\ K=Break\ Point$**
這樣看起來還是有點抽象,我引用林軒田與Yaser S . Abu-Mostafa所著的 " Learning From Data " 一書的說法比較清楚 :
$$B (N, k)\ is\ the\ maximum\ number\ of\ dichotomies\\ on\ N\ points\ such\ that\ no\ subset\ of\ size\ k\ of\ the\ N\ points\ can\ be\ shattered\\ by\ these\ dichotomies.$$
在討論Bounding Function時,我們已經不管分類的型態是什麼,單純只看Break Point K為多少。(1-D perceptron 或是 1-D positive ray K值都是3)
![](https://i.imgur.com/hAG2G5G.png)
(這邊在課堂上都保守的以 $\leq$ 表示,但實際上有更強的 $=$ 關係)
從上圖我們可以發現Bounding Function的幾個重要性質[^3] :
$$B(N,K)=B(N-1,K)+B(N-1,K-1)$$$$m_\mathbb{H}(N)\leq B(N,K)$$
[^3]:**試證明 $B(N,K)=B(N-1,K)+B(N-1,K-1)$**
Claim : $B(N,K)=\sum\limits_{j=0}^{K-1}{{N}\choose{j}}$
<p.f>
$B(N,K)\\=2^N-{{N}\choose{K}}-{{N}\choose{K+1}}-...-{{N}\choose{N}}\\={{N}\choose{0}}+{{N}\choose{1}}+{{N}\choose{2}}+...+{{N}\choose{K-1}}\\=\sum\limits_{j=0}^{K-1}{{N}\choose{j}}$
$B(N,K)$的最高次項為$N^{K-1}$
因為最後一項為$\frac{N(N-1)(N-2)...(N-K+1)}{K!}$
<br>
$\because B(N,K)=\sum\limits_{j=0}^{K-1}{{N}\choose{j}}={{N}\choose{0}}+{{N}\choose{1}}+{{N}\choose{2}}+...+{{N}\choose{K-1}}\\
={{N}\choose{0}}+({{N-1}\choose{1}}+{{N-1}\choose{0}})+({{N-1}\choose{2}}+{{N-1}\choose{1}})+...+({{N-1}\choose{k-1}}+{{N-1}\choose{k-2}})\\
={{N-1}\choose{0}}+({{N-1}\choose{1}}+{{N-1}\choose{2}}+..+{{N-1}\choose{k-1}})+({{N-1}\choose{0}}+{{N-1}\choose{1}}+..+{{N-1}\choose{k-2}})\\
=\sum\limits_{j=0}^{K-2}{{N}\choose{j}}+\sum\limits_{j=0}^{K-1}{{N-1}\choose{j}}$
---
現在所有的工具都準備好了,我們該準備來面對上面的問題了~
為了避免因為 $infinite\ \mathbb{H}$ 而造成的上界快速擴張狀況,我們用$m_\mathbb{H}(N)$來取代原本的 $M$
最後可以得到一個比較逼近的上界[^4] :
$$\mathbb{P}(\mid E_{out}(\mathbb{H})-E_{in}(\mathbb{H}) \mid>\epsilon)\leq 4m_\mathbb{H}(N)e^{\frac{1}{8}\epsilon^2N}$$
我們稱之為 $Vapnik-Chervonenkis Bound\ (VC\ Bound)$
[^4]: 證明 $\mathbb{P}(\mid E_{out}(\mathbb{H})-E_{in}(\mathbb{H}) \mid>\epsilon)\leq 4m_\mathbb{H}(N)e^{\frac{1}{8}\epsilon^2N}$
<p.f>
Step1 :
Assume $D'$ iid with $D$ is a data set with size N (ghost data)
(若$E_{in}$與$E_{out}$離得很遠,則$D$裡面N筆資料大多沒選到error點,那母體種再取N個點($D'$)就會包含比較多的error,$E'_{in}$與$E_{out}$就會有較大機率會比較靠近)
<br>
PS: $E_{in},E'_{in}\ and\ E_{out}$,其實就是個別代表著實務上的 $E_{train},E_{val}\ and\ E_{test}$
<br>
Step2 :
![](https://i.imgur.com/xP147ab.png =300x)
當$N$足夠大時,$E_{in}(E'_{in})$的整體分布狀況會近似於以$E_{out}$為中心的常態分佈,$E_{in}$越往右跑,$E'_{in}$會越往左靠
<br>
$\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2})$
$\geq\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2}\ and\ \sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E_{out}(h)\mid>\epsilon)$
$=\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E_{out}(h)\mid>\epsilon)\times\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2}\ \
\mid \ \sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E_{out}(h)\mid>\epsilon)$
|$\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2}\mid\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E_{out}(h)\mid>\epsilon)$|
| -------- |
| $\mathbb{P}(A\mid B)$ :在B條件下,A發生的機率 |
| $\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2}\mid\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E_{out}(h)\mid>\epsilon)$ $\geq\mathbb{P}(\mid E_{in}(h^*)-E'_{in}(h^*)\mid>\frac{\epsilon}{2}\mid\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E_{out}(h)\mid>\epsilon)$ $(\because\mid E_{in}(h^*)-E'_{in}(h^*)\mid>\frac{\epsilon}{2}\implies\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2})$ $\geq\mathbb{P}(\mid E_{in}(h^*)-E'_{in}(h^*)\mid\leq \frac{\epsilon}{2}\mid\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E_{out}(h)\mid>\epsilon)$ $(\because\mid E'_{in}(h^*)-E_{out}(h^*)\mid\leq \frac{\epsilon}{2}\ and\ \sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E_{out}(h)\mid>\epsilon$ $\implies\mid E_{in}(h^*)-E'_{in}(h^*)\mid>\frac{\epsilon}{2})\\\geq 1-2e^{-2({\frac{\epsilon}{2}})^2N}$
$\therefore\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2})\geq(1-2e^{-2({\frac{\epsilon}{2}})^2N})\times\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E_{out}(h)\mid>\epsilon)$
<br>
Step3 :
W.L.O.G assum : $e^{\frac{1}{2}\epsilon^2N}< \frac{1}{4}$
(if not ,VC BOund 顯然為真)
$\therefore\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2})\geq\frac{1}{2}\times\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E_{out}(h)\mid>\epsilon)$
$\therefore 2\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2})\geq\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E_{out}(h)\mid>\epsilon)$
<br>
Step4 :
現在整個母體的機率已經被我們用$D\ and\ D'$限制住
$\mathbb{P}(\mid E_{in}(h)-E_{out}(h)\mid>\epsilon)$
$\leq2\mathbb{P}(\sup\limits_{h\in\mathbb{H}}\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2})$
$\leq 2\sum\limits_{h\in\mathbb{H}}\mathbb{P}(\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2})$
$=2m_\mathbb{H}(2N)\times\mathbb{P}(\mid E_{in}(h)-E'_{in}(h)\mid>\frac{\epsilon}{2})\mid)$
($\because$把$D,D'$作為一個母體來看)
$=2m_\mathbb{H}(2N)\times\mathbb{P}(\mid E_{in}(h)-\frac{E_{in}(h)-E'_{in}(h)}{2}\mid>\frac{\epsilon}{2})>\frac{\epsilon}{4}\mid)$
($\because E_{in}(h)-E'_{in}(h)<\frac{\epsilon}{2}\implies\frac{E_{in}(h)-E'_{in}(h)}{2}<\frac{\epsilon}{4}\implies E_{in}(h)-\frac{E_{in}(h)}{2}-\frac{E'_{in}(h)}{2}<\frac{\epsilon}{4}$)
$\leq 2m_\mathbb{H}(2N)\cdot 2\cdot e^{-2e^{-2({\frac{\epsilon}{2}})^2N}}$($\because$針對單一$h$,所以$M=1$)
$=4m_\mathbb{H}(2N)e^{-\frac{1}{8}\epsilon^2N}$得證
<br>
### 結論
$\mathbb{P}(\mid E_{in}(g)-E_{out}(g)\mid>\epsilon)$
$\leq 4m_\mathbb{H}(2N)\cdot e^{-\frac{1}{8}\epsilon^2N}$
$\leq 4(2N)^{K-1}\cdot e^{-\frac{1}{8}\epsilon^2N}\ ,\ if\ N\ is\ large\ enough\ and\ K\ exists.$
($\because m_\mathbb{H}(N)\leq B(N,K)\leq N^{K-1}$)
<br>
$\therefore$存在 $Break\ point$ 且 $N$ 夠大的情況下,即使 $infinite\ \mathbb{H}$,演算法從$E_{in}$很小的條件下挑出一個 $g$,都一定會有一個有限上界可以確保$E_{in}$跟$E_{out}$夠接近。