1. 程式人生 > >機器學習基石 Lecture6: Theory of Generalization

機器學習基石 Lecture6: Theory of Generalization

機器學習基石 Lecture6: Theory of Generalization

Restriction of Break Point

上一個lecture裡講到關於對於給定數量 N

N 的資料集,在上面通過對不同假設函式進行分類的類別上限可以用一個growth function m H ( N )
m_{H}(N)
來表示。而這個函式有一個Break Point,在這個點 k k 開始, N N 大於 k
k
時的結果會小於 2 N 2^{N} 。下面是幾種不同假設空間的growth function:
在這裡插入圖片描述
那麼當知道了第一個Break Point k k 之後對 k + 1 k+1 時的情況進行推導時會發生什麼呢?

比如假設當前 N = 3 N=3 而對應的 k = 2 k=2 ,那麼在計算 m H ( N ) m_{H}(N) 過程如下。首先明確,**Break Point k = 2 k=2 的意思是,對於任意的 k k 個樣本點,都不能被分成 2 k 2^{k} 種不同的dichotomies。**對應圖示如下:
在這裡插入圖片描述
當前的3個樣本點被分為了3種不同的dichotomies。而且沒有哪兩個樣本的組合被分配成了 2 k = 4 2^{k}=4 種dichotomies,也就是這樣的分配是合理的。但是如果再新增一種成為如下形式:
在這裡插入圖片描述
那麼可以看到 x 2 , x 3 x_{2}, x_{3} 這兩個樣本點被分成了4種不同的dichotomies,這樣就與break point k = 2 k=2 的假設不符合。因此新新增的這種形式應該去掉。而另換了一種第四種之後發現依然符合設定,但是接著無論如何新增第五種,都找不到一個符合條件的分類形式。也就是說 m H ( N ) = 4 m_{H}(N)=4
在這裡插入圖片描述
這樣我們就有一個想法,即如果能夠找到一個break point k k ,那麼可能能夠得到 m H ( N ) m_{H}(N) \leq maximum possible m H ( N ) m_{H}(N) given k p o l y ( N ) \leq poly(N) 的結論。也就是期望得到growth function有一個多項式級別的上界。

Bounding Function: Basic Cases

我們繼續定義一個邊界函式 B ( N , k ) B(N,k) ,表示的是當break point = k k 的時候,最大可能的 m H ( N ) m_{H}(N) 。它有兩個特性:1.任意 k k 個元素不能夠完成 2 k 2^{k} 種分類組合。2.這個值與假設函式 H H 的細節無關,因為表示的是上界。
在這裡插入圖片描述
根據我們目前已知的性質可以簡單的來填一個對應的表格:
在這裡插入圖片描述
右半邊表示的是 k k 相當於沒有限制,因此可以直接寫出。而對角線上的部分可以根據break point的定義來填上,只要小於 2 N 2^{N} 即表示的是break point,而 B ( N , k ) B(N,k) 正好表示的是上限,因此減一即可。
在這裡插入圖片描述

Bounding Function: Inductive Cases

下面我們可以計算出 B ( 4 , 3 ) B(4,3) ,簡單地編寫一個對應的程式碼判斷即可計算出結果是11。可以根據前三項有單個分類和一對錶示來區分不同的類別,有一種的是紫色,有兩種的是橘色:
在這裡插入圖片描述
這樣就可以分成兩個部分,如下圖所示:
在這裡插入圖片描述
可以得到如下關係:
在這裡插入圖片描述
以此類推得到一個遞推關係:
在這裡插入圖片描述
而以此得到了一個可以簡單歸納法證明的不等式(不等號其實為等號):
在這裡插入圖片描述
這個不等式得到的結果顯示,對於給定的 k k ,上限函式 B ( N , k ) B(N,k) 的上限是個多項式。因此推出 m H ( N ) m_{H}(N) 的上限是個多項式。可以進行簡單的驗證:
在這裡插入圖片描述

A Pictorial Proof

回到我們最初的不等式,我們想要的是希望資料集內部錯誤率 E i n ( h ) E_{in}(h) 能夠與外部錯誤率 E o u t ( h ) E_{out}(h) 相等(PAC)。想要的可能是下圖上部的不等式。不過實際上得到的是下部分的不等式。
在這裡插入圖片描述
下面可以簡要介紹其中多出的常數是如何出現的。

步驟1:使用另一個數據集上的錯誤率來替代集外錯誤率:
在這裡插入圖片描述
也就是利用這兩個資料集上錯誤率相差較大的概率,來放縮作為資料集內部錯誤率 E i n ( h ) E_{in}(h) 與外部錯誤率 E o u t ( h ) E_{out}(h) 相差的上限。

E i n ( h ) E_{in}(h) 有限多種, E o u t ( h ) E_{out}(h) 無限多種,因此需要替換外部錯誤率。(什麼意思???概率上不好算???)

步驟2:將假設空間 H H 使用類別進行展開:
在這裡插入圖片描述
這樣無窮大的假設空間 H H 就使用了有限大的dichotomies數量 H ( x 1 , . . . , x N , x 1 , . . . , x N ) |H(x_{1},...,x_{N},x_{1}^{'},...,x_{N}^{'})| 來取代。而這個數的上限為 m H ( 2 N ) m_{H}(2N)

步驟3:使用一個不放回形式的Hoeffding不等式:
在這裡插入圖片描述
也就是對 P [ ] P[] 的部分進行計算得到最終的結果。對應的結果固定了一個假設函式 h h ,使用的是一個只有 2 N 2N 個樣例的不放回的抽樣。因此得到了相對應的結果。這個結果叫做 VC bound。
在這裡插入圖片描述

好,假裝這三步都很懂,本節結束。