[ML] 機器學習基石:第七講 The VC Dimension

ML:基礎學習
課程:機器學習基石
簡介:第七講 The VC Dimension

H 的 VC dimension

dVC(H)  最大的 N 當滿足 mH(N)=2N
換句話說,dVC=kmin1

且在資料為二分法時
對於任意 g=A(D)H 跟 統計上足夠大的 D
N2,dVC2
mH(N)NdVC
Eout(g)Ein(g)  dVC P[|Ein(g)Eout(g)|>ϵ]4(2N)dVCe18ϵ2N
  • 無論任何演算法 A
  • 無論任何機率分佈 P
  • 無論任何目標函數 f

目前 Perceptron 只證明至二維可適用,那麼多維呢?

  • 1D perceptron : dVC=2
  • 2D perceptron : dVC=3
  • d-D perceptron : dVC=?d+1
證明兩個方向皆符合
dVCd+1
假設有輸入資料 X 如下 X=[x1Tx2Txd+1T]=[1000110001001]  輸出資料 y 如下 y=[y1y2yd+1]sign(Xw)=y 的其中一個方式即為 Xw=y
此時使得任意 y 皆可找到對應的 w 便是可 shatter
X 存在反矩陣,故 Xw=yw=X1y
故得證 dVCd+1
dVCd+1
d-D 維度下
X=[x1Tx2Txd+1Txd+2T]=[10001100010011???] xd+2=a1x1+a2x2++ad+1xd+1an{1,0,1} 必定存在線性相依,故不存在反矩陣,無法完全 shatter d>d+2,得證 dVCd+1
或換句話說
如下,wTxn 已固定,且 an{1,0,1},故 wTxd+2 也被固定,導致無法產生另一組相反的結果,使得無法 shatter
wTxd+2=wTa1x1+wTa2x2++wTad+1xd+1

VC dimension 在二元分類中的意義

H 的有效自由度 dVC(H): powerfulness of H
大概為可調整的參數數目,但不全然對,猜測參數需各自獨立才對
P[|Ein(g)Eout(g)|>ϵ]4(2N)dVCe18ϵ2N
Eout(g)Ein(g) Ein(g)0
dVC Yes No,自由度太少
dVC No Yes

Model 複雜度的代價

假設發生好事情的機率為 1δ
P[|Ein(g)Eout(g)|>ϵ]4(2N)dVCe18ϵ2N δ=4(2N)dVCe18ϵ2Nδ4(2N)dVC=e18ϵ2Nln(4(2N)dVCδ)=18ϵ2N8Nln(4(2N)dVCδ)=ϵ |Ein(g)Eout(g)|8Nln(4(2N)dVCδ)Ein(g)8Nln(4(2N)dVCδ)Eout(g)Ein(g)+8Nln(4(2N)dVCδ)Ω(N,H,δ)=8Nln(4(2N)dVCδ)
Ω(N,H,δ) 為 Model 複雜度的代價
dVC 的最佳解位在中間

實際例子

假設 ϵ=0.1,δ=0.1,dVC=3 那麼 N 至少需要多少筆?
  • N=      100 => δ=2.82107
  • N=    1000 => δ=9.17109
  • N=  10000 => δ=1.19108
  • N=100000 => δ=1.651038
  • N=  29300 => δ=9.99102 
  • N10000dVC

實務上 N10dVC 已足夠

所以 VC Bound 其實是相當的寬鬆
正因為對每個 model 都差不多寬鬆,所以可以用來比較不同 model
並且取其哲學意義,像是不要一昧追求 dVC 的最大化

留言