结构风险最小化是什么?在拟合数据和模型简单之间找最佳平衡
结构风险最小化(Structural Risk Minimization,SRM)是统计学习理论中的一个基本原则,由苏联数学家弗拉基米尔·瓦普尼克和阿列克谢·切尔沃年基斯在 20 世纪 70 年代提出。它的核心思想是:在选择模型时,不仅要考虑模型对训练数据拟合得有多好,还要考虑模型本身有多复杂,选择两者综合起来最好的那个模型。
为什么不能只看训练误差
机器学习的目标是让模型在新的、没见过的数据上表现好。最直接的做法是经验风险最小化:选择在训练数据上误差最小的模型。但问题是,越复杂的模型越容易把训练误差降得很低,甚至降到零,可它们往往只是记住了训练数据,包括其中的噪声,在新的数据上表现很差,也就是过拟合。训练数据越少,这个问题越严重。
理论依据:泛化误差的上界
瓦普尼克和切尔沃年基斯的统计学习理论给出了一个重要的结论:模型在新数据上的误差,也就是期望风险,以很高的概率不超过训练误差加上一个“置信范围”。这个置信范围取决于两个因素:一是模型的复杂度,他们用一个叫 VC 维的量来衡量一类模型的复杂程度,VC 维越高,模型越复杂、越灵活;二是训练样本的数量。模型越复杂、样本越少,置信范围就越大,意味着训练误差和真实误差之间的差距可能越大。
这就揭示了一个权衡:使用更复杂的模型,可以降低训练误差,但会增大置信范围;使用更简单的模型,置信范围小,但训练误差可能较大。最好的模型,是让两者之和最小的那个。
结构风险最小化怎么做
结构风险最小化的具体做法是:把所有候选的模型按照复杂度从低到高排列成一个嵌套的序列,比如一次多项式、二次多项式、三次多项式……每一组都包含前一组;然后在每一组中找出训练误差最小的模型,再综合考虑它的训练误差和复杂度,选出两者之和,也就是泛化误差上界最小的那一组中的那个模型。
在实践中,结构风险最小化更常见的形式是正则化:在要最小化的目标函数中,同时包含训练误差和一个惩罚模型复杂度的正则化项,比如参数的 L2 范数或 L1 范数,通过一个系数来调节两者的权重。这个系数通常通过交叉验证来选择。
它的影响
结构风险最小化为机器学习中“如何避免过拟合”这个核心问题提供了坚实的理论基础。支持向量机就是这一原则最著名的产物:瓦普尼克等人证明,最大化分类间隔可以有效地控制模型的复杂度,因此支持向量机在样本数量不多的情况下也能有很好的泛化能力。岭回归、Lasso 回归、决策树剪枝、神经网络中的权重衰减等方法,也都可以看作是结构风险最小化思想的体现。需要指出的是,对于参数量极其庞大的现代深度神经网络,经典的 VC 维理论给出的泛化误差上界往往过于宽松,难以解释它们为什么能泛化得很好,如何从理论上理解深度学习的泛化能力,仍然是一个活跃的研究方向。