機器學習公式推導【Day1】NFL定理


(本文爲個人學習總結筆記)

1. NFL定理(No Free Lunch Theorem)

無論算法多麼聰明或者多麼笨拙,算法他們的期望性能是相同的,具體如下:

爲簡單起見,假設樣本空間 X\mathcal{X}和假設空間H\mathcal{H}都是離散的.令 P(hX,La)P\left(h | X, \mathfrak{L}_{a}\right) 代表算法La\mathfrak{L}_{a}基於訓練數據XX產生假設hh的概率,再令ff代表我們希望學習的真實目標函數. La\mathfrak{L}_{a}的"訓練集外誤差",即La\mathfrak{L}_{a}在訓練集之外的所有樣本上的誤差爲

Eote(LaX,f)=hxXXP(x)I(h(x)f(x))P(hX,La) E_{o t e}\left(\mathfrak{L}_{a} | X, f\right)=\sum_{h} \sum_{x \in \mathcal{X}-X} P(\boldsymbol{x}) \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) P\left(h | X, \mathfrak{L}_{a}\right)

其中I()\mathbb{I}(\cdot)是指示函數,若·爲真則取值1,否則取值0.
考慮二分類問題,且真實目標函數可以是任何函數X{0,1}\mathcal{X}\mapsto\{0,1\},函數空間 爲{0,1}x\{0,1\}^{|x|}. 對所有可能的ff按均勻分佈對誤差求和,有:

fEote(LaX,f)=fhxXXP(x)I(h(x)f(x))P(hX,La)=xXXP(x)hP(hX,La)fI(h(x)f(x))=xXXP(x)hP(hX,La)122X=122XxXXP(x)hP(hX,La) \begin{aligned} \sum_{f} E_{o t e}\left(\mathfrak{L}_{a} | X, f\right) &=\sum_{f} \sum_{h} \sum_{x \in \mathcal{X}-X} P(\boldsymbol{x}) \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) P\left(h | X, \mathfrak{L}_{a}\right) \\ &=\sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \sum_{h} P\left(h | X, \mathfrak{L}_{a}\right) \sum_{f} \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) \\ &=\sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \sum_{h} P\left(h | X, \mathfrak{L}_{a}\right) \frac{1}{2} 2^{|\mathcal{X}|} \\ &=\frac{1}{2} 2^{|\mathcal{X}|} \sum_{x \in \mathcal{X}-X} P(\boldsymbol{x}) \sum_{h} P\left(h | X, \mathfrak{L}_{a}\right) \end{aligned}
fEote(LaX,f)=2X1xXXP(x)1 \sum_{f} E_{o t e}\left(\mathfrak{L}_{a} | X, f\right) =2^{|\mathcal{X}|-1} \sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \cdot 1\\

綜上,可得無論算法如何,聰明或笨拙,期望性能與算法無關,任意兩個算法,都滿足:

fEote(LaX,f)=fEote(LbX,f)\sum_{f} E_{o t e}\left(\mathfrak{L}_{a} | X, f\right)=\sum_{f} E_{o t e}\left(\mathcal{L}_{b} | X, f\right)

即兩個算法期望性能相同,這就是NFL定理。

2. NFL定理解析

第一步變換
imjnkoaibjck=imaijnbjkock\sum_{i}^{m} \sum_{j}^{n} \sum_{k}^{o} a_{i} b_{j} c_{k}=\sum_{i}^{m} a_{i} \cdot \sum_{j}^{n} b_{j} \cdot \sum_{k}^{o} c_{k}

第二步變換
此時ff的定義爲任何能將樣本映射到0,1{0,1}的函數+均勻分佈,也即不止一個ff且每個ff出現的概率相等,例如樣本空間只有兩個樣本時:X={x1,x2},X=2\mathcal{X}=\left\{\boldsymbol{x}_{1}, \boldsymbol{x}_{2}\right\},|\mathcal{X}|=2,那麼所有的真實目標函數ff爲:
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 \begin{array}{l} f_{1}: f_{1}\left(\boldsymbol{x}_{1}\right)=0, f_{1}\left(\boldsymbol{x}_{2}\right)=0 \\ f_{2}: f_{2}\left(\boldsymbol{x}_{1}\right)=0, f_{2}\left(\boldsymbol{x}_{2}\right)=1 \\ f_{3}: f_{3}\left(\boldsymbol{x}_{1}\right)=1, f_{3}\left(\boldsymbol{x}_{2}\right)=0 \\ f_{4}: f_{4}\left(\boldsymbol{x}_{1}\right)=1, f_{4}\left(\boldsymbol{x}_{2}\right)=1 \end{array}

一共2X=22=42^{|\mathcal{X}|}=2^{2}=4個真實目標函數。所以此時通過算法La\mathfrak{L}_{a}學習出來的模型h(x)h(x)對每個樣本無論預測值爲0還是1必然有一半的ff與之預測值相等,例如,現在學出來的模型x1x_1的預測值爲1,也即h(x1)h(x_1),那麼有且只有f3f_3f4f_4h(x)h(x)的預測值相等,也就是有且只有一半的ff與它預測值相等,所以fI(h(x)f(x))=122X\sum_{f} \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x}))=\frac{1}{2} 2^{|X|};第三步一直到最後顯然成立。值得一提的是,在這裏我們定義真實的目標函數爲“任何能將樣本映射到{0,1}的函數+均勻分佈”,但是實際情形並非如此,通常我們只認爲能高度擬合已有樣本數據的函數纔是真實目標函數,例如,現在已有的樣本數據爲{(x1,0),(x2,1)}\left\{\left(\boldsymbol{x}_{1}, 0\right),\left(\boldsymbol{x}_{2}, 1\right)\right\},那麼此時f2f_2纔是我們認爲的真實目標函數,由於沒有收集到或者壓根不存在{(x1,0),(x2,0)},{(x1,1),(x2,0)},{(x1,1),(x2,1)}\left\{\left(\boldsymbol{x}_{1}, 0\right),\left(\boldsymbol{x}_{2}, 0\right)\right\},\left\{\left(\boldsymbol{x}_{1}, 1\right),\left(\boldsymbol{x}_{2}, 0\right)\right\},\left\{\left(\boldsymbol{x}_{1}, 1\right),\left(\boldsymbol{x}_{2}, 1\right)\right\}這類樣本,所以f1,f3,f4f_1,f_3,f_4都不算是真實目標函數。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章