> For the complete documentation index, see [llms.txt](https://baozoulin.gitbook.io/neural-networks-and-deep-learning/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://baozoulin.gitbook.io/neural-networks-and-deep-learning/di-er-men-ke-gai-shan-shen-ceng-shen-jing-wang-luo-chao-can-shu-tiao-shi-zheng-ze-hua-yi-ji-you-hua/improving-deep-neural-networks/practical-aspects-of-deep-learning/18-qi-ta-zheng-ze-hua-fang-fa-ff08-other-regularization-methods.md).

# 1.8 其他正则化方法（Other regularization methods）

除了L2 regularization和dropout regularization之外，其它减少过拟合的方法：

* 增加训练样本数量。但是通常成本较高，难以获得额外的训练样本。但是可以对已有的训练样本进行一些处理来“制造”出更多的样本，称为data augmentation（数据扩增）。例如图片识别问题中，可以对已有的图片进行水平翻转、垂直翻转、任意角度旋转、缩放或扩大等

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0cbAo5fRSEcZNwKKr%2F2.bmp?generation=1556953069483982\&alt=media)

在数字识别中，也可以将原有的数字图片进行任意旋转或者扭曲，或者增加一些noise，如下图所示：

![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0cbAqLQycM9ZdYL5M%2F3.bmp?generation=1556953086626260\&alt=media)

* early stopping。一个神经网络模型随着迭代训练次数增加，train set error一般是单调减小的，而dev set error 先减小，之后又增大。即训练次数过多时，模型会对训练样本拟合的越来越好，但是对验证集拟合效果逐渐变差，发生了过拟合。可以通过train set error和dev set error随着迭代次数的变化趋势，选择合适的迭代次数，即early stopping。

  ![](https://2314428465-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Le0cHhI0S0DK8pwlrmD%2F-Le0cKOp1vaxoORIi4ak%2F-Le0cbAs8Lyvov9_2XlA%2F%60import.png?generation=1556953087899812\&alt=media)

当还未在神经网络上运行太多迭代过程的时候，参数$$w$$接近0，因为随机初始化$$w$$值时，它的值可能都是较小的随机值，但在迭代过程和训练过程中$$w$$的值会变得越来越大，所以early stopping要做就是在中间点停止迭代过程

机器学习训练模型有两个目标：一是优化cost function，尽量减小J；二是防止过拟合。这两个目标彼此对立的，即减小J的同时可能会造成过拟合，反之亦然。二者之间的关系称为正交化orthogonalization

* Early stopping的做法通过减少迭代训练次数来防止过拟合，这样J就不会足够小。即early stopping将上述两个目标融合在一起，同时优化，但可能没有“分而治之”的效果好。
* 与early stopping相比，L2 regularization可以实现“分而治之”的效果：迭代训练足够多，减小J，而且也能有效防止过拟合。而L2 regularization的缺点之一是最优的正则化参数$$\lambda$$的选择比较复杂。而early stopping比较简单。
* 总的来说，L2 regularization更加常用一些
