1. 程式人生 > >機器學習基石第7周

機器學習基石第7周

The VC Dimension
一.Definition of VC Dimension

這裡寫圖片描述
上次課我們知道我們的成長函式B(N,k)有上限,如圖中的表所示,左邊的表示B(N,k)右邊的表示N^(k-1),我們發現當N>=2,K>=3時,B(N,K)小於N^(k-1)所以我們在使用的時候直接使用N^(k-1)而不用B(N,K)。
這裡寫圖片描述
這裡寫圖片描述
以上說明一個好的機器學習結果需要一個好的的data,一個好的假設空間和一點好的運氣。
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
VC維的性質如下:
這裡寫圖片描述

二.VC Dimension of Perceptrons
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
我們之前已得知當資料為1維時感知演算法的vc維為2,2維時vc維維3,所以我們猜測當資料為d維時,VC維會不會等於d+1.
證明該猜想分第二張圖的兩種情況。
首先證明d(VC)>=d+1:
要證明上訴只需要證明:
這裡寫圖片描述


這裡寫圖片描述
上圖X的d+1行代表有d+1個樣本即輸入N=d+1,每個樣本的維度為d(加上閾值維度就是d+1)所以X是個(d+1)*(d+1)的陣列。
我們令Y為1和-1的任意一種組合(即代表了所有可分的情況)我們希望對任何一種情況Y都能找到一個w使得(Xw)=y其中每個w代表一條直線,因為X是可逆的,所以有W=X(-1)y所以總能找到一條直線(d維)將d+1個數據完全分開。

接下來證明d(VC)<=d+1:
要證明上訴只需證明:
這裡寫圖片描述
這裡寫圖片描述
如上圖所示X為(d+2)*(d+1)的陣列,d+2行代表d+2個數據輸入,d+1代表資料為d維空間(加一是因為閾值),且X的秩為d+1,那麼根據線型代數知識,一個d+1維向量能夠被d+1個線型無關的d+1維向量線型表示出來。
如上圖所示,當a1為正,其餘ai為負時,最後的x(d+2)一定為正,我們找不出一個W能使前面的資料型別不變,最後一個數據點為負的情形。所以得證。

三.Physical Intuition of VC Dimension

這裡寫圖片描述
每個旋鈕都有無數種可能,但是隻有固定的幾個位置才能產生作用。
這裡寫圖片描述
VC維就是決定旋鈕的自由度的,即有效旋鈕位置的個數。
這裡寫圖片描述
與M一樣,VC維的大小也一樣要慎重選擇。

四.interpreting VC Dimension
這裡寫圖片描述
指定δ的值並且將其反帶入上式得到誤差範圍ε與錯誤概率δ的關係。
這裡寫圖片描述
用上式代替ε就能得到|Ein(g)-Eout(g)|的範圍與δ的關係,在給定δ和ε後我們就能通過該式子求得N,d(vc)的大小。我們稱根號項為模型的複雜度。
這裡寫圖片描述
當d(vc)變大後,假設空間有效h變大,對資料能更加清楚的進行劃分,所以in-sample error會變小,但是模型複雜度會變大,所以out-of-sample error會先變小在變大。所以並不是in-sample error越小越好,要綜合考慮各方因素。
這裡寫圖片描述


根據公式一般當N=10000d(vc)時才能達到有效的學習效果,但是實際上要求N=10d(vc)就能達到有效的學習效果。原因如上圖所示。即我們公式計算的是最壞最壞的情況,且求了很多次的上限的上限的上限。