1. 程式人生 > >聽課筆記(第五講): 學習的可行性分析(一些概念和思想) (臺灣國立大學機器學習基石)

聽課筆記(第五講): 學習的可行性分析(一些概念和思想) (臺灣國立大學機器學習基石)

Training versus Testing

1,回顧:學習的可行性?
最重要的是公式:


(1) 假設空間H有限(M),且訓練資料足夠大,則可以保證測試錯誤率Eout 約等於訓練錯誤率Ein;
(2)如果能得到Ein 接近於零,根據(1),Eout 趨向於零。
以上兩條保證的學習的可能性。

可知,假設空間H 的大小M 至關重要,我們接下來會力求找一個H 大小的上界。
M存在重要的trade-off 思想:
(1)當M 很小,那麼壞資料出現的概率非常小(見第四講分析),學習是有效的;但是由於假設空間過小,我們不一定能找到一個方案,可以使訓練誤差接近零;
(2)反之,若M 很大,壞資料出現的概率會變大。
若假設空間無限大(比如感知機),學習一定是無效的嗎?這門在下面力圖回答這個問題。


2, 假設空間H 大小:M
根據上面的公式,當M 無限大時是無法有效學習的;主要是我們在計算M 是通過UNION BOUND 的方式,這樣得到的上界太寬鬆了;實際上,由於不同假設下發生壞事情是有很多重疊的,其實我們可以得到比M小得多的上界。

我們希望將這麼多的假設進行分組,根據組數來考慮假設空間大小。
接下來的討論需要腦子轉個彎兒,去看臺大林軒田的視訊和講義應該更清楚些,我這裡解釋的看不懂沒關係~

後面的討論都是針對批量的二值分類問題。
這個思想的關鍵是,我們從有限個輸入資料的角度來看待假設的種類。
(1)最簡單的情形,只有一個輸入資料時,我們最多隻有兩種假設:h1(x) = +1 or h2(x) = -1 。

(2)輸入資料增加到兩個,最多可以有四種假設:
h1(x1)=1, h1(x2)=1;
h2(x1)=-1, h2(x2)=1;
h3(x1)=1, h3(x2)=-1;
h4(x1)=-1, h4(x2)=-1.
依次類推, 對於k 個輸入資料,最多有2^k 種假設。
上面闡述的是理想、極端情況,實際上,在實際學習中我們得不到如此之多的假設。例如,對於2維感知機(輸入為平面上的點),輸入資料為3個時,下面這種假設是不存在的:
(圓圈和叉代表兩種不同分類,這種情形也就是線性不可分)。

我們嘗試猜測,當k 很大時,有效假設的數量遠小於 2^k ?
定義"dichotomy": hypothesis 'limited' to the eyes if x1, x2, ..., xn

也就是相當於我們前面描述的,從輸入資料的角度看,有效假設的種類。
輸入規模為N時,dichotomies 的一個寬的上界是 2^N.

後面這部分內容,如果想理解清楚,還是建議看林軒田的講解。:-)
定義關於資料規模N 的生長函式(growth function):資料規模為N 時,可能的dichotomy 的數量,記為m(N)。
下面列舉幾種生長函式:
(1)X=R(一維實數空間),h(x) = sign(x-a), a 是引數。
它的生長函式: m(N) = N + 1 ; 當N > 1時,m(N) < 2^N
(2)X=R, h(x) = 1 iff x>=a or x<b, -1 otherwise. 有兩個引數 a, b.
它的生長函式:m(N) = 0.5N^2 + 0.5N + 1; 當 N>2 時, m(N) < 2^N
(3)X=R^2(二維實數空間),h是一個任意凸多邊形,多邊形內部的為1,外部的為-1。
它的生長函式:m(N) = 2^N

我們引入一個重要概念:突破點(break point):對於某種假設空間H,如果m(k)<2^k, 則k 是它的突破點。
對於上面提到的三個例子,(1)的突破點是2,3,4... (2)的圖破點是3,4,... (3)沒有突破點。
注意:如果k 是突破點,那麼k+1, k+2, ... 都是突破點。

對於感知機,我們不知道它的生長函式,但是我們知道它的第一個突破點是4, m(4)=14 < 16
對於後面的證明,突破點是一個很重要的概念。
我寫的過於簡略,不清楚的地方大家還是去看林軒田的原版課程吧。
歡迎交流~