臺大機器學習——可行性證明3(Break Point出現時成長函數的邊界)

  • Break Point 對成長函數的限制

    回顧上一節提到的4個成長函數:

    假設對於一個問題,minimum break point k = 2(對於任意2個輸入,H不能窮盡所有劃分),基於該條件我們做出推論:

    即當 N=2 時,成長函數一定 < 2^2=4,所以此時成長函數的 maximum possible value = 3。

    當 N=3 時,我們看看成長函數的 maximum possible value 等於多少?

    任意3個輸入(x1, x2, x3),我們一定能找到以下3個合法的劃分:

    在尋找更多劃分之前,我們要明確一點就是因爲k=2,所以(x1, x2, x3)中任意2個點都不能被shatter,所以下面這個劃分不可能出現,因爲(x2, x3)所有4種可能的劃分被窮盡了:


    但是接下來的劃分就可能了:

    再之後,你發現不論再尋找什麼劃分,總有兩個點被shatter:

                

    所以,N=3時成長函數的maximum possible value就是 4 了。而且 4 << 2^3=8。

    綜上我們發現,當 N > break point k,成長函數的maximum possible value顯著下降並遠小於 2^N

    上一節課最後提出了一個猜測:

     

    如果下面的不等式成立,則猜測一定成立:


  • 邊界函數 Bounding Function(成長函數的上限)

    邊界函數 Bounding Function B(N,k) 的定義:

    根據之前討論的結果,我們知道:

    所以有:

    當k=1時,給定任意N個輸入,只能有一種劃分的可能,因爲任何第二種劃分都會導致有一個點被shatter,這與k=1相悖,所以:

    當 N<k 時,N個輸入一定都能被shatter,所以 B(N,k)=2^N:

    當 N=k時,首次出現N個輸入不能被Shatter,所以 B(N,k)=2^N - 1 一定沒錯:

    綜上,在確定B(N,k)的過程中我們已經把軟柿子都捏了,現在討論N>k的情況。

    根據上圖,B(3,2)=B(2,1)+B(2,2)=1+3=4;B(3,3)=B(2,2)+B(2,3)=3+4=7。。。

    我們猜測 B(N,k) 與 B(N-1, k-1) + B(N-1, k) 也許有關係。

    以B(4,3)爲例,4個輸入中任意3個都不能被shatter,用一個簡單的程序遍歷所有2^16個劃分組合得到B(4,3)=11

    那些數學家們把這11個劃分很雞賊的分成兩組(╮(╯▽╰)╭):

    其中橙色的劃分總能找到自己相似的“伴侶”,它與“伴侶”的(x1, x2, x3)相等,x4相反,有 2α 個;

    紫色的劃分總是“單身”,他找不到那個(x1, x2, x3)與它相等的“伴侶”,有 β 個

    所以:  


    由於k=3,所(x1, x2, x3)不能被shatter:

    由於x4成對,且(x1, x2, x3, x4)不能shatter任意3個,所以(x1, x2, x3)不能shatter任意2個:

    所以

    最終

     -----------------(1)

    邊界函數的成長性爲O(N^(k-1))。

    不等式(1)可以用數學歸納法證明:

    實際上,不等式(1)中的等號是恆成立的,證明如下:

    證明來自課程論壇,這位仁兄的ID是:Kai-Chi Huang


  • 對 VC Bound 的圖像化證明

    把備選函數集H中備選函數的數量M用成長函數代替,我們得到:

    但是用林老師的話說,這個公式是個“數學上錯誤的版本”,不能直接使用,正確的公式應該是:

    我們看看這些多出來的係數都是怎麼來的。

    ------------------------------------------------------------------------------------------------------------

    首先,E-out(h)衡量的是h在全體輸入上的錯誤,全體輸入包含了未知的無限多個輸入,所以我們想在訓練數據集D之外再搞一個測試數據集D',然後用E'-in(h)代替E-out(h),我們把D'叫做 Ghost Data(鬼魂數據?幻影數據?what ever..)。

    如果存在h在D上使得

     

    那麼有很大概率使得h在D'上得到的錯誤 E'-in(h)與E-out(h)的距離相比E-in(h)與E-out(h)應該更近:

    結合圖片解釋就是,樣本犯錯的比例有很大的概率接近全體犯錯的比例,所以下面的不等式成立:

    因爲

    所以以上這兩個事件沒有交集,故:

    綜合不等式(1)和(2)得到:

    所以

    (以上證明過程來自課程論壇 by @hsiao-fei liu)

    -------------------------------------------------------------------------------------------------------------

    上述不等式兩邊乘以2,右側是事件【BAD】,左側是事件發生概率的一個上邊界,如果我們用去重後的Union Bound拓展這個邊界,得到:

    ----(3)

    -------------------------------------------------------------------------------------------------------------

    進一步,做一個等效替換:

    相當於我們關心D上的錯誤與(D+D')上的錯誤之間的差距

    不等式(3)變成:

    這就是VC Bound:

    它提供了一個對機器學習結果可靠性的衡量,因爲成長函數是N的多項式,所以BAD事件發生的概率隨着N的增大而顯著下降。

    需要強調的是,以上所講的只適用於二元分類問題,因爲我們在推導 break point、成長函數和邊界函數時一直都基於二元分類這一前提。

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