根据《深度学习》一书的第 8 章,“..经验风险最小化容易出现过拟合。容量大的模型可以简单地记住训练集。” 我的问题为什么会这样?当我们拥有真实分布并降低真实成本函数时,具有高容量的模型也可以记住训练集。
为什么经验风险最小化容易过拟合?
这是一个非常笼统的问题,我将尝试以简单的方式列出主要思想。有很多很好的资源可以用来进一步阅读,我可以推荐一个是 Shai Shalev-Schwarz “理解机器学习”,它侧重于机器学习的理论基础。
简单地说,机器学习的思想是能够在给定一组标记示例(“训练集”)的情况下学习(例如,分类器),然后使用该分类器对新数据(“测试集”)进行分类)。目标是在看不见的测试数据上做得很好——这被称为“泛化”。
完成上述任务最自然的方法可能是选择在训练数据上表现最好的分类器。这就是所谓的 ERM(经验风险最小化)。
但这总是一个好策略吗?事实证明,答案是否定的。
假设给定以下训练数据:蓝色点属于第 1 类,红色点属于第 2 类。我们的目标是学习一个将它们“分离”的分类器(即可以将新示例分类到其中一个类中) )。
然后,如果我要遵循 ERM 规则,我会选择用绿色表示的分类器:它在训练数据上达到 100% 的准确度(没有示例被错误分类)。
但这真的是我们想要的吗?我们学习了一个非常复杂的模型,但大多数可能性是我们得到的数据有点嘈杂。使用 ERM,我们基本上“学习”了噪音,而不是忽略它。如果我们现在要从类似的分布中接收新的测试数据,我们很可能会犯错误。这就是过度拟合的现象:我们很好地拟合了训练数据(太好了),代价是在测试数据上表现不佳。从本质上讲,我们损害了我们的概括能力!
另一方面,如果我们愿意在训练集上表现不佳,那么我们实际上可以在测试数据上做得更好(参见上图中的黑色分类器)。当你第一次遇到它时,它有点令人惊讶。
可以通过引入正则化来实现从绿色分类器到类似于黑色分类器的转换——您可能已经遇到过 R-ERM(正则化经验风险最小化),但这已经是另一个主题了。
如果我们知道真实的分布,记住它不会导致过度拟合。
在上面答案的例子中,假设真实分布是黑色曲线加上一些噪声,我们会知道那些过拟合点的经验损失与其预期损失不同,。因此,在这种情况下最小化“真实损失”不会导致过度拟合(如果正确定义了损失)。
在大多数问题中,我们不知道真实分布,因此我们经常需要一些技术(正则化、数据增强、网络结构等)来缩小我们的数据/模型与真实分布之间的差距。
这里已经有一些很好的答案来解释一般观点,我再补充两点:
在小训练集的情况下,经验风险的过度拟合尤为突出。当数据不包含足够的信息来学习底层模式时,需要更多的正则化来填补空白。
在深度学习的具体情况下,情况并不那么清楚。特别是对于非常大的网络,几乎不可能找到损失函数的全局最小值,这可能对应于严重过度拟合的情况。请参阅 Choromanska 等人的 AISTATS 2015 论文。详情 [1]。此外,还有各种有趣的工作来研究深度网络的记忆行为,例如 [2] 和 [3]。它们的含义是,即使深度网络确实有能力过度拟合,但在实践中,即使在接受非正则化经验风险训练时,它们也能很好地泛化。
[1] https://arxiv.org/abs/1412.0233