前幾節課着重介紹了機器可以學習的條件並作了詳細的推導和解釋。機器可以學習必須知足兩個條件:算法
假設空間H的Size M是有限的,即當N足夠大的時候,那麼對於假設空間中任意一個假設g,Eout≈Ein。機器學習
利用算法A從假設空間H中,挑選一個g,使Ein(g)≈0,則Eout≈0。ide
這兩個條件,正好對應着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
首先,咱們知道若是一個假設空間H有break point k,那麼它的成長函數是有界的,它的上界稱爲Bound function。根據數學概括法,Bound function也是有界的,且上界爲N的k-1次方。從下面的表格能夠看出,N的k-1次方比B(N,k)鬆弛不少。spa
則根據上一節課的推導,VC bound就能夠轉換爲:3d
這樣,不等式只與k和N相關了,通常狀況下樣本N足夠大,因此咱們只考慮k值。有以下結論:blog
若假設空間H有break point k,且N足夠大,則根據VC bound理論,算法有良好的泛化能力input
在假設空間中選擇一個矩g,使Ein≈0,則其在全集數據中的錯誤率會較低
下面介紹一個新的名詞:VC Dimension。VC Dimension就是某假設集H可以shatter的最多inputs的個數,即最大徹底正確的分類能力。(注意,只要存在一種分佈的inputs可以正確分類也知足)。
shatter的英文意思是「粉碎」,也就是說對於inputs的全部狀況都能列舉出來。例如對N個輸入,若是可以將2的N次方種狀況都列出來,則稱該N個輸入可以被假設集H shatter。
根據以前break point的定義:假設集不能被shatter任何分佈類型的inputs的最少個數。則VC Dimension等於break point的個數減一。
如今,咱們回顧一下以前介紹的四種例子,它們對應的VC Dimension是多少:
上節公式中W又名features,即自由度。自由度是能夠任意調節的,如同上圖中的旋鈕同樣,能夠調節。VC Dimension表明了假設空間的分類能力,即反映了H的自由度,產生dichotomy的數量,也就等於features的個數,但也不是絕對的。
下面,咱們將更深刻地探討VC Dimension的意義。首先,把VC Bound從新寫到這裏:
根據以前的泛化不等式,若是|Ein−Eout|>ϵ,即出現bad壞的狀況的機率最大不超過δ。那麼反過來,對於good好的狀況發生的機率最小爲1−δ,則對上述不等式進行從新推導:
ϵ表現了假設空間H的泛化能力,ϵ越小,泛化能力越大。
至此,已經推導出泛化偏差Eout的邊界,由於咱們更關心其上界(Eout可能的最大值),即:
上述不等式的右邊第二項稱爲模型複雜度,其模型複雜度與樣本數量N、假設空間H(dvc)、ϵ有關。Eout由Ein共同決定。下面繪出Eout、model complexity、Ein隨dvc變化的關係:
經過該圖能夠得出以下結論:
dvc越大,Ein越小,Ω越大(複雜)。
dvc越小,Ein越大,Ω越小(簡單)。
隨着dvc增大,Eout會先減少再增大。
因此,爲了獲得最小的Eout,不能一味地增大dvc以減少Ein,由於Ein過小的時候,模型複雜度會增長,形成Eout變大。也就是說,選擇合適的dvc,選擇的features個數要合適。
下面介紹一個概念:樣本複雜度(Sample Complexity)。若是選定dvc,樣本數據D選擇多少合適呢?經過下面一個例子能夠幫助咱們理解:
經過計算獲得N=29300,恰好知足δ=0.1的條件。N大約是dvc的10000倍。這個數值太大了,實際中每每不須要這麼多的樣本數量,大概只須要dvc的10倍就夠了。N的理論值之因此這麼大是由於VC Bound 過於寬鬆了,咱們獲得的是一個比實際大得多的上界。
值得一提的是,VC Bound是比較寬鬆的,而如何收緊它卻不是那麼容易,這也是機器學習的一大難題。可是,使人欣慰的一點是,VC Bound基本上對全部模型的寬鬆程度是基本一致的,因此,不一樣模型之間仍是能夠橫向比較。從而,VC Bound寬鬆對機器學習的可行性仍是沒有太大影響。
本節課主要介紹了VC Dimension的概念就是最大的non-break point。而後,咱們獲得了Perceptrons在d維度下的VC Dimension是d+1。接着,咱們在物理意義上,將dvc與自由度聯繫起來。最終得出結論dvc不能過大也不能太小。選取合適的值,才能讓Eout足夠小,使假設空間H具備良好的泛化能力。
歡迎關注公衆號學習交流~