首页 > 其他分享 >机器学习 吴恩达 第六章 笔记

机器学习 吴恩达 第六章 笔记

时间:2023-01-12 16:12:48浏览次数:39  
标签:吴恩达 函数 笔记 正则 拟合 第六章 theta 代价 我们

六、正则化(Regularization)

6.1 过拟合问题

  到现在为止,我们已经学习了几种不同的学习算法,包括线性回归和逻辑回归,它们能够有效地解决许多问题,但是当将它们应用到某些特定的机器学习应用时,会遇到过拟合(over-fitting)的问题,可能会导致它们效果很差.
  在本节,我们将讲述什么是过拟合.在后面几节,我们将介绍一种正则化(regularization)的方法,它可以一定程度上改善过拟合的问题.
  我们仍然用房价预测的例子来解释这个问题.
image

  在第一幅图里,我们用一次函数拟合训练集,但是随着房子面积增大,价格逐渐平缓.该函数并没有很好地拟合训练集.我们把这种现象称为欠拟合,也可以说这种算法具有高偏差.
  第二幅图用二次函数来拟合数据,这个拟合效果很好.
  第三幅图,我们用四次函数来拟合数据,那么我们有五个参数.这样我们可以用一条曲线通过所有的训练样本.它似乎可以拟合所有的训练数据,但它不停地上下波动.这是过于强调拟合原始数据的原因,实际上我们不认为它是一个好的模型.这种现象我们称为过拟合.另一种说法是这种算法具有高方差.
  总而言之,过拟合问题可能会在我们的假设函数有过多变量时出现,这时假设函数似乎很好地拟合了训练的数据集,代价函数会非常接近0.但它无法泛化到新的样本里.

  逻辑回归也有同样的问题.
image
  上面是一个以\(x_1、x_2\)为变量的例子.第一幅图同样用一次函数拟合数据,但似乎拟合效果不佳,这种现象也是欠拟合.最后一幅图,我们用高阶多项式拟合数据,对训练集拟合效果很好,但无法泛化到新样本里.就以多项式理解,x的次数越高,拟合的越好,但相应的预测的能力就可能变差
  在课程的后半段,我们会讲述如何使用专门工具来识别过拟合和欠拟合的情况.
  问题是,如果我们发现了过拟合问题,应该如何处理?
  我们可以用绘制假设函数曲线作为决定多项式阶次的一种方法,但它不总是奏效的.如果我们面临的问题有很多特征变量(x)时,绘图就会变得困难,决定保留哪些变量也是很难的.以预测房价为例,如果我们有很多因素与房价有关,但此时拥有的训练集又很少,此时就很容易出现过拟合问题.这儿主要有两种方法来解决过拟合问题:
(1) 丢弃一些不能帮助我们正确预测的特征.可以是手工选择保留哪些特征,或者使用一些模型选择的算法来帮忙选择特征(PCA).
(2) 正则化,保留所有的特征,但是减少参数的大小(\(magnitude\))

6.2 代价函数

  在本节,我们将学习正则化是怎么运行的.当我们要运行正则化时,我们还会写出相应的代价函数.
  上面的回归问题中如果我们的模型是:

\[h_{\theta}(x) = \theta_0 +\theta_1x_1+\theta_2x_2^2+\theta_3x_3^3+\theta_4x_4^4 \]

  我们可以从之前的事例中看出,正是那些高次项导致了过拟合的产生,所以如果我们能让这些高次项的系数接近于0的话,我们就能很好的拟合了.所以我们要做的就是在一定程度上减小这些参数\(\theta\)的值,这就是正则化的基本方法.以上面的函数为例,我们要减少\(\theta_3\)和\(\theta_4\)的值,我们要做的便是修改代价函数,给\(\theta_3\)和\(\theta_4\)设置一点惩罚.这样做的话,我们在尝试最小化代价时也需要将这个惩罚纳入考虑中,并最终导致选择较小一些的\(\theta_3\)和\(\theta_4\).修改后的代价函数如下(1000是任意的,这里只是设置了比较大的数):
image
  通过这样的代价函数选择出的\(\theta_3\)和\(\theta_4\),就接近于0,对预测结果的影响就比之前要小许多.假如我们有非常多的特征,我们并不知道其中哪些特征我们要惩罚,我们将对所有的特征进行惩罚(这样相当于简化尽量简化这个假设模型),并且让代价函数最优化的软件来选择这些惩罚的程度.这样的结果是得到了一个较为简单的能防止过拟合问题的假设:
image
  让我们再看房价预测的例子,这里的例子有100个特征值,与之前的例子不同,我们不知道哪个参数是高阶项,我们也比较难知道哪个特征是相关度比较低的.这里我们要做的就是修改代价函数,以减小所有参数的值.:
image
image

请注意求和是从1开始的,我们不会给\(\theta_0\)设置惩罚项.但实践中,设不设置没有什么区别.

  我们来看下面的图以获得更好的解释.新的代价函数有两个目标,一个是前面的误差项,我们的目标是最小化它以更好地拟合数据.第二个目标是后面的正则化项,我们要使参数尽可能小.这个正规化参数\(\lambda\)(Regularization Parameter)的作用就是控制两个目标之间的平衡关系,从而使假设函数尽可能简单,避免出现过拟合现象.
image

  如果选择的正则化参数\(\lambda\)过大,则会把所有的参数都最小化了,导致模型变成 \(h_{\theta}(x) = \theta_0\).也就是下图中红色直线所示的情况,造成欠拟合.那么到底是如何做到让高阶的比例更小呢?我个人理解是如果要完全符合样本数据,这时误差项接近于0,但就会在假设函数里出现高阶项,与此同时后面的正则化项就会有较大惩罚.但如果最小化正则化项也不行,这样会使得误差项更大.因此,我们这里最小化\(J\)函数就只能是在两个之间做取舍.
image
  所以对于正则化,我们要取一个合理的\(\lambda\)值.这样才能更好的应用正则化.回顾一下代价函数,为了使用正则化,让我们把这些概念应用到到线性回归和逻辑回归中去,那么我们就可以让他们避免过度拟合了.

标签:吴恩达,函数,笔记,正则,拟合,第六章,theta,代价,我们
From: https://www.cnblogs.com/newblg/p/17046954.html

相关文章