機器學習:沒有免費午餐定理(No Free Lunch Theorem)

思考

機器學習中哪個算法好?哪個算法差呢?

下面兩條線,哪個更好呢?


機器學習:沒有免費午餐定理(No Free Lunch Theorem)


沒有免費午餐定理

如果我們不對特徵空間有先驗假設,則所有算法的平均表現是一樣的。

假設我們的計算機只有兩個存儲單元,而且每個存儲單元只能存儲兩個標籤,一類是class1(圓圈),一類是class2(叉叉)。假設其中一個存儲單元是圓圈,另一個存儲單元未知,需要我們預測,預測的可能情況如下:


機器學習:沒有免費午餐定理(No Free Lunch Theorem)


如果不對特徵空間有假設,則可以認為這兩種情況的概率差不多,也就意味著,我們無論選擇預測哪個結果,成功的概率都是50%。

假設計算機的存儲單元變成三個,情況變成如下:


機器學習:沒有免費午餐定理(No Free Lunch Theorem)


如果不對特徵空間有假設,則可以認為這四種情況的概率差不多。

三個存儲單元的情況,以只兩個存儲單元的狀態,預測第三個存儲單元的結果如下:


機器學習:沒有免費午餐定理(No Free Lunch Theorem)


存儲單元更多的情況,"?"處應該是圓圈還是叉叉呢?


機器學習:沒有免費午餐定理(No Free Lunch Theorem)


大多數人應該選擇上面的"?"為圓圈,下面的“?”是叉叉,這樣真的對嗎?如果我們把圓圈定義成花瓣,叉叉定義成蜜蜂。上邊的"?"恰好表示小蜜蜂在花瓣裡,也是合理的。但是大多數算法卻不這麼做。

我們認為:特徵差距小的樣本更有可能是同一類

但是事實上,沒有所謂的世界上最好的算法,只有公認的好方法(支持向量機、決策樹、神經網絡等)

如果這篇博客對你有用,點個贊再走唄~


分享到:


相關文章: