来自行星模型的启发——谈模型之简单与复杂

读《数学之美》一书,作者谈行星模型,受到启发,我想谈谈数据挖掘建模中的模型复杂度问题。
托勒密的地心说模型,大圆套小圆,十分复杂,然而模型是错误的;开普勒的日心说模型,椭圆模型,模型简单,并且模型是正确的。

我想到了机器学习中的一个名词 “奥卡姆剃刀”。“奥卡姆剃刀”原则说的是什么呢?
当两个模型都可以解决一个问题的时候,一个复杂点,一个简单点。那么建议我们选择哪一个呢?答案是简单一点的。为什么?因为简单一点的模型泛化能力更好。复杂一点的模型可能把当前用于训练的每一个样本都拟合的十分的好,学习的近乎完美,对每一个样本来说简直就是“私人订制” ,训练误差非常小,但是对于新一波的样本分类或者预测的效果就未必那么好了。 然而简单一点的模型往往效果还不错,它对新样本的适应能力更强。模型泛化能力说的就是这个。

别忘了我们建模的初心是什么? 是希望找到在新样本上表现的非常好的模型(就是泛化能力),这样的模型存在才有意义。

同时也想到了正则化、过拟合这些机器学习中常常被提起的名词。正则化的重要目的就是限制模型的复杂度,防止模型过拟合。过拟合,我们常说的情况是:模型学习能力太过强大,把训练样本学得“太好了”,以至于把用于训练样本所包含的不太一般的特性都学去了(比方样本中有很多噪音点)。而 我们需要的是模型能从训练样本中学出所有潜在样本的“普遍规律”。 过拟合就意味着模型泛化能力的下降。

关于过拟合欠拟合,曾经看过一段话说的非常好:

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.

所以,同样都能解决问题,在保证一定准确率的情况下,模型还是简单点好呢。现代社会是非常看重一个人对新环境的适应能力的,我们的模型也一样。

最后,放上需要我去满满理解的一句话:

“正确的模型可能受噪音干扰,而显得不准确。这事不应用一种凑合的方法修正,而是要找到噪音本源,也许模型自然就不会太复杂了。”

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