从“没有免费的午餐”理论看机器学习模型
2019獨角獸企業重金招聘Python工程師標準>>>
no free lunch直譯為“沒有免費的午餐”,意思是沒有付出,就沒有收獲。Wolpert and Macready在1997年提出了No Free Lunch Theorems(沒有免費的午餐理論),該理論用于比較兩種優化算法之間的關系,即如何確定一種算法比另外一種算法好。原文描述如下:
下面我們引用一下周志華老師的證明。注意有些符號的設定的并不相同:
假設樣本空間χ和假設空間H都是離散的。令P(h|X,£a)代表算法£a基于訓練數據X產生假設h的概率,再令f代表我們希望學習的真實目標函數。£a的訓練集外誤差,即£a在訓練集之外的所有樣本上的誤差為
其中,我們定義I(x)為指示函數(indicator function)。當且僅當x為真時I(x)取值為1,否則為0。
考慮二分類問題,且真實木匾函數可以是任何函數χ→{0,1},函數空間為{0,1}^|χ|,此時對所有可能的f按均勻分布對誤差求和,有
因此,總誤差竟然與學習算法無關!對于任意兩種學習算法,我們都有
也就是說,不論學習算法£a多聰明、學習算法£b有多笨拙,它們的期望性能竟然相同!這就是“沒有免費的午餐”定理。
然而,NFL定理的前提是,所有問題出現的機會相等、或所有問題都是同等重要。而實際情形往往并不是這樣。一般我們只需要關注自己正要解決的問題即可。而對于我們的解決方案在另一個問題上的表現是否同等出色,我們并不關心。
為了解決真實世界中的問題,我們可能需要提出多個不同的模型。對于每一種模型,我們同樣有多種算法來訓練模型。在實現算法的過程中,也同樣存在算法精確度、速度和儲存空間之間的折中。因此,脫離具體問題而空談“什么算法最好”之類的討論毫無意義,因為若考慮所有潛在的問題,那么所有的模型、算法都一樣好——這也是我們通過NFL定理得出的。要比較模型的相對優劣,則必須建立在與之對應的學習問題之上。
轉載于:https://my.oschina.net/bgbfbsdchenzheng/blog/650065
總結
以上是生活随笔為你收集整理的从“没有免费的午餐”理论看机器学习模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 构建LINUX下的入侵检测系统——LID
- 下一篇: Oracle Redefine tabl