1. 程式人生 > >聽課筆記(第六講): 歸納理論(臺大機器學習)

聽課筆記(第六講): 歸納理論(臺大機器學習)

上一講重點是一些分析機器學習可行性的重要思想和概念,尤其是生長函式(growth function) 和突破點(break point) 的理解。

這一講開篇再介紹一個界函式(bounding function)的概念:是指當(最小)突破點為k 時,生長函式m(N) 可能的最大值,記為B(N, k)。
顯然,當k=1時,B(N, 1) = 1; 當k > N 時,B(N,k) = 2^N; 當k = N 時,B(N,k)=2^N - 1.
於是很容易得到Bounding function table:


需要重點考慮 k < N 的情況。
林軒田在課程中是通過圖示的方法來猜想可能的遞推不等式,沒有嚴謹證明。

我這裡根據林老師的圖示進一步理解下,希望能給出一個相對更嚴謹的解釋。
我們考慮B(4, 3),對應的資料量是4 (x1, x2, x3, x4),從這四個資料的角度看應該有B(4,3)個有效的dichotomies。
如果我們遮住其中一個 資料(比如x4),餘下的dichotomies去重後,不超過B(3,3) 個。(否則就違背了突破點在3)。顯然, B(4,3) <= 2 * B(3,3)。
也就是說,當擴充套件為(x1,x2,x3,x4)時,(x1,x2,x3)上的dichotomies 只有部分被重複複製了(最多一次)。
於是可以設 被複制的dichotomies 數量為a,未被複制的數量為b。(0 <= a,b <= B(3,3) )

可以知道,B(3,3) = a+b; B(4,3) = 2*a + b.
我們假設a > B(3,2),這樣,當擴充套件到(x1,x2,x3,x4) 時,有大於B(3,2) 的(x1,x2,x3) 上的dichotomies 被複制。此時在(x1,x2,x3) 中一定能夠找到兩個點被打散(shatter)而且被複制了,由於被複制,對月這些dichotomies,x4可以取兩個不同類別的值,因此在(x1,x2,x3,x4) 中一定能找到3個點被打散了。這與"3"是突破點相違背。假設不成立,所以a <= B(3,2)。

所以,我們得到:B(4,3) = 2*a + b <= B(3,3) + B(3,2).

對於任意N > k, 利用上述思路,可以證明 B(N,k) <= B(N-1, k) + B(N-1,k-1).
有了遞推不等式,通過數學歸納法,我們證明下面的Bounding Function (N > k) :


這個式子顯然是多項式的,最高次冪是 k-1。
所以我們得到結論:如果突破點存在(有限的正整數),生長函式m(N) 是多項式的。

既然得到了m(N) 的多項式上界,我們希望對之前的不等式(如下圖)中M 進行替換。


然而直接替換是存在問題的,具體解釋和替換方法這裡不多說了,可以去看林老師的課程。主要問題就是Eout(h),out 的空間是無窮大的,通過將Eout 替換為驗證集(verification set) 的Ein' 來解決這個問題。最後我們得到下面的VC bound:


VC 界是機器學習中很重要的理論基礎,我們在後面還會對VC 維有詳細解釋。
到了這裡,我們可以說,2維感知機的學習是可行的!
這一階段大功告成! :-)