機器學習演算法可行性(機器學習基石)

200765821發表於2017-12-26

本文是作者學習臺大林軒田教授《機器學習基石》課程後整理的簡要筆記(未按課程回目分節),內容大部分來源於林軒田教授的課程資料,其餘相關參考連結已標出。

版權所有:CSDN部落格 拖延症患者的自愈小記


可行性 - Feasibility


從訓練樣本學習得到模型去估計未知資料(具象化可以想成從bin中捧出一把marbles,通過marbles中不同顏色的比例估計整個bin中不同顏色的比例),這是典型的以小窺大,必須探討機器學習如何保證這個“窺”是可行的。機器學習可行性,即希望證明h在樣本中的錯誤率Ein可以和未知資料上的錯誤率Eout比較接近,這樣下一步的工作——降低Ein,才能相應得到小的Eout,進而得到一個和f比較接近的h作為g,達到好的機器學習效果。

一步步來(均以二分問題為例):

  • Hoeffding

Hoeffding不等式是數學上已證的,證明了一件事:樣本量足夠大時,樣本中的佔比和整體真實的佔比非常接近,即所謂probably approximately correct(PAC)


對單個給定的hypothesis,Hoeffding可以作為判定這個h是否好的依據,也就是若該h在樣本上錯誤率很小,則極大概率可以確保它在全體真實資料上錯誤率也很小

  • Multi-binhoeffding

對包含了很多h的hypothesis set,就不能簡單的用Hoeffing結論了。一個小概率事件如果重複多次,其發生概率就會很大(如有150個人每人拋5次硬幣,至少有一人五次均正面朝上的概率為99.15%,而單就一個人而言這個概率是1/32),這使得以下情形有可能發生:基於樣本D,在H中挑選出錯誤率最小的h,但實際上該h在整體上的錯誤率很大,即該樣本D對於該h來說是BAD樣本

對於給定的任意D,它是某些h的BAD樣本的概率為P,推導可得P正比於樣本資料量N、反比於H中h的數量M(用到Hoeffingh和union bound),也就是說,M越小、N越大時,我們可以越放心的在H中選則錯誤率最小的作為想要的g

(A)

至此,證明了【在M有限、N足夠大的條件下】對H中的任意h,Ein ≈ Eout


參考:my.oschina.net/findbill/bl…

  • VC bound

【在M->∞的情況下】怎樣把M轉換成有窮且增長較慢的多項式,從而讓不等式右邊儘可能小,就是下面進一步探討的問題,突破口是前面證明過程中變形用到的union bound。 從公式可以看出推導後上界很寬鬆,只有在M個事件沒有交集時才會頂界,也就是隻要“存在一個h,對於h來說該D是BAD樣本”,那麼我們就判定它是BAD樣本了(類似一票否決的意思),也就是這個上界定高了



Dichotomy:給定樣本D,根據樣本點是○還是×(代表著Ein是1還是0)將它們分類,如果分類結果是線性可分的(用某h可以分出這個局面),就稱這個局面為一個dichotomy(二分/劃分,相當於把H中的所有h按照不同的線性分類結果進行分組,或者說一個dichotomy包含了所有可以分出這個局面的h);D上的所有劃分組成了dichotomy set


Growthfunction:對於某個N值,可以取很多大小為N的樣本,相應有很多dichotomy set,這些set的大小的最大值,定義為成長函式Growth function:m(N)

至此,M->∞的情況似乎改善了一小步,我們希望用m(N)來取代M,由(A)式得(B)式

(B)

VC bound:實際上並不能直接用m(N)替換掉M,(B)不能用,做一些小改動正確推導得到得(B’)式,即VC bound

(B‘)

Bounding function:growth function的上限函式,記為B(N,k)


得出上限(growth function)的上限(bounding function)的上限(Nk-1

此時(B’)可以繼續推導,VC bound可以改寫成

(C)

至此,證明了不用考慮M,【在k存在、N足夠大的條件下】對H中的任意h,Ein ≈ Eout


VC dimension

Shatter:m(N)最大是2N, m(N)=2N時稱H“shatter”(打散)了這N個點(對某個D)

Breakpoint:對於H,使m(N)≠2N成立的N的最小值,記作k(對某個D)

用一個打怪闖關的遊戲來理解以上概念:m(N)是把散彈槍,H是玩家,每個關卡(level N)中,玩家有m(N)發子彈,面臨的是2N個怪獸,必須一槍打出去shatter掉所有怪獸才能過關;當N從1逐漸增大,m(N)在第N關第一次少於2N,玩家shatter不掉所有怪獸,這個遊戲break了,這第N關就是break point

VCdimension:對於H,滿足m(N)≠2N的最大的N值,記作dVC(對大小為N的所有D)

① VCdimension = k-1

② N≤dVC時,至少存在一個D被shatter;N≥dVC時,任何D都不能被shatter

意義(不易理解)

(1) 對於D-perceptron而言,其hypothesis引數維度為d+1(閾值作為0維,取w0=1,權重向量w(w0,w1,w2,w3, ..., wd)),這就好比hypothesis set有d+1個旋鈕,代表著其自由度;而對於D-PLA,dVC=d+1(證明過程可細看),即dVC和hypothesiss set的自由度Effective‘binary’degrees of freedom聯絡起來;也可以說dVC反映著Powerfulness of H,dVC越大,hypothesiss set就越強大,也就是可以打散更多的點,對資料的劃分更細緻

更為一般化一些,dVC與假設引數w 的自由變數數目大約相等...

(2) 將(C)中的k-1代換成dVC,推導可得


Ω(N, H, δ)稱為Penalty of model complexity,hypothesis set所要付出的代價,圖如下(dVC並不是越大越好,越強大相對應所付錯誤代價越高)


(3) 另一層含義是樣本複雜度Sample complexity


估算出所需樣本規模通常為N≈10dVC



相關文章