奧卡姆剃刀和沒有免費的午餐定理

2021-10-01 16:25:10 字數 1996 閱讀 6988

「奧卡姆剃刀」和「沒有免費的午餐」是機器學習中兩個很基本的原則和定理。由於名字有點怪,所以初學者可能在理解上陷入誤區。本文試圖用簡潔易懂的方式解釋這兩個原則和定理,並告訴大家它們的名字是怎麼來的。

「奧卡姆剃刀」和「沒有免費的午餐」是機器學習中兩個很基本的原則和定理,很多書都會提到它們來提公升逼格。不過,煩就煩在它們的名字取的有些不好理解,初學者望文生義就容易錯誤理解。其實,了解了它們名字的由來,這兩個原則和定理是很容易想明白的,也不用去糾結如何證明它們,因為它們更接近哲學思想,而不是你會在實際專案中用到的公式。

1. 奧卡姆剃刀(occam』s razor)

「奧卡姆剃刀」其實並不是機器學習領域產生的定理,事實上,它是哲學領域的乙個思想。這個思想說起來也很簡單,7個字,「簡單的是最好的」。

相信大家不難理解這個哲學思想,比如在數學領域,大多數數學家認為「好的公式應當是簡潔明瞭的」,就是「奧卡姆剃刀」的體現。

這個思想我能理解,但為什麼叫這麼奇怪的名字?容易想到,「奧卡姆」是提出這個思想的人的名字;至於為什麼叫「剃刀」是因為這個思想的提出,對封建舊思想來說是把鋒利的剃刀,狠狠地剃除教會的舊思想。(具體是如何剃除舊思想的就不展開了)

那這個思想是怎麼應用在機器學習領域的呢?用下面的圖1就可以概括:

圖1了解機器學習的同學不難看出,圖1表示的是過擬合問題,不了解的同學也不必擔心,可以把圖1想象成用曲線擬合幾個點。

那麼問題來了,圖1中,哪種擬合方式是比較好的呢?相信大多數人都會選擇左小圖的擬合方式。機器學習領域也通常認為左小圖是比較好的,原因就是「奧卡姆剃刀」的思想,「簡單的是最好的」。

有些敢於挑戰權威的同學可能會反駁,「怎麼證明圖1左小圖是更簡單的呢?我可以認為右小圖更簡單」。是的,這個問題周志華的西瓜書中也有提到,其實是沒有辦法說明哪種更簡單。這也是哲學問題的通病,難以聯絡到實際中,往往會有多種解讀。

不過我們不用去糾結怎樣才算「簡單」,只要明白這個詞是什麼意思就可以了。

可能還會有同學反駁,「我同意左小圖是簡單的,但萬一實際情況中右小圖才是更符合結果的擬合方式呢?」。這個想法也是對的,我們無法證明實際情況一定是左小圖的擬合方式最好。這也就是下面「沒有免費的午餐」定理要說明的。

2. 「沒有免費的午餐」定理(no free lunch, nfl)

這個定理的名字乍一看很唬人,也有很多初學者因為這個名字陷入了誤區。我們可以先把名字放在一邊,先看定理的內容。

這個定理證明起來很複雜,一長串的數學公式,但說明白其實只要一句話,「沒有一種機器學習演算法是適用於所有情況的」。

這也符合我們的直覺。舉個例子吧,比如圖1,假設圖1的左小圖是機器演算法a給出的擬合曲線,圖1的右小圖是機器演算法b給出的擬合曲線。我們就一定能說機器演算法a比機器演算法b更好嗎?或者說左小圖的擬合曲線一定比右小圖更符合實際情況嗎?都不能。「沒有免費的午餐」定理證明了對於所有機器學習問題,機器演算法a更好與機器演算法b更好的概率是一樣的。更一般地說,對於所有機器學習問題,任何一種演算法(包括瞎猜)的期望效果都是一樣的。

那我們還學個啥?既然任何演算法的期望效果和瞎猜一樣,我們為什麼還要學?

注意,這個定理有個前提:「對於所有機器學習問題,且所有問題同等重要」。而我們實際情況不是這樣,我們在實際中往往更關心的是乙個特定的機器學習問題,對於特定的問題,特定的機器學習演算法效果自然比瞎猜更好。還是圖1的例子,雖然「沒有免費的午餐」定理告訴我們:我們不能預計到底是左小圖擬合更好還是右小圖擬合更好,但聰明的你一定能想到:是好是壞,代入到具體問題中檢驗一下不就知道了。

這個定理本質上就是告訴我們不要奢望能找到一種演算法對所有問題都適用。這麼說來,這個定理其實有點廢話,因為我們面對的總是乙個特定的問題,而不是所有問題。

但是這個定理其實揭示了乙個哲學思想,「有得必有失」,某乙個機器學習演算法在某個領域好用,在另外乙個領域就有可能不好用,瞎猜在一些情況下不好用,但在某個特定的問題上會很好用。就像能量守恆定理,這裡的能量增加,另外一邊的能量就會減少。天上掉餡餅被你撿到了,這個時刻你很幸運,但是之後你就會倒霉。

理解了上面一段話,也就明白了這個定理為什麼取這麼奇怪的名字。

機器學習筆記1 奧卡姆剃刀和沒有免費的午餐理論

一 奧卡姆剃刀 occam s razor 奧卡姆剃刀原則主張選擇與經驗觀察一致的最簡單假設,是一種常用的 自然科學研究中最基本的原則,即 若有多個假設與觀察一直,則選最簡單的那個 舉個例子。假如有一些連續點,可以用二次或更複雜的函式擬合,那麼就用二次函式來擬合。問題是,怎麼判斷,哪乙個假設更 簡單...

機器學習的奧卡姆剃刀原理

奧卡姆剃刀定律 occam s razor,ockham s razor 又稱 奧康的剃刀 它是由14世紀英格蘭的邏輯學家 聖方濟各會修士奧卡姆的威廉 william of occam,約1285年至1349年 提出。這個原理稱為 如無必要,勿增實體 即 簡單有效原理 正如他在 箴言書註 2卷15題...

機器學習 沒有免費的午餐定理

一種演算法 演算法a 在特定資料集上的表現優於另一種演算法 演算法b 的同時,一定伴隨著演算法a在另外某乙個特定的資料集上有著不如演算法b的表現 具體問題 機器學習領域內問題 具體分析 具體的機器學習演算法選擇 具體哪乙個函式更好,取決於資料本身的規律,而這個規律,從有限的觀測資料中,是不可能絕對準...