前面已经说到如何在训练数据上优化一个给定的损失函数,但是在真实的应用中想要的并不是让模型尽量拟合训练数据,而是通过训练出来的模型对未知的数据给出判断。所谓拟合,指的是当前一个模型过于复杂之后,它可以很好地“记忆”每一个训练数据中随机噪声的部分而忘了要去“学习”训练数据中通用的趋势。举一个例子,如果一个模型中的参数比训练数据总数还多,那么只要训练数据不冲突,这个模型就可以记住所有训练数据的结果从而使损失函数为0。
为了避免过拟合,最常用的方法是正则化。其思想就是在损失函数中加入刻画模型复杂程度的指标。如果刻画模型在训练数据上的损失函数是J(0),那么在优化的时候不是直接优化J(0),而是优化,其中R(w)刻画的是模型的复杂度,而表示模型复杂损失在总损失中的比例。通常R(w)有两种,一种是正则化,计算公式如下: