关于overfit的随笔

看到@ 爱可可-爱生活转发的文章。稍微看了下,在这里记录下。

overfit是机器学习的一个重要概念。在狭义上可以定义为模型过于复杂,导致模型的generalization不够好。我认为应采用一个更广义的定义:凡是generalization不行的,都可以定义为overfit。从我的定义出发的话,可以认为这个文章围绕overfit展开,从三个方面讨论了这个新手老鸟都会犯的错误。

第一部分概述了overfit,这一部分可看作从建模的复杂度来讨论overfit,你的模型越复杂越容易overfit。其中overfit是memorizing而不是learning的比喻很贴切。我们需要通过something学到规律而不是仅仅简单的记住someting。我补充下,overfit可以通过bayes的prior来引入regulatization,从而提高generalization。

第二部分从数据的角度来讨论overfit,你用来训练的数据也会带来overfit。这部分可分成两个小节:首先,bias的训练数据当然会bias你的预测,generalization不够好,overfit随之产生。其次,leakage的训练数据,会引入测试数据的规律到模型中,等于您白测了,cross-validating的hyper-param作废了,不能generalization,于是overfit又来了。的确很多论文都没注意这一点,微软就闹过这种笑话。

posted @ 2015-02-24 12:11  冷处理场烟囱  阅读(943)  评论(0编辑  收藏  举报