上節課,我們主要介紹了根據不同的設定,機器學習可以分為不同的型別。其中,監督式學習中的二元分類和迴歸分析是最常見的也是最重要的機器學習問題。本節課,我們將介紹機器學習的可行性,討論問題是否可以使用機器學習來解決。
一、Learning is Impossible
首先,考慮這樣一個例子,如下圖所示,有3個label為-1的九宮格和3個label為+1的九宮格。根據這6個樣本,提取相應label下的特徵,預測右邊九宮格是屬於-1還是+1?結果是,如果依據對稱性,我們會把它歸為+1;如果依據九宮格左上角是否是黑色,我們會把它歸為-1。除此之外,還有根據其它不同特徵進行分類,得到不同結果的情況。而且,這些分類結果貌似都是正確合理的,因為對於6個訓練樣本來說,我們選擇的模型都有很好的分類效果。
再來看一個比較數學化的二分類例子,輸入特徵x是二進位制的、三維的,對應有8種輸入,其中訓練樣本D有5個。那麼,根據訓練樣本對應的輸出y,假設有8個hypothesis,這8個hypothesis在D上,對5個訓練樣本的分類效果效果都完全正確。但是在另外3個測試資料上,不同的hypothesis表現有好有壞。在已知資料D上,g\approx f;但是在D以外的未知資料上,g\approx f不一定成立。而機器學習目的,恰恰是希望我們選擇的模型能在未知資料上的預測與真實結果是一致的,而不是在已知的資料集D上尋求最佳效果。
這個例子告訴我們,我們想要在D以外的資料中更接近目標函式似乎是做不到的,只能保證對D有很好的分類結果。機器學習的這種特性被稱為沒有免費午餐(No Free Lunch)定理。NFL定理表明沒有一個學習演算法可以在任何領域總是產生最準確的學習器。不管採用何種學習演算法,至少存在一個目標函式,能夠使得隨機猜測演算法是更好的演算法。平常所說的一個學習演算法比另一個演算法更“優越”,效果更好,只是針對特定的問題,特定的先驗資訊,資料的分佈,訓練樣本的數目,代價或獎勵函式等。從這個例子來看,NFL說明了無法保證一個機器學習演算法在D以外的資料集上一定能分類或預測正確,除非加上一些假設條件,我們以後會介紹。
二、Probability to the Rescue
從上一節得出的結論是:在訓練集D以外的樣本上,機器學習的模型是很難,似乎做不到正確預測或分類的。那是否有一些工具或者方法能夠對未知的目標函式f做一些推論,讓我們的機器學習模型能夠變得有用呢?
如果有一個裝有很多(數量很大數不過來)橙色球和綠色球的罐子,我們能不能推斷橙色球的比例u?統計學上的做法是,從罐子中隨機取出N個球,作為樣本,計算這N個球中橙色球的比例v,那麼就估計出罐子中橙色球的比例約為v。
三、Connection to Learning
下面,我們將罐子的內容對應到機器學習的概念上來。機器學習中hypothesis與目標函式相等的可能性,類比於罐子中橙色球的機率問題;罐子裡的一顆顆彈珠類比於機器學習樣本空間的x;橙色的彈珠類比於h(x)與f不相等;綠色的彈珠類比於h(x)與f相等;從罐子中抽取的N個球類比於機器學習的訓練樣本D,且這兩種抽樣的樣本與總體樣本之間都是獨立同分布的。所以呢,如果樣本N夠大,且是獨立同分布的,那麼,從樣本中h(x)\neq f(x)的機率就能推導在抽樣樣本外的所有樣本中h(x)\neq f(x)的機率是多少。
對映中最關鍵的點是講抽樣中橙球的機率理解為樣本資料集D上h(x)錯誤的機率,以此推算出在所有資料上h(x)錯誤的機率,這也是機器學習能夠工作的本質,即我們為啥在取樣資料上得到了一個假設,就可以推到全域性呢?因為兩者的錯誤率是PAC的,只要我們保證前者小,後者也就小了。
這裡我們引入兩個值E_{in}(h)和E_{out}(h)。E_{in}(h)表示在抽樣樣本中,h(x)與y_n不相等的機率;E_{out}(h)表示實際所有樣本中,h(x)與f(x)不相等的機率是多少。
四、Connection to Real Learning
也就是說,不同的資料集D_n,對於不同的hypothesis,有可能成為Bad Data。只要D_n在某個hypothesis上是Bad Data,那麼D_n就是Bad Data。只有當D_n在所有的hypothesis上都是好的資料,才說明D_n不是Bad Data,可以自由選擇演演算法A進行建模。那麼,根據Hoeffding’s inequality,Bad Data的上界可以表示為連級(union bound)的形式:
其中,M是hypothesis的個數,N是樣本D的數量,\epsilon是引數。該union bound表明,當M有限,且N足夠大的時候,Bad Data出現的機率就更低了,即能保證D對於所有的h都有E_{in}\approx E_{out},滿足PAC,演演算法A的選擇不受限制。那麼滿足這種union bound的情況,我們就可以和之前一樣,選取一個合理的演演算法(PLA/pocket),選擇使E_{in}最小的h_m作為矩g,一般能夠保證g\approx f,即有不錯的泛化能力。
所以,如果hypothesis的個數M是有限的,N足夠大,那麼透過演演算法A任意選擇一個矩g,都有E_{in}\approx E_{out}成立;同時,如果找到一個矩g,使E_{in}\approx 0,PAC就能保證E_{out}\approx 0。至此,就證明了機器學習是可行的。
但是,如上面的學習流程圖右下角所示,如果M是無數個,例如之前介紹的PLA直線有無數條,是否這些推論就不成立了呢?是否機器就不能進行學習呢?這些內容和問題,我們下節課再介紹。
五、總結
本節課主要介紹了機器學習的可行性。首先引入NFL定理,說明機器學習無法找到一個矩g能夠完全和目標函式f一樣。接著介紹了可以採用一些統計上的假設,例如Hoeffding不等式,建立E_{in}和E_{out}的聯絡,證明對於某個h,當N足夠大的時候,E_{in}和E_{out}是PAC的。最後,對於h個數很多的情況,只要有h個數M是有限的,且N足夠大,就能保證E_{in}\approx E_{out},證明機器學習是可行的。
註明:
文章中所有的圖片均來自臺灣大學林軒田《機器學習基石》課程。
更多AI資源請關注公眾號:AI有道(ID:redstonewill)