1. 程式人生 > >為什麼機器可以學習(一)

為什麼機器可以學習(一)

*1 機器學習是否可行

有沒有人在學習當中有這樣一種憂慮,我們在訓練資料所得到的模型是否像,真的能在未來的預測中表現的一樣好。不妨再具體一些,股市中我們根據歷史資料學到了一個表現很不錯的模型,你敢按照模型對未來的預判操作真金白銀的投資嗎?

2.沒有人可以預測未來

我們先來看下面這個例子。

也不知是誰從哪兒搞來了這麼幾條資料,整理成表格1的前三列所示( | 樣本編號 | 特徵 | 標註 | ),希望我們找出特徵和標註之間的規律。

於是,八路、霹霹、王抗美、沃伯特 4 位演算法工程師對這個問題進行了學習,最終得到了4個模型。

據說八汰使用了PLA學習演算法,學得了模型g1。他把g1所逼近的 Ground Truth 記作f1。
據說霹霹使用了強化學習演算法,學得了模型g2。他把g2所逼近的 Ground Truth 記作f2。
據說王抗美使用了深度學習演算法,學得了模型g3。他把g3所逼近的 Ground Truth 記作f3。
而沃伯特則沒有透露他的演算法,總之得到了模型g4。他把g4所逼近的 Ground Truth 記作f4。這 4 個模型學得怎麼樣呢?我們來看看錶格1的後4列,這4列記錄了模型的輸出。比照第三列的樣本標註可以看到,在訓練資料上模型的輸出和樣本標註完全一致,4個人的模型都表現的相當好.)
在這裡插入圖片描述


我們發現模型在訓練集上面的表現非常好,但是在訓練集上面的表現不具備代表性,我們需要對未知資料進行預測。未知資料上面的表現才具有一定的代表性。
於是我們找到了表格二的兩組資料,這兩天資料的標註是未知的,學習到的模型在訓練集上面的表現相同,但是在預測資料上面的表現卻各不相同。
表格二
在這裡插入圖片描述
機器學習中有關非常有名的定理叫做 No free Lunch,在這種例子描述的情況下,這些演算法的期望水平是一樣的。

3 用N0 free Lunch看世界

具體來說,在上面的例子中,在這批不知從哪兒來的訓練資料的情況下,可能產生訓練資料的 Ground Truth f 有多個,但又因為沒有具體的場景,導致這多個 f 是真正產生這批訓練資料的 Ground Truth 的概率是一樣的。

而無論哪種學習演算法必定最終傾向了其中的某個 f ,因此最終這些演算法的期望水平就是一樣的。(學習演算法的這種傾向,稱為學習演算法的歸納偏好(inductive bias),簡稱“偏好”。)

後面我們會看到,在具體的實際場景中,某些 f 代表的可能性發生的概率大,某些 f 代表的可能性發生的概率小,某些可能性則根本不會發生。它們的概率不是均等的,因此不再滿足NFL定理的前提。舉個例子,比如有一個不透明的存錢罐,裡面有幾百顆硬幣。你隨機抓出一把發現抓上來的全都是1元的硬幣。這時讓你預測再撈一次發生的情況,很顯然撈上來全部是1角的概率,就會遠遠的低於全部是1元的概率。

這個時候的黑色罐子,在我們看不見的上帝真相之間,世界發生了傾斜。

於是,在具體的現實問題中,那些歸納偏好與問題本身匹配的演算法就能取得很好的效果,從而另學習是可行的。

最終總結一句,我們花了那麼大的力氣,繞了一大圈連蒙太奇都用上了,就是希望你能理解NFL定理背後所表達的哲學,即:
脫離具體的問題來談模型的好壞,是沒有任何意義的。