“沒有免費的午餐”定理(NFL定理)

fly___2019發表於2019-03-25

“沒有免費的午餐”定理(NFL定理)的理解 上篇

最近在看這個,個人的理解而已。

簡介

在機器學習過程中,需要確定一個假設,從而確定了整個假設空間,而學習的過程就是在假設空間的眾多假設中找到與樣本資料集表現一致或者最相近的假設。

#與資料集表現一致或相近的假設可能很多,如何確定某個具體的假設?這就是演算法的歸納偏好。
當面對一個二分類的問題時,如果採用線性可分支援向量機對該資料進行學習,則假設“整個訓練資料集是線性可分的”(確定一個假設),假設空間則為ax+b=0,其中x表示樣本的特徵向量,a≠0,b為任意常數。

如下圖所示,其中a、b為支援向量,d為向量機學習到的模型。
直線a到b這片區域可以理解為版本空間(真實的版本空間可能比這個大)
這裡面就產生了一個疑問,為什麼要在眾多的版本空間中選擇直線d作為模型,來預測新樣本的分類?
這就是演算法的偏好,支援向量機演算法的偏好是選擇能儘可能將正例和負例完全分開的直線。

那麼這種偏好就一定好嗎?
不一定,對於有些問題(或大多數問題)支援向量機的這種偏好可能很好,但是對於另一些問題(譬如真實分類界限是曲線),則可能產生較差的效果。
我們希望學習到的真實分類界限,可能是c,甚至可能不是直線,可能是整個版本空間的任意劃分。

但是,任何一種機器學習演算法都有歸納偏好,否則我們無法從眾多的版本空間中確定某個特定的假設,而無法產生確定的學習效果。某些演算法可能在解決這些問題時,能產生很好的效果,也就意味著在另外一些問題上會表現差。


沒有免費的午餐”定理

《機器學習》中表示,“沒有免費的午餐”指的是:在所有的“問題”出現的機會相同,或所有問題同等重要的條件下,任何演算法在除訓練集以外的整個樣本空間預測誤差的期望是相同的。

同樣有點難以理解:
1、在所有的“問題”出現的機會相同,或所有問題同等重要的條件
這句話的意思是在面對一組資料(訓練集)時,如圖所示,我們只是按照一個確定的演算法,找到一條確定的直線(歸納偏好),其實我們也不知道真實的分界線應該在哪裡。但是,面對不同問題,真實的分界線可能是a到b之間任意直線(或曲線),機會相同指的是任意一條分界線出現的概率相同。
2、任何演算法在除訓練集以外的整個樣本空間預測誤差的期望是相同的
下面的公式指的是演算法La在訓練集以外的樣本誤差的期望。在這裡插奧德賽
在演算法La和演算法Lb
在這裡插入圖片描述在這裡插入圖片描述
具體推導過程暫時略過,下次有機會再補。
表明,不同的演算法對訓練集外的樣本誤差期望是相同的。

如果將所有的問題劃分為兩個大類A和B,
若演算法La在A問題上表現好,在B問題上表現差,演算法Lb在A問題上表面差,
那麼,演算法 Lb必然在B問題上表現好。

“沒有免費的午餐”定理說明了,脫離實際情況,單純的談演算法的優劣是沒有意義的。
因此,在選擇演算法時,應該根據具體問題,選擇演算法的偏好與實際問題一致的演算法。


在這裡插入圖片描述

相關文章