作者:sheenapunk
链接:https://www.zhihu.com/question/32246256/answer/55467528
来源:知乎
链接:https://www.zhihu.com/question/32246256/answer/55467528
来源:知乎
一个overfitted模型记住太多training data的细节从而降低了generalization的能力。
举个栗子,给机器一堆人类的照片,告诉它性别,让它学习看照片区分男女。哇,机器好棒哦,一下子就能正确区分80%的照片的性别了!可是你觉得不够,怎么能容忍20%的错误率呢,啪啪啪键盘敲下去,让机器给我接着学。
机器不怎么聪明,可是记忆力和观察力是很强的!所以你一直push它的话,它会把每张照片每个像素的数值都记住的,这对每张照片都是独一无二的,再记住它的性别,就能100%区分出你给他的所有照片里人的性别了。
可是我们的目的不是让它成功区分这一堆照片里人的性别,而是让它看见新的不知道性别的人的照片时,可以成功预测性别。记住每个点的像素有个毛用?你会发现这个机器判断新的照片时表现很差。
这就是为什么要把training data切一小份(比如说10%)出来做validation,用剩下90%的data去train,然后用这10%检查一下train好的model,看看表现怎么样,防止over training。Cross validation也是这个意思,把data切10份,每次用一份做validation,做10次,能用到所有的training data。