讀《數學之美》一書,作者談行星模型,受到啟發,我想談談資料探勘建模中的模型複雜度問題。
托勒密的地心說模型,大圓套小圓,十分複雜,然而模型是錯誤的;克卜勒的日心說模型,橢圓模型,模型簡單,並且模型是正確的。
我想到了機器學習中的乙個名詞「奧卡姆剃刀」。「奧卡姆剃刀」原則說的是什麼呢?
當兩個模型都可以解決乙個問題的時候,乙個複雜點,乙個簡單點。那麼建議我們選擇哪乙個呢?答案是簡單一點的。為什麼?因為簡單一點的模型泛化能力更好。複雜一點的模型可能把當前用於訓練的每乙個樣本都擬合的十分的好,學習的近乎完美,對每乙個樣本來說簡直就是「私人訂製」 ,訓練誤差非常小,但是對於新一波的樣本分類或者**的效果就未必那麼好了。 然而簡單一點的模型往往效果還不錯,它對新樣本的適應能力更強。模型泛化能力說的就是這個。
別忘了我們建模的初心是什麼? 是希望找到在新樣本上表現的非常好的模型(就是泛化能力),這樣的模型存在才有意義。
同時也想到了正則化、過擬合這些機器學習中常常被提起的名詞。正則化的重要目的就是限制模型的複雜度,防止模型過擬合。過擬合,我們常說的情況是:模型學習能力太過強大,把訓練樣本學得「太好了」,以至於把用於訓練樣本所包含的不太一般的特性都學去了(比方樣本中有很多噪音點)。而我們需要的是模型能從訓練樣本中學出所有潛在樣本的「普遍規律」。過擬合就意味著模型泛化能力的下降。
關於過擬合欠擬合,曾經看過一段話說的非常好,分享在這裡:
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.
最後,放上需要我去慢慢理解的一句話:
「正確的模型可能受噪音干擾,而顯得不準確。這事不應用一種湊合的方法修正,而是要找到噪音本源,也許模型自然就不會太複雜了。」
nubbi模型的啟發
document network,描述主題間關係,rtm nubbi 社交網路是用來描述實體之間,即人與人之間關係的結構,而關係一般通過文字的形式含蓄的表達。比如一篇涉及 regen和演員wyman的文章,會出現如 政治 娛樂 結婚等話題的 實詞 我們認為這些實詞不是用來描述人的,就是用來描述關係的...
也談分布式系統中的網路模型和故障模型
3.故障模型的劃分 3.3 按照使用者對資料的感知分類 perception by the system users 4.網路模型和故障模型的關係 參考鏈結 分布式系統中的網路模型和故障模型是個老生常談的問題了。對於故障模型,大家可能會有點懵。因為無論是在各種教材上還是在各種部落格中關於該模型的劃分...
軟體工程 敏捷過程模型帶來的啟發與思考
敏捷過程簡介 2001年,kent beck等17位程式設計大師共同發布了 敏捷軟體開發宣言 強調 人 以及 人與人的互動 勝於 過程 和 工具 可執行的軟體勝於 面面俱到的文件 客戶合作勝於 合同談判 響應變化勝於 遵循計畫 這是一種全新的軟體過程思維。最初的軟體 1960 70 年代 的顧客都是...