你好!
何老师上课用黑天鹅白天鹅举了个关于Overfitting和Underfitting的例子,可是在解释的时候,何老师说,Overfitting是指, 一直给机器喂白色天鹅的图片导致机器只认识白色天鹅而不认识黑色天鹅,但是在我的理解里面,这难道不是underfitting么? 就是因为人没有能给机器看到黑色天鹅的图片才导致了机器不认识黑色天鹅的不是么?我怎么想也不觉得这是Overfitting.
请解答! 谢谢!
星星_品职助教 · 2020年11月30日
同学你好,
每一个数据集里可能存在很多规律,即有共性的的规律(true parameter),也会有这个数据集独有的规律(noise),一个好的模型要包含且只包含所有的共性规律。如果除了共性规律外,模型里还包括了noise,这就是overfitting;如果共性规律都没包括全,就是underfitting。这两种情况都会导致利用模型进行预测时的不准确。
课上的这个例子里,这个用来建模的数据集包括的共性规律可能有曲项,有翅膀,体型比较大,会飞等等。包括的noise就是所有天鹅图像都是白色天鹅。如果模型只包括了这些共性规律,是可以成功预测出天鹅的,无论黑白。这是一个运行良好的模型。
但如果建模的时候把只在这个数据集里的适用的规律也包括进去了,例如白色就是这个数据集里独有的规律(noise),这个时候预测就会产生错误,无法预测出同样也是天鹅的黑天鹅。这个时候就属于对于数据集规律抓的过细,导致规律只能在这个特有的数据集里应用,而不能推广。这个就是overfitting的模型。
如果建模时,共性规律都没抓全,例如漏掉了“体型大”这一项,也会导致预测不准,例如把鸭子也预测成天鹅。这个时候就属于对于数据规律抓的太糙,而不能推广。这个就是underfitting的模型。