(本文爲個人學習總結筆記)
1. NFL定理(No Free Lunch Theorem)
無論算法多麼聰明或者多麼笨拙,算法他們的期望性能是相同的,具體如下:
爲簡單起見,假設樣本空間 X和假設空間H都是離散的.令 P(h∣X,La) 代表算法La基於訓練數據X產生假設h的概率,再令f代表我們希望學習的真實目標函數. La的"訓練集外誤差",即La在訓練集之外的所有樣本上的誤差爲
Eote(La∣X,f)=h∑x∈X−X∑P(x)I(h(x)=f(x))P(h∣X,La)
其中I(⋅)是指示函數,若·爲真則取值1,否則取值0.
考慮二分類問題,且真實目標函數可以是任何函數X↦{0,1},函數空間 爲{0,1}∣x∣. 對所有可能的f按均勻分佈對誤差求和,有:
f∑Eote(La∣X,f)=f∑h∑x∈X−X∑P(x)I(h(x)=f(x))P(h∣X,La)=x∈X−X∑P(x)h∑P(h∣X,La)f∑I(h(x)=f(x))=x∈X−X∑P(x)h∑P(h∣X,La)212∣X∣=212∣X∣x∈X−X∑P(x)h∑P(h∣X,La)
f∑Eote(La∣X,f)=2∣X∣−1x∈X−X∑P(x)⋅1
綜上,可得無論算法如何,聰明或笨拙,期望性能與算法無關,任意兩個算法,都滿足:
f∑Eote(La∣X,f)=f∑Eote(Lb∣X,f)
即兩個算法期望性能相同,這就是NFL定理。
2. NFL定理解析
第一步變換
i∑mj∑nk∑oaibjck=i∑mai⋅j∑nbj⋅k∑ock
第二步變換
此時f的定義爲任何能將樣本映射到0,1的函數+均勻分佈,也即不止一個f且每個f出現的概率相等,例如樣本空間只有兩個樣本時:X={x1,x2},∣X∣=2,那麼所有的真實目標函數f爲:
f1:f1(x1)=0,f1(x2)=0f2:f2(x1)=0,f2(x2)=1f3:f3(x1)=1,f3(x2)=0f4:f4(x1)=1,f4(x2)=1
一共2∣X∣=22=4個真實目標函數。所以此時通過算法La學習出來的模型h(x)對每個樣本無論預測值爲0還是1必然有一半的f與之預測值相等,例如,現在學出來的模型x1的預測值爲1,也即h(x1),那麼有且只有f3和f4與h(x)的預測值相等,也就是有且只有一半的ff與它預測值相等,所以∑fI(h(x)=f(x))=212∣X∣;第三步一直到最後顯然成立。值得一提的是,在這裏我們定義真實的目標函數爲“任何能將樣本映射到{0,1}的函數+均勻分佈”,但是實際情形並非如此,通常我們只認爲能高度擬合已有樣本數據的函數纔是真實目標函數,例如,現在已有的樣本數據爲{(x1,0),(x2,1)},那麼此時f2纔是我們認爲的真實目標函數,由於沒有收集到或者壓根不存在{(x1,0),(x2,0)},{(x1,1),(x2,0)},{(x1,1),(x2,1)}這類樣本,所以f1,f3,f4都不算是真實目標函數。