NFL定理和演算法的優劣性

2021-07-31 01:51:19 字數 625 閱讀 9441

希望大家能自己去了解一下「歸納偏好」「欠擬合」「過擬合」「奧卡姆剃刀」原則以及nfl定理。

nfl(no free lunch theorem)定理,經過推導後得出結論:無論演算法多聰明或笨拙,它們的期望效能是相同的。不要氣餒,因為nfl定理有乙個重要前提:所有「問題」出現的機會或所有問題同等重要。但實際情況是,很多時候我們只關注自己正試**決的問題,希望找到乙個解決方案。至於這個解決方案在別的問題甚至相似問題上是否為好方案,我們並不關心。例如,為了快速從a到b,如果a是南京鼓樓、b是南京新街口,那麼「騎ofo」肯定是很好的解決方案;這個方案對a是南京鼓樓、b是北京新街口...***

回到熟悉的西瓜問題,考慮{假設1:好瓜(色澤=*)^(根蒂=蜷縮)^(敲聲=濁響)}和{假設2:好瓜(色澤=*)^(根蒂=堅硬)^(敲聲=清脆)}。從nfl定理可知,這兩個假設同樣好。我們可以想到例子,對好瓜(色澤青綠、根底蜷縮、敲聲濁響)是假設1更好,而對好瓜(色澤烏黑、根蒂硬挺、敲聲清脆)則是假設2更好。看上去的確如此。但實際上(根蒂蜷縮敲聲濁響)的好瓜很常見,而(根蒂硬挺敲聲清脆)的好瓜罕見,甚至不存在。

所以nfl最重要的意義,是讓我們清楚的認識到,脫離具體問題,空泛地談「什麼學習演算法更好」毫無意義。因為若考慮所有潛在問題,那麼所有學習演算法一樣好,要談論演算法優劣性,必須針對具體的學習問題。

多執行緒的優劣 效能 系統開銷

執行緒建立之前 1.系統為執行緒分配並初始化乙個執行緒核心物件 2.系統為每個執行緒保留1mb的位址空間 按需提交 用於執行緒使用者模式堆疊 3.系統為執行緒分配12kb 左右 的位址空間用於執行緒的核心模式堆疊。執行緒建立之後 4.windows呼叫當前程序中的每個dll都有的乙個函式,用來通知程...

各種排序演算法的優劣

一 氣泡排序 已知一組無序資料a 1 a 2 a n 需將其按公升序排列。首先比較a 1 與a 2 的值,若a 1 大於a 2 則交換兩者的值,否則不變。再比較a 2 與a 3 的值,若a 2 大於a 3 則交換兩者的值,否則不變。再比較a 3 與a 4 以此類推,最後比較a n 1 與a n 的值...

empty 和size 的優劣

通常下面 if c.size 0 if c.empty 我們會覺得它們是是等價的。主要是他們之間的效率有一定差距 bool empty const list的empty操作 而size 則是通過區間遍歷來數一數。如果size 想在常數時間內實現,那麼每個操作都要維護size的值。splice 的特點...