1. 程式人生 > >機器學習的哲學思想

機器學習的哲學思想

也有 想法 統計 swe 可能 prior 告訴 map 最大的

原文出處:https://www.zhihu.com/question/267135168/answer/329318812

之前前讀過一次這篇知乎文章,現在再次讀來,感受很深,特別是妥協和矛盾,說的不就做推薦的人的日常工作麽,淚奔。

再次摘抄下來,方便以後再讀

不僅僅是機器學習,大部分理工科的思想都可以從文史學科的角度去理解。正所謂大道至簡,很多道理是共通的**。本文的內容是從哲學角度看待機器學習。文章的結構如下:

  1. 天下沒有免費的午餐—教條主義的危害
  2. 奧卡姆剃刀定理—少即是多
  3. 三個臭皮匠的智慧—初看集成學習
  4. 民主自由與專制—再看集成學習
  5. 頻率學派和貝葉斯學派—不可知論
  6. 後記:妥協、矛盾與獨立思考

2.1. 沒有免費的午餐定理—教條主義的危害

(No Free Lunch Theorem / NFL定理)

NFL定理由Wolpert在1996年提出,其應用領域原本為經濟學。我們耳熟能詳的“天下沒有免費的午餐”最早是說,十九世紀初很多歐美酒吧和旅店為了提升銷售額向顧客提供免費的三明治,而客人貪圖免費的三明治卻意外的買了很多杯酒,酒吧從而獲利更多了,以此來教育大家不要貪小便宜吃大虧。和那句家喻戶曉的"天下沒有免費的午餐"有所不同, NFL講的是優化模型的評估問題

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

這個定理對於“盲目的算法崇拜”有毀滅性的打擊。例如,現在很多人沈迷“深度學習”不可自拔,那是不是深度學習就比其他任何算法都要好?在任何時候表現都更好呢?未必,我們必須要加深對於問題的理解,不能盲目的說某一個算法可以包打天下。然而,從另一個角度說,我們對於要解決的問題往往不是一無所知,因此大部分情況下我們的確知道什麽算法可以得到較好的結果。舉例,我們如果知道用於預測的特征之間有強烈的相關性,那麽我們可以推測Naive Bayes(簡單貝葉斯分類器)不會給出特別好的結果,因為其假設就是特征之間的獨立性。

在某個領域、特定假設下表現卓越的算法不一定在另一個領域也能是“最強者”。正因如此,我們才需要研究和發明更多的機器學習算法來處理不同的假設和數據

。George Box早在上世紀八十年代就說過一句很經典的話:"All models are wrong, but some are useful(所有的模型的都是錯的,但其中一部分是有用的)。" 這也可以理解為是NFL的另一種表述。周誌華老師在《機器學習》一書中也簡明扼要的總結:“NFL定理最重要的寓意,是讓我們清楚的認識到,脫離具體問題,空泛的談‘什麽學習算法更好’毫無意義。”

2.2. 奧卡姆剃刀定理—少即是多

奧卡姆剃刀定理(Occam‘s Razor - Ockham定理)

奧卡姆剃刀是由十二世紀的英國教士及哲學家奧卡姆提出的:“ 如無必要,勿增實體”。用通俗的語言來說,如果兩個模型A和B對數據的解釋能力完全相同,那麽選擇較為簡單的那個模型。在統計學和數學領域,我們偏好優先選擇最簡單的那個假設,如果與其他假設相比,其對於觀察的描述度一致

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

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]^NPr(D∣h)=[size(h)1]N=[∣h∣1]N舉例,我們有0~99共100個數字,每次從其中隨機抽出一個數字並放回,重復抽取N次。若隨機抽了並放回了5次,我們抽出了{ 2, 4, 8, 16, 32 },於是我們想要推斷抽取到底遵循什麽規則。我們有兩種假設:

  • h1:我們是從{ 2, 4, 6, 8, ... ,98 }中抽取的,即從偶數中抽取 :
  • h2:我們是從{ 2^n }中抽取的

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

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

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

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

2.3. 三個臭皮匠的智慧—初看集成學習

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

集成學習的思想無處不在,比較著名的有隨機森林等。從某種意義上說,神經網絡也是一種集成學習,每個單獨的神經元都可以看做某種意義上的學習器

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

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

2.4. 民主自由與專制—再看集成學習

細分集成學習的話,也有兩種截然相反的設計思路:

  • 思路1:每個子學習器都是分類器,在融合後達成為一個強力的主體。代表算法:隨機森林

  • 每個子學習器都是

    分類器,融合過程中可能:

    • 思路2(強中取強):選擇最強的那一個。代表算法:dynamic classifier selection
    • 思路3(公平選擇):一視同仁的對待每個子學習器,融合出一個更強的主體。代表算法:stacking

不難看出,思路1和3雖然期望的子學習器不同(弱vs.強),但都比較公平做到了一視同仁,和民主很像。而思路2不同,更加強調自由(或是專制),選出最強的那一個,讓它說了算。

讓一堆子學習器集體做決定的缺陷在於低效,容易被平庸的子學習器拖了後腿。而信賴最強者的缺點在於缺乏穩定性,上限可以很高,下限也可以很低

試問集成學習到底該選擇哪條路?沒有答案,但實用主義告訴我們哪個好用用哪個,要結合具體情況進行分析。

2.5. 頻率學派和貝葉斯學派—不可知論

很多統計學習領域的小夥伴們都知道從統計學角度出發,對於概率有兩種不同的認知。對於不熟悉的讀者來說,無論是機器學習還是統計學習都是一種尋找一種映射,或者更廣義的說,進行參數估計。以線性回歸為例,我們得到結果僅僅是一組權重。

如果我們的目標是參數估計,那麽有一個無法回避的問題...參數到底存不存在?換句話說,茫茫宇宙中是否到處都是不確定性(Uncertainty),而因此並不存在真實的參數,而一切都是處於運動當中的。

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

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

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

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

從哲學角度來看,頻率學派和貝葉斯學派間的區別更像是在討論“形而上學”以及“不可知論”。和我們高中課本中提到的的“二分法”思想似乎也有一定的聯系。

2.6. 後記:妥協、矛盾與獨立思考

在接觸機器學習的早期階段,時間往往都花在了研究算法上。隨著學習的深入,相信大家會慢慢發現其實算法思想的精髓是無處不在的妥協。本文只能涉及到幾種“矛盾”和“妥協”,更多的留給大家慢慢發掘和思考:)比如,本文未敢涉及到“統計學習”和“機器學習”之間的區別,也是一種妥協:模型可解釋性與有效性的妥協。無處不在的妥協還包含“模型精度”和“模型效率”的妥協,“欠擬合”和“過擬合”的平衡等。

大部分科學,比如數學還是物理,走到一定程度,都是妥協,都有妥協帶來的美感。這給我們的指導是:當我們聽到不同的想法的時候,反駁之前先想一想,不要急著捍衛自己的觀點。而相反的兩種觀點,在實際情況下卻往往都有不俗的效果,這看似矛盾但卻是一種和諧。

因此,當面對紛雜的信息,各種似是而非的解釋與結論時。最重要的不是急著發表觀點,而是靜下來慢下來,不要放棄思考。只有獨立的思考,才能最終幫助我們擺脫重重迷霧,達到所追尋的真理。

機器學習的哲學思想