《機器學習基石》5-Training versus Testing

接着上一篇所討論的問題,繼續討論。

Recap and Preview

回顧一下機器學習的流程圖:

機器學習可以理解爲尋找到 g ,使得 gf ,也就是 Eout(g)0 的過程。
爲了完成這件事情,有兩個關鍵的步驟:

  • 保證 Eout(g)Ein(g) ,由 “訓練” 過程來完成
  • 保證 Ein(g)0 ,由 “驗證” 過程來完成

當這兩件事情都得到保證之後,我們就可以得到 Eout(g)0 ,於是完成了學習。

M 的取值(hypothesis 的數目)會影響上面說的兩個步驟:

  • M 太小,能保證 Eout(g)Ein(g) ,但是不能保證 Ein(g)0
    (因爲可選擇的 hypothesis 的數目太少);
  • M 太大,能保證 Ein(g)0 ,但是不能保證 Eout(g)Ein(g)(PD[BAD D]2Mexp(2ϵ2N))

因此需要想辦法解決 M 較大時,Eout(g)Ein(g) 的問題。

Effective Number of Lines

由上一篇文章我們知道:

P[|Ein(g)Eout(g)|>ϵ]2Mexp(2ϵ2N)

對於這個式子,M= 時,右側的值很大,Eout(g)Ein(g) 不能保證。我們的想法是:嘗試用一個合適的數 mH 代替式子中的 M ,使無窮變成有限,如下式:

P[|Ein(g)Eout(g)|>ϵ]?2mHexp(2ϵ2N)

第一個式子中的 M 來源於 “Union Bound”

P[B11or1B21orBM]P[B1]+P[B2]++P[BM]

其中 P[BM] 表示的是第 M 個假設函數 hM 在數據集上發生壞事情(即存在 BAD DATA,Eout(hM)Ein(hM) )的概率。

然而當 M 很大時,假設集中存在許多相似的假設函數 h ,它們發生壞事情的概率和情形都很接近,這樣使用 “Union Bound” 來計算整個假設集發生壞事情的概率,便存在許多重複的地方,於是算出來的概率會比實際的高很多(over-estimating)。

我們換一種思路,從數據點的分類結果來對假設集進行分類,這樣就避免了假設之間相互重合的問題。以二元分類來闡述怎麼解決這個問題:我們根據分類結果,對 h 進行分類。

樣本點大小 N 假設集 H 等價類(考慮最多的情況)
1 2 類:{o}{x}
2 4 類:{oo}{ox}{xo}{xx}
N 2N

對於一個大小爲 N 的數據集,任意一個假設函數 h 都屬於上述 2N 個等價類之間的一個,因此我們可以用 2N 來代替原不等式中的 M

Effective Number of Hypotheses

我們把上面提到的等價類的概念起一個名字叫做 Dichotomy。

具體的 Dichotomy 的 size 與這 N 個數據的具體取值有關(但是不會大於 2N ),爲方便討論我們取最大那個 size 來分析,取名爲 growth function,記作 mH(N) ,意思是假設空間在 N 個樣本點上能產生的最大二分數量。

mH(N)=maxx1,x2,...,xNX|H(x1,x2,...,xN)|

接下來我們需要計算 mH(N) ,首先考慮幾種不同的模型的 mH(N)

  • Positive Rays
    確定一個點,規定在這個點的正方向爲正,即 h(x)=+1 ,反方向爲負,即 h(x)=1 。在這種情況下 mH(N)=N+1 ,如下圖所示。

  • Positive Intervals
    確定兩個點,規定在這兩個點之間爲正,即 h(x)=+1 ,兩個點之外爲負,即 h(x)=1 。在這種情況下 mH(N)=(N+12)+1 ,如下圖所示。

  • Convex Sets
    頂點在同一個圓上的凸多邊形,規定圓上與多邊形相交的點爲正,即 h(x)=+1 ,沒有與多邊形相交的點爲負,即 h(x)=1 。在這種情況下 mH(N)=2N ,如下圖所示。

  • 2D perceptrons
    就是前面舉的平面上的點分類的例子,某些情況下 mH(N)<2N

將上面幾種情況總結如下:

model mH(N)
Positive Rays mH(N)=N+1
Positive Intervals mH(N)=(N+12)+1
Convex Sets mH(N)=2N
2D perceptrons mH(N)<2N in some case

Break Point

我們希望 mH(N) 是多項式形式而不是指數形式的,這樣當 N 很大的時候,不等式右邊趨近於0,才能保證 Eout(g)Ein(g)

P[|Ein(g)Eout(g)|>ϵ]?2mHexp(2ϵ2N)

因此,將 mH 替換爲 2N 還不夠,爲此我們引入一個概念叫 break point,定義如下

  • if no k inputs can be shattered by H , call k a break point for H
    • mH(k)<2k
    • k+1 , k+2 , k+3 , ... also break points
    • will study minimum break point k

對應的,上面所提到的四種模型的 break point 如下:

model mH(N) break point
Positive Rays mH(N)=N+1 break point at 2
Positive Intervals mH(N)=(N+12)+1 break point at 3
Convex Sets mH(N)=2N no break point
2D perceptrons mH(N)<2N in some case break point at 4

我們猜測 mH(N) 與 break point 有下面的關係:

  • no break point:mH(N)=2N
  • break point kmH(N)=O(Nk1)

如果猜測成立,那麼在有 break point 的情況下,mH(N) 便是一個多項式形式,這樣就能保證 Eout(g)Ein(g) 了。

因此,接下來我們需要探討,break point 與 mH(N) 之間的關係,我們將在下幾篇文章中對此進行討論。

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