介紹
no free lunch直譯為“沒有免費的午餐”,意思是沒有付出,沒有收穫。或者說不可能不付出就獲得好處。
No Free Lunch TheoremsWolpert and Macready在1997年提出了No Free Lunch Theorems (沒有免費的午餐理論),該理論用於比較兩種最佳化算法之間的關係,即如何確定一種算法比另外一種算法好。原文描述如下圖:
具體描述為:針對某一具體域內的所有最佳化問題Q,算法A與算法B經過m步疊代之後達到目標函式給定值的所有可能性的累加和是相等的。
公式公式如下:
機器學習
Hume (1739–1740)在觀察了結合常變與不變的對象之後,指出:我們沒有任何理由得出對於我們已有經驗的物體之外的推理。最近,在增加了嚴格條件之後,Mitchell (1980), Schaffer (1994) and Wolpert (1996)實驗表明對於無監督學習的偏見是錯誤的。
Wolpert (1996)指出,在一個沒有噪聲的條件下,損失函式是誤分率,如果我們關注的是離線訓練集的誤分率,對於兩種機器學習算法,沒有明顯的區別。
比如:
d = 訓練集合;
m = 訓練集合中的元素個數;
f = 目標的輸入輸出關係;
h = 假設算法f的輸入參數為d,結果為h
C =針對f,h的離線訓練損失函式
如果以下面的參數來衡量,所有的算法都是相同的: E( C| d), E( C| m), E( C| f, d), or E( C| f, m).
結論
我們比較兩種算法A與B:
1. 對於所有的問題,A並不總是優於B
2. 對於所有的問題,特定算法並不總是比隨機算法好。
如下圖:
結論一種算法只是針對某一問題來說是最好的,如下圖:
算法