Tips:所有沒有進行解釋說明的符號含義均參照之前的章節Lec~
上一節介紹了級聯上限存在過分估計的問題,我們欲尋求一個多項式mH(N)取代M,并給出了成長函數、break point的定義,這節將證明如果存在break point ,成長函數會是多項式型的。
Lec 6:Theory of Generalization
先回顧一下四種成長函數,成長函數mH(N)代表dichotomies最大數量:
1、Restrict of Break Point
先通過一個小栗子感受一下break point會對dichotomies的數量有怎么樣的限制?
在k=2的情況下:
N = 1:顯然mH(N)=2;
N = 2:mH(N)<4,所以最多有3個dichotomies;
N = 3:k = 2代表不能shatter任意兩個data,我們分步驟來看,
1)顯然,只有1個dichotomy時,或有2個dichotomies時,,或有3個dichotomies時,一定不會shatter任意兩個data:
2)但是,當有4個dichotomies時,就可能會shatter兩個data,如下圖中x2和x3 shattered(可以這樣理解,shatter就是x2和x3所有可能的二元組合都能出現)
不過也會存在4個dichotomies時不shatter兩個data的情況,如:
3)接著上面4個dichotomies不shatter的情況,繼續加入dichotomy,看5個dichotomies時會怎樣?x1、x2、x3一共有8種二元組合,所以此時5個dichotomies存在3種情況,發現分別都會shatter:
所以,在N=3,k=2時,最多會有4個dichotomies.
N = 2時,最多有3個,比4小一點;N = 3時,最多有4個,比8小的多一點!
似乎當N>k時,break point k 會限制mH(N)最大值的大小!
所以如果證明存在k限制的mH(N)最大值≤poly(N)就可以說明mH(N)是多項式型的。
2、Bounding Function:basic cases
定義一個新的函數B(N,K),maximum possible mH(N)when break point = k.
bounding function 與 H 的細節無關,只需要知道k.(個人是這樣理解的,dichotomies的數量其實就是二元組合的種類,h不同時,可能得到的dichotomies會有所不同,但是這里我們是表示最大的mH(N),所以可以拋開H的細節,專注于二元組合的最大值,即只需要知道k)例如B(N,3)可以bound住positive intervals(k=3),也可以bound住1D perceptron(k = 3)。
所以我們的new goal 是證明 B(N,k)≤ poly(N)?
先列出我們已經知道的B(N,k)的值。首先由上節已知(2,2)=3,(3,2)=4;
然后 k>N時,會shatter,則B(N,k)= 2的N次方;
還有就是對角線上面的值,N=k時,(2,2)取3時是選了一個比2的N次方小1的值(一定比2的N次方小,我們挑了一個比2的N次方小的數中最大的一個),其他對角值也如此取;
最后是第一列的值,一定都是1.至此,我們得到了B(N,k)表上一多半的值!其他值繼續看下一節。
3、Bounding Function:inductive cases
我們要補全上一節的表。
先考慮B(4,3)這一格。猜測:B(4,3)只是比B(3,3)多了一個點,也許它們之間有著什么聯系?!
先給出B(4,3)的結果(這個結果完全可以用代碼全遍歷一遍得出),結果是11:
下面看如何把B(4,3)reduce成B(3,3)?
先重新排列B(4,3)的dichotomies,如下圖所示。可以看出橘色部分的x1、x2、x3是“成雙成對”存在的,紫色部分是形單影只的。可以表示B(4,3) = 11 = 2 α + β .
下面就是見證奇跡的時刻!
遮掉x4,只剩下x1、x2、x3,在(x1,x2,x3)上會有α + β個dichotomies,B(4,3)任意3個點都不會shatter,那么α + β個dichotomies也就不會shatter x1、x2、x3,所以 α + β ≤ B(3,3)
只看x1 x2 x3的橘色部分,應該任意兩個點不能shatter,why?假設此時 x1 x2 shatter,那么x1 x2 與 x4組合起來就會存在3個點shatter,就不滿足B(4,3),所以α不能shatter橘色部分的任意兩個點,可以得出 α ≤ B(3,2)
綜合上述兩個結論,可以得出 B(4,3)= 2α + β = (α + β)+ α ≤ B(3,3)+ B(3,2),這樣我們就得到了Bounding Function的upper bound !(回想一下:從成長函數,到成長函數的上限,再到上限的上限,哈哈哈哈~~~)
給出一個結論:
B(N,k)的最高次項是k-1次的,這個結論可以通過數學歸納法inductive證明。實際上≤可以是=,這需要更復雜的數學證明,這里不給出,我們只需要明白B(N,k)會被poly(N)bound住 if break point exist :)
4、VC bound
已經證明了mH(N)的上限是多項式,那我們是不是就可以替換M了呢?
并沒有這么簡單,實際上會是下圖這樣的,多了一些常數:
這個的證明很有技巧性,我們不深入探究,只介紹這幾個常數的含義。(首先承認這部分筆者看的也不是很懂,希望得到大家指點~互相學習)
step 1:replace Eout by Ein '
有了上節的bound可以知道Ein(h)是有限多個,但是Eout(h)是無限多的。怎么辦?之前提過采樣一個大小為N的verification set D ' ?去估計Eout,稱為Ein ' 。
由上圖分布可以得出,Ein ' 和Ein 離得遠的概率是 Ein和Eout離得遠的概率的一半多,因此得到下式,右側式子的ε/2的1/2是數學上更強的約束。
step 2:decompose H by kind
上面的式子是在一個h上的結論,現在換成kind得到在H上的結論:
插播一條舊結論:
這里有一組很形象的圖展示了union bound on hypothesis 和 union bound on kind的差別,第一張圖是霍夫丁不等式說明對一個固定的h來說bad data的概率很小,對H中的每一個h使用union bound 會得到第二張圖,花花綠綠的很多圈就代表了bad data沒有重疊,我們后來進行了分類kind,再對kind進行union bound就得到第三張圖!值得體悟一下~
step 3:use hoeffding without replacement
現在不是無限多的小球 in bin,而是2N個小球,這是不放回的霍夫丁,但是結論和原來的霍夫丁還是一樣的。這時計算的不是Ein和Eout的差,而是Ein和均值的差,均值即(Ein + Ein ')/2,由|Ein - Ein'|>ε/2可以得到
至此,得到:
其實這就是著名的Vapnik-Chervonenkis(VC) bound!!
所以現在就可以真正說learning with 2D perceptrons(break point is 4,mH(N)的最高次是3) is feasible!
有木有長舒一口氣的感覺呢?!下一章告訴你力氣不會白費!