1. 程式人生 > >機器學習筆記(2)----“沒有免費的午餐”定理

機器學習筆記(2)----“沒有免費的午餐”定理

“沒有免費的午餐”定理(No Free Lunch Theorem,簡稱NFL)

先來看一個例子。假設學習演算法a基於某種歸納偏好產生了對應於A的模型,學習演算法b基於另一種歸納偏好產生了對應於曲線B的模型。

基於奧卡姆剃刀原理,我們會期待演算法a比演算法b更好。確實,如圖(a)所示,和B相比,A與訓練集外的樣本更一致;換言之,A的泛化能力比B強。

但是,且慢!雖然我們希望並相信演算法a比b更好,但會不會出現圖(b)的情況:與A相比,B與訓練集外的樣本更一致?


注:黑點:訓練樣本;白點:測試樣本。

這種情況是很有可能出現的,對於一個學習演算法a,若它在某些問題上比學習演算法b好,則必然存在另外一些問題,演算法b比a好。

下面引出沒有免費的午餐定理。

不管演算法a有多好,泛化能力多強,演算法b有多笨拙,這兩個演算法的期望值是相同的,換言之,這兩個演算法的效能可能差不多,甚至,一個最優演算法可能

和一個胡亂猜想的演算法效能相似。

NFL定理有個重要前提:所有問題出現的機會相同,或所有問題同等重要。但實際情況並不是如此,所以這就要求我們具體問題具體分析,很多時候,我們只關注

自己正在試圖解決的問題,希望為它找到一個解決方案,至於這個解決方案在別的問題,甚至在相似的問題上是否是好方案,我們並不關心。

根據NFL,我們似乎無法找到這樣一個放之四海而皆準的最優方案,所以一切問題都要具體問題具體分析。