如何理解和區分近似誤差和估計誤差?

如問題所述,主要是看到《統計學習方法》k近鄰一章談到k值的選擇(P40)時說到

&> k值越小,學習的近似誤差(approximation error)越小,估計誤差(estimation error)越大,反之則相反

個人感覺這裡有點像偏差和方差的區別,是否可以理解為近似誤差即偏差,在k值較小時,選擇的鄰域範圍較小,所以在空間內切割的「比較細」,但與此同時導致模型更加複雜,對於近鄰的實例點非常敏感,而估計誤差理解為方差,也就是說劃分的鄰域範圍較大,所以平均下來根據分類決策規則可以減小鄰域內的噪音點的影響,但是範圍大的同時也會產生較遠的點對於實例點也產生影響

搜索到的一些結果比如 近似誤差與估計誤差 - linian2763的博客 - 博客頻道 - CSDN.NET 中說

&> 估計誤差(estimation error):度量預測結果與最優結果的相近程度

&> 近似誤差(approximation error):度量與最優誤差之間的相近程度

而在What does the term quot;Estimation errorquot; mean?的答案看得我就更迷糊了,希望有比較通俗或者直觀的解答,謝謝


寫一下我自己的理解,不一定正確 - - 歡迎各路大神批判指正蹂躪(^o^)/

近似誤差其實可以理解為模型估計值與實際值之間的差距。

估計誤差其實可以理解為模型的估計係數與實際係數之間的差距。

在這個k臨近法中其實設定的k值越小,得出的模型是越複雜的,因為k值越小會導致特徵空間被劃分成更多的子空間(可以理解為模型的項越多)。而k值越大得到的模型其實是越簡單的 - -
所以當k值越小,對於訓練集的預測更加精確,近似誤差會越小(因為你選擇了更加複雜的模型去預測訓練集)。當k值越大,對於訓練集的預測則不會那麼準確,所以近似誤差會越大(因為你選擇了更加簡單的模型去預測)。

而另一方面,由於設定了比較小的k值,模型比較複雜就會產生過度擬合(overfitting)的問題。

如上圖中對於這個訓練集而言,其實選擇3次多項式來作為預測模型是與實際模型最符合的,可是當選擇9次多項式的話(對應k值越小),雖然對訓練集的預測非常準確(近似誤差越小),但是這是一個明顯的過度擬合問題(overfitting),得出的預測模型的估計誤差相對於3次多項式其實是更大的。

不知道這樣的理解對不對,希望能對題主有幫助,不是大神求輕噴 -


近似誤差,更關注於「訓練」。

最小化近似誤差,即為使估計值盡量接近真實值,但是這個接近只是對訓練樣本(當前問題)而言,模型本身並不是最接近真實分布。換一組樣本,可能就不近似了。這種只管眼前不顧未來預測的行為,即為過擬合。

估計誤差,更關注於「測試」、「泛化」。

最小化估計誤差,即為使估計係數盡量接近真實係數,但是此時對訓練樣本(當前問題)得到的估計值不一定是最接近真實值的估計值;但是對模型本身來說,它能適應更多的問題(測試樣本)。

感謝 @大樹先生 的回答,以上是我基於TA的答案的理解。如果有誤,敬請斧正。


嚴格上說,這是PAC learning theory里的一個結論。證明很複雜,但有一個很重要的結論是說明了函數集大小|H|和估計誤差之間的正比關係。

可以這麼理解,近似誤差由我們的定義的函數集大小(hypothesis class)決定的,我們允許測試的函數集越大,包含正確函數或者說模型的概率就越大,所以,近似誤差就越小。

但由於|H|和估計誤差的正比關係,所以近似誤差和估計誤差就成了反比。

結論就是,近似誤差和估計誤差不能兩者皆得,一個小就會造成另一個大。在實際做模型的時候,要利用自己的領域知識選擇合適的函數集大小,使得誤差儘可能小。


推薦閱讀:

TAG:機器學習 | 誤差 |