帶你了解機器學習(一): 機器學習中的「哲學」

0. 前言

和【帶你讀機器學習經典系列】不同,【帶你了解機器學習系列】的側重點是介紹機器學習中的思想,而不過多探討技術細節

我更喜歡把"思想"認為是一種「道」,而"模型"是一種"術",也可類比為「外功」和「內功」

本文有標題黨之嫌,因為討論的內容並非嚴格的哲學命題。但機器學習中有很多思想換個角度看和其他學科息息相關,甚至共通。在此總結了一些我覺得有意思的觀察,供大家討論。

1. 沒有免費的午餐定理(No Free Lunch Theorem -> NFL Theorem) - 什麼演算法最好?

NFL定理由Wolpert在1996年提出,其應用領域原本為經濟學。和那句家喻戶曉的"天下沒有免費的午餐"有所不同, NFL講的是優化模型的評估問題。

而我們耳熟能詳的「天下沒有免費的午餐」最早是說,十九世紀初很多歐美酒吧和旅店為了提升銷售額向顧客提供免費的三明治,而客人貪圖免費的三明治卻意外的買了很多杯酒,酒吧從而獲利更多了,以此來教育大家不要貪小便宜吃大虧。

在機器學習領域,NFL的意義在於告訴機器學習從業者:"假設所有數據的分布可能性相等,當我們用任一分類做法來預測未觀測到的新數據時,對於誤分的預期是相同的。" 簡而言之,NFL的定律指明,如果我們對要解決的問題一無所知且並假設其分布完全隨機且平等,那麼任何演算法的預期性能都是相似的。

這個定理對於「盲目的演算法崇拜」有毀滅性的打擊。例如,現在很多人沉迷「深度學習」不可自拔,那是不是深度學習就比其他任何演算法都要好?在任何時候表現都更好呢?

未必,我們必須要加深對於問題的理解,不能盲目的說某一個演算法可以包打天下。然而,從另一個角度說,我們對於要解決的問題往往不是一無所知,因此大部分情況下我們的確知道什麼演算法可以得到較好的結果。舉例,我們如果知道用於預測的特徵之間有強烈的相關性(strong dependency),那麼我們可以推測Naive Bayes(簡單貝葉斯分類器)不會給出特別好的結果,因為其假設就是特徵之間的獨立性。

在某個領域、特定假設下表現卓越的演算法不一定在另一個領域也能是「最強者」。正因如此,我們才需要研究和發明更多的機器學習演算法來處理不同的假設和數據。George Box早在上世紀八十年代就說過一句很經典的話:"All models are wrong, but some are useful(所有的模型的都是錯的,但其中一部分還是蠻有用的)." 這種觀點也是NFL的另一種表述。

周志華老師在《機器學習》一書中也簡明扼要的總結:「NFL定理最重要的寓意,是讓我們清楚的認識到,脫離具體問題,空泛的談『什麼學習演算法更好』毫無意義。

2. 奧卡姆剃刀定理(Occams Razor - Ockham定理)- 少即是多

奧卡姆剃刀是由十二世紀的英國教士及哲學家奧卡姆提出的:「 如無必要,勿增實體」。

用通俗的語言來說,如果兩個模型A和B對數據的解釋能力完全相同,那麼選擇較為簡單的那個模型。在統計學和數學領域,我們偏好優先選擇最簡單的那個假設,如果與其他假設相比其對於觀察的描述度一致。

奧卡姆剃刀定理對於機器學習的意義在於它給出了一種模型選擇的方法,對待過擬合(over-fitting)問題有指導意義。就像我以前的文章提到的,如果簡單的線性回歸和複雜的深度學習在某個問題上的表現相似(如相同的誤分率),那麼我們應該選擇較為簡單的線性回歸。

Murphy在MLAPP中用Tenenbaum的強抽樣假設(strong sampling assumption)來類比奧卡姆剃刀原理。首先他給出了下面的公式,Pr(D|h)代表了我們重置抽樣(sampling with replacement)N次後得到集合D時,某種假設h為真的概率。

Pr(D|h)=left[ frac{1}{size(h)}right]^N = left[frac{1}{|h|}right]^N

