機器學習基石7 The VC Dimension

2022-08-24 02:39:10 字數 3504 閱讀 9913

前幾節課著重介紹了機器能夠學習的條件並做了詳細的推導和解釋。機器能夠學習必須滿足兩個條件:

一、definition of vc dimension

首先,我們知道如果乙個假設空間\(\mathcal\)有break point \(k\),那麼它的成長函式是有界的,它的上界稱為bound function。根據數學歸納法,bound function也是有界的,且上界為\(n^\)。從下面的**可以看出,\(n^\)比\(b(n,k)\)鬆弛很多。

根據上一節課的推導,vc bound轉化為:

如此一來,不等式只與\(k\)和\(n\)相關,一般情況下樣本\(n\)足夠大,只考慮\(k\)值,有如下結論:

二、vc dimension of perceptrons

首先證明第乙個不等式:\(d_\geq d+1\) 。

在\(d\)維感知器中,只要找到某一類的\(d+1\)個inputs可以被shatter的,就可以得到\(d_\geq d+1\)。構造如下乙個\(d+1\)維矩陣\(x\):

注意到\(x\)是可逆的,對於任意的\(y=\beginy_1 \\ y_2\\ \cdots \\ y_\end=\begin\pm 1 \\ \pm 1 \\ \cdots \\ \pm 1\end\),如果能找到乙個向量\(w\)使得\(sign(xw)=y\),則說明這\(d+1\)個input是可以被shatter的,也就是說\(d_\geq d+1\), 由於\(x\)是可逆的,所以\(w=x^y\)就滿足條件。

現在證明第二個不等式:\(d_\geq d+1\) 。

只要證明任意\(d+2\)個inputs,一定不能被shatter。構造乙個任意的矩陣\(x\),包含\(d+2\)個inputs,該矩陣有\(d+1\)列,\(d+2\)行。這\(d+2\)個向量的某個向量一定可以被另外\(d+1\)個向量線性表示,例如對於向量\(x_\),可表示為: $$x_=a_1x_1+a_2x_2+...+a_x_$$假設\(a_1>0\),\(a_2\),...,\(a_\leq 0\),能否找到乙個\(w\)使得\(y=sign(xw)=(sign(a_1),sign(a_2),...,sign(a_),\times)\)

假設這樣的\(w\)存在,則有\(sign(x_iw)=sign(a_i),i=1,...,d+1\),然而對於這樣的\(w\),必有$$x_w=a_1x_1w+a_2x_2w+...+a_x_*w>0$$與\(w\)的存在矛盾。所以,找不到這樣的\(w\),即任意的\(d+2\)個inputs都不能被shatter,\(d_\geq d+1\) 。

綜上可得\(d_=d+1\) 。

三、physical intuition vc dimension

上節公式中\(w\)又名features,即自由度。自由度是可以任意調節的,如同上圖中的旋鈕一樣。vc dimension代表了假設空間的分類能力,即反映了\(\mathcal\)的自由度,產生dichotomy的數量,也就等於features的個數,但不是絕對的。

例如,對2d perceptrons,線性分類,\(d_=3\),則\(w=\),也就是說只要3個features就可以進行學習,自由度為3。

可以發現,\(m\)與\(d_\)是成正比的:

四、interpreting vc dimension

下面,更深入地**vc dimension的意義。首先,把vc bound重新寫到這裡:

根據之前的泛化不等式,\(|e_-e_|>\epsilon\),即出現bad的情況的概率最大不超過\(\delta\)。那麼反過來,對於good的情況發生的概率最小為\(1-\delta\),對上述不等式進行重新推導:

\(\epsilon\)表現了假設空間\(h\)的泛化能力,\(\epsilon\)越小,泛化能力越大。

至此,已經推導出泛化誤差\(e_\)的邊界,我們更關心的是其上界,即

上述不等式的右邊第二項稱為模型複雜度(model complexity penalty),其模型複雜度與樣本數量\(n\)、假設空間\(h\)的vc dimension、\(\epsilon\)有關。\(e_\)由\(e_\)和模型複雜度共同決定。下面繪製出\(e_\)、model complexity 、\(e_\)隨\(d_\)變化的曲線圖:

可以看到:

所以為了得到最小的\(e_\),不能一味地增大\(d_\)以減小\(e_\),因為\(e_\)太小的時候,模型複雜度會增加,造成\(e_\)變大。

下面介紹乙個概念:樣本複雜度(sample complexity)。如果給定\(d_\),樣本資料d選擇多少合適呢?通過下面乙個例子可以幫助我們理解:

通過計算得到\(n=29300\),剛好滿足的條件。\(n\)大約是\(d_\)的10000倍。這個數值太大了,實際中往往不需要這麼多的樣本數量,大概只需要\(d_\)的10倍就夠了。\(n\)的理論值之所以這麼大是因為vc bound 過於寬鬆了,我們得到的是乙個比實際大得多的上界。

值得一提的是,vc bound是比較寬鬆的,而如何收緊它卻不是那麼容易,這也是機器學習的一大難題。但是,令人欣慰的一點是,vc bound基本上對所有模型的寬鬆程度是基本一致的,所以,不同模型之間還是可以橫向比較。從而,vc bound寬鬆對機器學習的可行性還是沒有太大影響。

五、總結

本節課主要介紹了vc dimension的概念,即最大的non-break point。然後,我們得到了perceptrons在\(d\)維度下的vc dimension是\(d+1\)。接著,我們在物理意義上,將\(d_\)與自由度聯絡起來。最終得出結論\(d_\)不能過大也不能過小。選取合適的值(這個可以自由選擇?有待進一步理解),(這句話應該理解為選取合適的模型,不同的模型vc維是不一樣的),才能讓\(e_\)足夠小,使假設空間h具有良好的泛化能力。

機器學習基石(6)

希望m最終能取代m 假設集大小 到底m會不會漲的很慢?假設的數量不會太多?如果長得很慢,能不能取代掉原來的m?mh成長函式 到底這個假設集,在n個點上,到底能產生多少種dichotomies?如果是positive rays,在n 2時候就露出破綻,不能產生那種情形 如果是positive inte...

機器學習基石 學習型別

二分類 多分類回歸 結構化學習 nlp領域相關 無監督學習 半監督學習 有監督學習 增強學習 沒有真實的輸出y,根據模型的輸出反饋,如果反饋結果良好,更接近真實輸出,就給其正向激勵,如果反饋結果不好,偏離真實輸出,就給其反向激勵。batch learning online learning acti...

台大機器學習基石 1

機器學習對於適用場景有一定的前提條件 可以找到某種模式 不容易程式設計實現,不能對目標下乙個簡單的定義 能找到訓練的資料,資料量越大越好 使用機器學習的乙個小例子 銀行信用卡批准 例如銀行會收到申請客戶的個人資料,然後根據個人資訊進行分析,選擇是否發放信用卡,以達到銀行最大收益。機器學習所扮演的角色...