來自行星模型的啓發——談模型之簡單與複雜

讀《數學之美》一書,作者談行星模型,受到啓發,我想談談數據挖掘建模中的模型複雜度問題。
托勒密的地心說模型,大圓套小圓,十分複雜,然而模型是錯誤的;開普勒的日心說模型,橢圓模型,模型簡單,並且模型是正確的。

我想到了機器學習中的一個名詞 “奧卡姆剃刀”。“奧卡姆剃刀”原則說的是什麼呢?
當兩個模型都可以解決一個問題的時候,一個複雜點,一個簡單點。那麼建議我們選擇哪一個呢?答案是簡單一點的。爲什麼?因爲簡單一點的模型泛化能力更好。複雜一點的模型可能把當前用於訓練的每一個樣本都擬合的十分的好,學習的近乎完美,對每一個樣本來說簡直就是“私人訂製” ,訓練誤差非常小,但是對於新一波的樣本分類或者預測的效果就未必那麼好了。 然而簡單一點的模型往往效果還不錯,它對新樣本的適應能力更強。模型泛化能力說的就是這個。

別忘了我們建模的初心是什麼? 是希望找到在新樣本上表現的非常好的模型(就是泛化能力),這樣的模型存在纔有意義。

同時也想到了正則化、過擬合這些機器學習中常常被提起的名詞。正則化的重要目的就是限制模型的複雜度,防止模型過擬合。過擬合,我們常說的情況是:模型學習能力太過強大,把訓練樣本學得“太好了”,以至於把用於訓練樣本所包含的不太一般的特性都學去了(比方樣本中有很多噪音點)。而 我們需要的是模型能從訓練樣本中學出所有潛在樣本的“普遍規律”。 過擬合就意味着模型泛化能力的下降。

關於過擬合欠擬合,曾經看過一段話說的非常好:

overfitting: capturing sparious patterns that won’t recur in the future, leading to less accurate predictions.
underfitting: fail to capture relevant patterns, again leading to less accurate predictions.

所以,同樣都能解決問題,在保證一定準確率的情況下,模型還是簡單點好呢。現代社會是非常看重一個人對新環境的適應能力的,我們的模型也一樣。

最後,放上需要我去滿滿理解的一句話:

“正確的模型可能受噪音干擾,而顯得不準確。這事不應用一種湊合的方法修正,而是要找到噪音本源,也許模型自然就不會太複雜了。”

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