Coursera台大機器學習課程筆記6 -- The VC Dimension


  本章的思路在於揭示VC Dimension的意義,簡單來說就是假設的自由度,或者假設包含的feature vector的個數(一般情況下),同時進一步說明了Dvc和,EoutEin以及Model Complexity Penalty的關系。

回顧

  

由函數B(N,k)的定義,可以得到比較松的不等式mh(N)小於等於N^(k-1)(取第一項)

這樣就可以把不等式轉化為僅僅只和VC DimensionN相關了,從而得出如下結論:

1 mh(N)break point k,那么其就是多項式級別的,我們認為假設數量不算多,是個好的假設;

2 N 足夠大,這樣我們便算有了好的抽樣數據集(假設不含很多Noise);

=〉這兩點由上述不等式可以推導這樣的機器學習算法有好的泛化能力,其在全集上會有和在D上一致的表現;

3 如果算法選擇的是小的Ein

=>最終我們可以推斷機器可以學習,因為其在全集數據集錯誤率會較低。

什么是VC Dimension

下面給出了VC Dimension的定義,

  • 它是該假設集能夠shatter的最多inputs的個數,即最大完全正確的分類能力(注意,只要存在一種分布的input能夠正確分類就算是,這才叫最大);
  • 它是最小的k-1,這個很好理解,最小的k是假設集不能shatter任何分布類型的inputs的最少個數,和VC Dimension正好相反;

同樣,將Dvc替換k,得到mh(N)<=N^(Dvc)

VC Dimension Feature 數量的關系,在PLA算法中

接下來回顧了PLA2d情況下,由於其Dvc=3,所以按照算法我們選小的Ein就能夠保證機器學習算法的運行,但是這是2維的情況,對於多維呢?也就是說增加feature咋辦?


這里又拋出了一個結論:Dvc = d+1 dfeature vector的維度。

要證明這個等式,可以將它分為兩塊證明,

1 證明 Dvc >= d+1;

2 證明 Dvc <= d+1;

首先證明等式1

因為Dvc >= d+1, 那么我們必然可以shatter 某一類的d+1inputs,這個是VC Dimension的定義。這里用線性代數的方法表達了X矩陣的每一行是一個x向量的轉置。這個有意構造的X便能夠被shatter。首先,shatter的本質是HX的每個判斷都是對的即等於y,所以有如下不等式:

X*W = Y,我們注意到X是可逆的,所以W = X^(-1) * Y,所以我們只要讓feature vector等於X的逆矩陣乘以Y就能給完全shatter X,言外之意,只要我們構造的inputs其有逆矩陣就能夠被shatter

下面證明等式二,Dvc<=d+1,也就是說對於d+2inputs,其一定不能被shatter,同樣我們構造一個X,這次是任意的,其包含d+2inputs,我們發現這個矩陣的列為d+1而行為d+2,由線性代數的知識,我們知道這d+2個向量的某一個可以表示為另外d+1個向量的線性組合,假設這個向量為Xd+2,那么便有了如下等式:

w^Txd+2 = a1w^Tx1 + a2w^Tx2 + ... + ad+1w^Txd+1

我們只要構造這樣這組w,保證每一項是正的,例如假設a1是負的,那么我們構造w使得w^Tx1也是負的,這樣就使得最終的值為正,從而我們沒法分類其為負的情況,因為其值始終是正的。換句話說,因為d+2是前d+1的線性組合,這樣一個限制導致了最終的結果。所以對於d+2我們無法完全分類,也即使Dvc<=d+1

VC Dimension的直觀理解

那么VC Dimension本質上到底是什么呢?

下圖給了答案

自由度的概念,體現在我們能夠包含多少feature w,能夠有多少假設H的數量,以及我們最終的分類能力Dvc,也就是說Dvc本質上大體上是H的分類能力,同樣可以理解為feature的個數,假設的個數,因為它們都是互相成正比的。

再次回到以前那個泛化不等式:

將它左右變形,求出Eout的的界限,我們比較關注上限,可知我們最終的機器學習算法其在整體的錯誤率和N,H,S的表達式(Model 復雜度的懲罰)有關。下圖很直觀的給出了它們之間的關系:

這個圖說了:

1 Dvc越高 -> Ein下降(shatter能力變強)-> model complexitypenalty提高,導致Eout先降后升

2 Dvc越低 -> Ein升高 -> model complexitypenalty降低,Eout最終也是會上升

所以最好情況的Eout是我們選取Dvc在中間的情況,這樣Einpenalty都不高,即最終的Eout也不會太高。這也就是為什么,我們不能夠盲目增加feature也不能有太少feature的原因。

總結

本章主要描述了VC Dimension並給出了較為直觀的解釋,我們不能盲目增加VC Dimension也不能太低,而應該去中間值,這樣既保證Ein不高也保證model complexitypenalty不高。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM