我在尝试理解为什么在数据量少的情况下,模型会出现过拟合现象。
我理解了其背后的典型艺术概念,即模型会“记忆”你提供给它的少量数据(或具体来说是这些数据的变化)。
但是,是否有更坚实的理由解释这种现象呢?
例如,对于一个变化很小的数据集(无论大小),难道不能通过限制模型或添加某种形式的正则化来强制避免过拟合吗?
P.S 我曾看到一个解释,详细说明了如果不引入群体中存在的某种类型变化,模型确实会越来越难以泛化。但这只是一个快速合理化的方法,还是如我上面提到的,有办法消除数据中这种变化的缺乏?
回答:
是的,你可以添加正则化、批量归一化甚至是 Dropout 来减少过拟合。当模型的参数(如神经网络中的权重)数量相对于数据量过多时,模型就会过拟合。
你还可以批量而不是单独样本地修正模型的错误,这样你的模型就不太可能过拟合数据。
你还可以向数据中添加噪声来减少过拟合。