舉例,我們有0~99共100個數字,每次從其中隨機抽出一個數字並放回,重複抽取N次。若隨機抽了並放回了5次,我們抽出了left{ 2,4,8,16,32 right} ,於是我們想要推斷(induct)抽取到底遵循什麼規則。我們有兩種假設:

  • h_1: 我們是從left{ 0,2,4,6,8...,98 right}中抽取的,即從偶數中抽取

  • h_2: 我們是從left{ 2^n right} 中抽取的

根據上文給出的公式進行計算,我們發現Pr(D|h_2)遠大於Pr(D|h_1),即我們相信D=left{ 2,4,8,16,32 right} h_2:left{ 2^n right} 中產生的可能更大,但是h_1:left{ 0,2,4,6,8...,98 right}似乎也能解釋我們的結果。這個時候我們就應選擇概率更高的那個。

從奧卡姆剃刀角度思考的話,h_2:left{ 2^n right} 在0~99中只有5個滿足要求的元素,而h_1:left{ 0,2,4,6,8...,98 right}卻有50個滿足要求的元素。那麼h_1更加簡單,更加符合嘗試,選擇它:)

提供這個例子的原因是為了提供一個量化方法來評估假設,其與奧卡姆剃刀有相同的哲學內涵。有興趣的讀者應該會發現奧卡姆剃刀的思想與貝葉斯推斷是一致的,更細緻的討論可以看劉未鵬 | Mind Hacks關於貝葉斯推斷的介紹。

但讀者應該注意,奧卡姆剃刀定理只是一種對於模型選擇的指導方向,不同的選擇方向如集成學習(Ensemble Learning)就給出了近似相反的選擇標準。現實世界是非常複雜的,切勿濫用。

3. 集成學習(Ensemble Learning) - 三個臭皮匠的智慧

集成學習的哲學思想是「眾人拾柴火焰高」,和其他機器學習模型不同,集成學習將多個較弱的機器學習(臭皮匠)模型合併起來來一起決策(諸葛亮)。比較常見的方法有多數投票法(majority vote),即少數服從多數。如果我們有10個"子分類器"通過一個人的疾病史來推斷他能活多大,其中8個說他會活過200歲,其中2個說他在200歲前會死,那麼我們相信他可以活過200歲。

集成學習的思想無處不在,比較著名的有隨機森林等。從某種意義上說,神經網路也是一種集成學習,有興趣小夥伴可以想想為什麼...

相信敏銳的讀者已經發現,集成學習似乎和前面提到的奧卡姆剃刀定理相違背。明明一個分類模型就夠麻煩了,現在為什麼要做更多?這其實說到了一個很重要觀點,就是奧卡姆剃刀定理並非不可辯駁的真理,而只是一種選擇方法。從事科學研究,切勿相信有普遍真理周孝正教授曾說:"若一件事情不能證實,也不能證偽,就要存疑。" 恰巧,奧卡姆定理就是這樣一種不能證實也不能證偽的定理。

而集成學習的精髓在於假設「子分類器」的錯誤相互獨立,隨著集成中子分類器的數目上升,集成學習後的"母分類器"的誤差將會以指數級別下降,直至為0。然而,這樣的假設是過分樂觀的,因為我們無法保證"子分類器"的錯誤是相互獨立的。以最簡單的Bagging為例,如果為了使k個子分類器的錯誤互相獨立,那麼我們將訓練數據N分為k份。顯然,隨著k值上升,每個分類器用於訓練的數據量都會降低,每個子訓練器的準確性也隨之下降。即使我們允許訓練數據間有重採樣,也還是無法避免子分類器數量和準確性之間的矛盾。周志華老師曾這樣說:"個體學習的準確性和多樣性本身就存在衝突,一般的,準確性很高後,要增加多樣性就需犧牲準確性。事實上,如何產生並結合好而不同個體學習器,恰是集合學習的研究核心。"

而為什麼集成學習有效,就不得不提Bias-Variance Tradeoff。在帶你讀機器學習經典(一): An Introduction to Statistical Learning (Chapter 1&2),我曾介紹過一個學習模型的泛化誤差(Generalization Error)由偏差(Bias),方差(Variance)及內在噪音(Intrinsic Noise)共同決定。

