Machine LearningAI

什么是正则化?

由于 Ghost 博客对 LateX 的识别语法和标准的 LateX 语法有差异,为了更加通用性,所以以下文章中 LateX 公式可能出现乱码,如果出现乱码,不嫌弃的话可以在笔者的 Github 上看这篇无乱码的文章。笔者有空会修复这个乱码问题的。请见谅。

GitHub Repo:Halfrost-Field
Follow: halfrost · GitHub
Source: https://github.com/halfrost/Halfrost-Field/blob/master/contents/Machine_Learning/Regularization.ipynb

一. Solving the Problem of Overfitting

考虑从 $x \in \mathbb{R}$ 预测 y 的问题。下面最左边的图显示了将 $y =\theta_{0}+\theta_{1}x$ 拟合到数据集的结果。我们看到这些数据并不是直线的,所以这个数据并不是很好。

相反,如果我们添加了一个额外的特征 x2,并且拟合 $y =\theta_{0}+\theta_{1}x+\theta_{2}x^{2}$,那么我们获得的数据稍微更适合,如上图。

但是并不是添加的多项式越多越好。但是,添加太多特征也是一个危险:最右边的数字是拟合五阶多项式 $y =\theta_{0}+\theta_{1}x+\theta_{2}x^{2}+\theta_{3}x^{3}+\theta_{4}x^{4}+\theta_{5}x^{5} $ 的结果。我们看到即使拟合曲线完美地传递了数据,我们也不会认为这是一个很好的预测,上图最右边的图就是过度拟合的例子。

上图最右边的图也称有高方差。如果我们拟合一个高阶多项式,有过度的特征,并且这个假设函数能拟合几乎所有的数据,这就面临可能的函数太过于庞大,变量太多的问题。我们没有足够的数据去约束它,来获得一个好的假设函数,这就是过度拟合。

欠拟合或高偏倚是当我们的假设函数h的形式很难与数据的趋势作图时。它通常是由一个功能太简单或功能太少造成的。另一方面,过度拟合或高度方差是由适合现有数据的假设函数引起的,但不能很好地预测新数据。它通常是由一个复杂的函数造成的,它会产生大量与数据无关的不必要的曲线和角度。

这个术语适用于线性和逻辑回归。解决过度配合问题有两个主要选项:

1. 减少特征的数量:

  • 手动选择要保留的特征,哪些变量更为重要,哪些变量应该保留,哪些应该舍弃。
  • 使用模型选择算法(稍后在课程中学习),算法会自动选择哪些特征变量保留,哪些舍弃。

缺点是舍弃了一些特征以后,也就舍弃了一些问题的关键信息。

2. 正则化

  • 保留所有的特征,但减少参数 $\theta_{j}$ 的大小或者减少量级。
  • 当有很多个特征的时候,并且每个特征都会对最终预测值产生影响,正则化可以保证运作良好。

正则化目的是尽量去简化这个假设模型。因为这些参数都接近0的时候,越简单的模型也被证明越不容易出现过拟合的问题。