臺灣大學林軒田機器學習基石課程學習筆記7 -- The VC Dimension 原創 紅色石頭

臺灣大學林軒田機器學習基石課程學習筆記7 -- The VC Dimension



前幾節課着重介紹了機器可以學習的條件並作了詳細的推導和解釋。機器可以學習必須知足兩個條件:算法

  • 假設空間H的Size M是有限的,即當N足夠大的時候,那麼對於假設空間中任意一個假設g,Eout≈Ein機器學習

  • 利用算法A從假設空間H中,挑選一個g,使Ein(g)≈0,則Eout≈0ide


這兩個條件,正好對應着test和trian兩個過程。train的目的是使損失指望Ein(g)≈0;test的目的是使將算法用到新的樣本時的損失指望也儘量小,即Eout≈0。函數


正由於如此,上次課引入了break point,並推導出只要break point存在,則M有上界,必定存在Eout≈Ein。學習


本次筆記主要介紹VC Dimension的概念。同時也是總結VC Dimension與Ein(g)≈0,Eout≈0,Model Complexity Penalty(下面會講到)的關係。ui


1、Definition of VC Dimension

首先,咱們知道若是一個假設空間H有break point k,那麼它的成長函數是有界的,它的上界稱爲Bound function。根據數學概括法,Bound function也是有界的,且上界爲N的k-1次方。從下面的表格能夠看出,N的k-1次方比B(N,k)鬆弛不少。image.pngspa

則根據上一節課的推導,VC bound就能夠轉換爲:image.png3d

這樣,不等式只與k和N相關了,通常狀況下樣本N足夠大,因此咱們只考慮k值。有以下結論:blog

  • 若假設空間H有break point k,且N足夠大,則根據VC bound理論,算法有良好的泛化能力input

  • 在假設空間中選擇一個矩g,使Ein≈0,則其在全集數據中的錯誤率會較低

  • image.png

下面介紹一個新的名詞:VC Dimension。VC Dimension就是某假設集H可以shatter的最多inputs的個數,即最大徹底正確的分類能力。(注意,只要存在一種分佈的inputs可以正確分類也知足)。

shatter的英文意思是「粉碎」,也就是說對於inputs的全部狀況都能列舉出來。例如對N個輸入,若是可以將2的N次方種狀況都列出來,則稱該N個輸入可以被假設集H shatter。

根據以前break point的定義:假設集不能被shatter任何分佈類型的inputs的最少個數。則VC Dimension等於break point的個數減一。image.png

如今,咱們回顧一下以前介紹的四種例子,它們對應的VC Dimension是多少:image.pngimage.png

2、VC Dimension of Perceptronsimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png

image.png

3、Physical Intuition VC Dimension

image.png

上節公式中W又名features,即自由度。自由度是能夠任意調節的,如同上圖中的旋鈕同樣,能夠調節。VC Dimension表明了假設空間的分類能力,即反映了H的自由度,產生dichotomy的數量,也就等於features的個數,但也不是絕對的。image.pngimage.pngimage.png

4、Interpreting VC Dimension

下面,咱們將更深刻地探討VC Dimension的意義。首先,把VC Bound從新寫到這裏:image.png

根據以前的泛化不等式,若是|Ein−Eout|>ϵ,即出現bad壞的狀況的機率最大不超過δ。那麼反過來,對於good好的狀況發生的機率最小爲1−δ,則對上述不等式進行從新推導:image.png

ϵ表現了假設空間H的泛化能力,ϵ越小,泛化能力越大。image.png

至此,已經推導出泛化偏差Eout的邊界,由於咱們更關心其上界(Eout可能的最大值),即:image.png

上述不等式的右邊第二項稱爲模型複雜度,其模型複雜度與樣本數量N、假設空間H(dvc)、ϵ有關。Eout由Ein共同決定。下面繪出Eout、model complexity、Ein隨dvc變化的關係:image.png

經過該圖能夠得出以下結論:

  • dvc越大,Ein越小,Ω越大(複雜)。

  • dvc越小,Ein越大,Ω越小(簡單)。

  • 隨着dvc增大,Eout會先減少再增大。




因此,爲了獲得最小的Eout,不能一味地增大dvc以減少Ein,由於Ein過小的時候,模型複雜度會增長,形成Eout變大。也就是說,選擇合適的dvc,選擇的features個數要合適。

下面介紹一個概念:樣本複雜度(Sample Complexity)。若是選定dvc,樣本數據D選擇多少合適呢?經過下面一個例子能夠幫助咱們理解:image.png

經過計算獲得N=29300,恰好知足δ=0.1的條件。N大約是dvc的10000倍。這個數值太大了,實際中每每不須要這麼多的樣本數量,大概只須要dvc的10倍就夠了。N的理論值之因此這麼大是由於VC Bound 過於寬鬆了,咱們獲得的是一個比實際大得多的上界。image.png

值得一提的是,VC Bound是比較寬鬆的,而如何收緊它卻不是那麼容易,這也是機器學習的一大難題。可是,使人欣慰的一點是,VC Bound基本上對全部模型的寬鬆程度是基本一致的,因此,不一樣模型之間仍是能夠橫向比較。從而,VC Bound寬鬆對機器學習的可行性仍是沒有太大影響。

5、總結

本節課主要介紹了VC Dimension的概念就是最大的non-break point。而後,咱們獲得了Perceptrons在d維度下的VC Dimension是d+1。接着,咱們在物理意義上,將dvc與自由度聯繫起來。最終得出結論dvc不能過大也不能太小。選取合適的值,才能讓Eout足夠小,使假設空間H具備良好的泛化能力。


歡迎關注公衆號學習交流~

相關文章
相關標籤/搜索