大部分模型很難同時通過降低bias和variance來達到較好的泛化效果,而集成學習不同,這也是其優勢所在。從理論上說,集成學習往往可以同時有效的降低bias和variance,或者在控制一方的前提下降低另一方。此處按下不表。

4. 頻率學派(Frequentism)和貝葉斯學派(Bayesian) - 劍宗與氣宗之爭

每次學術討論的茶餘飯後,總會有人開玩笑問起,你是哪一派的?這似乎是一種信仰。

相信很多統計學習領域的小夥伴們都會無意間聽到類似的說法。對於不熟悉的讀者來說,無論是機器學習還是統計學習都是一種尋找一種映射,或者更廣義的說,進行參數估計。以線性回歸為例,我們得到結果僅僅是一組權重。

如果我們的目標是參數估計,那麼有一個無法迴避的問題...參數到底存不存在?換句話說,茫茫宇宙中是否到處都是不確定性(Uncertainty)。

頻率學派相信參數是客觀存在的,雖然未知,但不會改變。因此頻率學派的方法一直都是試圖估計「哪個值最接近真實值」,相對應的我們使用最大似然估計(Maximum Likelihood Estimation),置信區間(Confidence Level), 和p-value。因此這一切都是體現我們對於真實值估算的自信和可靠度。

而貝葉斯學派相信參數不是固定的,我們需要發生過的事情來推測參數,這也是為什麼總和先驗(Prior)及後驗(Posterior)過不去,才有了最大後驗(Maximum a Posteriori)即MAP。貝葉斯學派最大的優勢在於承認未知(Uncertainty)的存在,因此感覺更符合我們的常識「不可知論」。從此處說,前文提到的周孝正教授大概是貝葉斯學派的(周教授是社會學家而不是統計學家)。

據我不權威觀察,統計學出身的人傾向於頻率學派而機器學習出身的人更傾向於貝葉斯學派。比如著名的機器學習書籍PRML就是一本貝葉斯學習,而Murphy在MLAPP中曾毫無保留的花了一個小節指明頻率學派的牽強。

就像豆腐腦是甜的還是鹹的,這樣的問題還是留給讀者們去思考。需要注意的是,兩種思想都在現實中都有廣泛的應用,切勿以偏概全。更多的思考可以看這篇知乎討論: 貝葉斯學派與頻率學派有何不同? - 知乎

5. 後記 - 無處不在的妥協

接觸機器學習的早期階段,時間往往都花在了研究演算法上。隨著學習的深入,相信大家會慢慢發現其實演算法思想的精髓是...無處不在的妥協。本文只能涉及到幾種「矛盾」和「妥協」,更多的留給大家慢慢發掘和思考:)

比如,本文未敢涉及到「統計學習」和「機器學習」之間的區別,也是一種妥協--模型可解釋性與有效性的妥協。無處不在的妥協還包含「模型精度」和「模型效率」的妥協,「欠擬合」和「過擬合」的平衡等。

大部分科學,比如數學還是物理,走到一定程度,都是妥協,都有妥協帶來的美感。這給我們的指導是:當我們聽到不同的想法的時候,反駁之前先想一想,不要急著捍衛自己的觀點。

伊夫林?霍爾曾說過:"我不同意你的說法,但我誓死捍衛你說話的權利。" 我覺得這不僅僅可以作為探討科學的態度,也大可以作為我們指導人生的一種思路。

--與君共勉

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

附註:

[1] 推薦一個小視頻: 【木魚說】空肥皂盒意味著什麼?奧卡姆剃刀與更多?_趣味科普人文_科技_bilibili_嗶哩嗶哩

[2] 文章配圖: 《雅典學派》(The School of Athens)是拉斐爾為梵蒂岡宮教皇的簽字大廳繪製的四幅大型壁畫中的一幅,代表著哲學這一主題。鏈接: Free Image on Pixabay - Art School Of Athens, Rapha?l

推薦閱讀:

《三體》中人列計算機是否有可能性?
操作系統的時間函數是怎麼實現的?
為什麼給cpu進行液氮冷卻不會熱脹冷縮而損壞?
[8] Python轉義字元和切片
深度學習:進化

TAG:计算机科学 | 人工智能 | 机器学习 |