林軒田-機器學習基石 課堂筆記(七) The VC Dimension

1、Definition of VC Dimension

我們上次學習到,如果我們的假設空間存在Break Point,那麼它一定存在成長函數mH(N)被某個上限函數B(N,k)所約束,這個上限函數也會被某個多項式約束,而這個多項式最高項爲N^(k-1)。

因此我們可總結爲:

①我們需要有一個好的hypothesis,也就是存在Break Point。

②我們需要有一個好的數據集D,也就是一個比較大的D。

滿足此兩點,我們就可以推出Eout≈Ein

如果此時我們再有一個好的演算法A能使得Ein≈0,這樣我們理論上就可以得到機器有效學習。



VC Dimension表示最大的non-break point點。如果k存在,即存在點N個點可以被shatter,有VC Dimension=break point k-1;如果k不存在,即任何N個點都不可以shatter,則VC Dimension無限大。 下面是之前學到的四個hypothesis set的dVC:




因此我們現在有一個新的概念了,之前我們定義一個好的hypothesis set爲存在Break Point k的hypothesis set,現在相對應的,一個好的hypothesis set爲VC Dimension爲有限數的hypothesis set。

因此VC Dimension爲有限數就確保了我們的g能夠滿足Eout(g)≈Ein(g)。這與我們選擇什麼演算法A無關(即使Ein!≈0,我們還是要確保Eout≈Ein),與我們的資料由怎麼樣的distribution產生沒有關係,也與我們的目標函數f沒有關係(這樣我們就可以維持f是在不知道的情況下做出這樣的動作)。


2、VC Dimension of Perceptrons

回顧一下之前學習的2D PLA,對於一個線性可分的數據集合D,PLA可以找到目標函數f正確的將數據分類,此時有Ein(g)=0;再由之前的推理,通過dVC=3,我們可以得出在樣本數據足夠大的情況下,有Eout(g)≈Ein(g),綜合兩點可得Eout(g)≈0,這樣我們的機器就能學到東西。


那麼現在我們來討論多維下Perceptrons的dVC情況。由之前的課程我們知道對於Perceptron,一維情況下dVC=2;二維情況下dVC=3;那麼我們不妨做一個假設:D維情況下dVC=d+1。

要證明這個結論成立,像二維時的證明那樣,我們可以分爲兩步:

①dVC>=d+1

②dVC<=d+1


首先證明①,我們只要在d維裏找出一組d+1筆的input,可以被我的hypothesis set所shatter(即證明存在d+1數量的數據集可以完全二分),就能證明dVC>=d+1。

我們構造一個輸入樣本集,樣本爲一個行向量,第一行爲0向量,第二行爲第一個分量爲1其他分量爲0的向量(1,0,…,0),…,第d+1行爲第d個分量爲1其他分量爲0的向量(0,0,…,1),對每個樣本再加上默認的第0個分量,其值爲1。



需要證明的是這個矩陣可以完全二分,我們知道shatter的本質是假設空間H對輸入X的所有情況的判斷都正確,在數學上即能找到權值向量w,使得w能將X映射到y上,即sign(Xw)=y,而只要存在w使得Xw=y,就能滿足sign(Xw)=y。

很明顯X可逆,因此我們可以得到

因此我們知道這個d+1維的數據集可以完全二分,從而dVC>=d+1。


接下來我們證明②,在d維裏,如果對於任何d+2個input都一定不能shatter,就能證明dVC<=d+1。

我們先考慮2維情況下不能shatter的特殊情形:



顯然如果左上角和右下角爲+1,左下角爲-1,那麼右上角的點不能爲-1,否則dichotomy不能產生。



數學上表示爲



這種樣本間的線性依賴性(linear dependence)導致了無法二分。

推廣到多維,假設d維中有d+2個樣本,現在矩陣X的row爲d+2,column爲d+1。



此時會有線性相依的產生



如果xi爲正,那麼對應wi爲+1;如果xi爲負,那麼對應wi爲-1。此時xd+2的正負就被其他維所決定了。



因此任何d+2個輸入樣本中必然都存在不能滿足的二分類,從而dVC<=d+1。

綜上有dVC=d+1。


3、Physical intuition of VC Dimension


在感知機中,數據樣本的維度與權值向量的維度一致,不同的權值向量對應不同的假設函數。我們將權值向量w稱爲假設空間上的自由度(degree of freedom)。


自由度可以任意調節,假設空間從數量上來講是無限大的;但我們從感知機二元分類來考慮,可知VC Dimension反映了有效的自由度個數。




結合之前的結論,我們可以用dVC來代替M的作用:


4、Interpreting VC Dimension


之前我們瞭解到VC bound公式如下:



右邊用δ代替,我們可以知道發生壞事情(|Ein-Eout|>ε)的機率小於等於δ,那麼發生好事情的機率一定大於等於1-δ。我們對不等式重新推導:



Ein(g)-Eout(g)被稱爲泛化誤差(generalization error),泛化誤差小於等於ε。因此可推導出Eout(g)的上界:



Ω(N,H,δ)又稱爲模型複雜度(model complexity)。下面給出Ein、Eout、Ω(N,H,δ)與dVC的關係圖:



隨着dVC增大,可選擇的假設空間就越大,就越可能得到更小的Ein;又由模型複雜度的表達式可知此時Ω(N,H,δ)會增大。

又Eout爲兩者之和因此呈現出先減小後增大的趨勢。

我們知道學習的目的是使Eout越小越好,因此找到合適的dVC是重要的。


VC bound還可以表示樣本複雜度(sample complexity)。一個例子:



通過計算N大概在29300時,可以訓練出滿足條件的模型,N大概是dVC的10000倍。但是實際生活中,我們不需要這麼多的資料就可以得到還不錯的learning的表現,大概N≈10dVC就可以了。N的理論值如此之大是由於VC bound是一個非常寬鬆的約束,寬鬆的原因如下:



VC bound是比較寬鬆的,但收緊它並不那麼容易,實際上很難找到在這四個方面都可以任意選擇且比VC bound更緊的約束了,這也是Machine Learing的一大難題。而且未來我們會介紹很多不同的hypothesis set,很多不同的learning model,而VC bound對其的寬鬆程度是差不多的,因此不同的模型之間可以橫向比較,從而VC bound寬鬆程度對機器學習可行性沒有太大的影響。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章