這節的主題感覺和training,testing關系不是很大,其根本線索在於鋪墊並求解一個問題:
為什么算法PLA可以正確的work?因為前面的知識告訴我們,只有當假設的個數有限的時候,我們才能比較確認我們得到壞的數據集的概率比較低,也就是說算法得出的假設和最佳假設在全局表現相同(錯誤率相等),可是PLA的假設是平面上的直線,不是無數個么?為什么可以正常泛化?
為解釋這個問題,有了這節以及下面幾節的課程
可以看到這個問題其實很重要,因為這是我們理解機器為啥能學習的關鍵一步,因為很多機器學習算法的假設看似都是無限的。下面這個圖給出了理解機器為啥能學習的關鍵:
即滿足假設個數有限,采樣數據足夠大是算法泛化能力強大與否的關鍵,而Ein足夠小是保證算法正確的前提。即,機器學習算法的終極目標是找到泛化能力強的錯誤率低的假設。

Training的目的是保證Ein足夠小,Test則是確認Ein可以和Eout相同,即泛化效果好

對於M,其對機器學習算法的影響可以理解為,如果M小,泛化能力強,但是選擇太少,不一定能找到Ein足夠小的假設;如果M大,選擇多,有很大概率找到好的假設,但是得到壞數據的概率也相應的增加了。所以,M的大小很關鍵。既不能小也不能大,那么對於看似無窮大的M的PLA該怎么解釋?

首先回憶下M是怎么計算出來的,

問題的關鍵在於不等式的最后一步,是取的Union bound,也就是假設各個假設之間沒有交集,這是最壞的情況,可是實際上往往不是如此,很多情況下,都是有交集的,也就是說M實際上沒那么大。

那么就會想,什么樣的假設有交集?當然是類似的,也就是錯誤率相同的,分類情況相同的。由此引入Dichotomy的概念。

上圖中提到的dichotomy實際上指的是,能夠得出不同X分類的假設的個數。例子是對全體直線,假設數據集大小是N,那么其實最多dichotomy就是2^N,而不是前面說的無限個。這個概念對證明M其實不大的作用不是很大,真正有作用的是成長函數,及M的上線。

成長函數,則是值最大的Dichotomy。

通過計算4種不同機器學習問題的Growth Function,發現其實它不是2^N,而是會比它小,那么如果M可以用Growth Function 替代,那么就有希望了。

Break Point: 對特定假設函數集合,假設數據集的個數是N,那么使得數據集其中k個數據的所有種類的dichotomy都不能被shattered,即為一個break point;

那么很明顯的一個性質(通過數學歸納法),如果k為break point,那么k+1,k+2,。。。等之后所有新加入的數據都為break point

可以想象得到,M並不是無限的,而是由Growth Function決定的,如果它是多項式級別的話,可以認為機器是可以學習的。