吴恩达机器学习笔记(六)——过拟合问题

1. 过拟合现象

对于过拟合现象,这里采用线性回归中预测房价的例子来进行阐述。具体如下图所示:
吴恩达机器学习笔记(六)——过拟合问题_第1张图片
然后我们分别来评价者三个图对于数据的拟合效果。

  1. 对于第一幅图而言,实际上就是强行用直线来进行拟合,但是这些数据明显不是一个线性的关系。通常我们将第一幅图的效果称为“欠拟合”。
  2. 对于第二幅图而言,可以看到拟合效果是比较好的,并且也符合房价逐渐增大后会趋于平稳。
  3. 对于第三幅图而言,虽然对于训练集的数据拟合效果非常好,但是我们可以观察到假设函数中有许多高阶项,导致拟合的曲线上下波动较大,我们通常把这种称为具有高方差过度拟合。主要原因就是虽然拟合曲线经过了训练集的点,但是并不适合泛化,也就是不适合用来进行预测其他未知的数据。

概括地说,过拟合的定义:如果我们拥有过多的特征,在训练出的假设函数中能够很好地拟合训练集(代价函数接近于0),但是得到的曲线无法泛化到新样本中。

同样地,过拟合问题也可能会出现在逻辑回归中,如下图所示
吴恩达机器学习笔记(六)——过拟合问题_第2张图片
关于如何解决过拟合现象,我们上面用到的方法似乎是进行可视化,然后判断是否出现了过拟合现象。但是当训练集中的特征有很多的时候,我们是没有办法进行可视化的。因此对于过拟合现象的解决办法主要有以下几种:

  1. 尽量减少特征的数量:我们可以通过人工减少特征数量的方法,选择更重要的特征进行保留,关系不大的特征进行删除。虽然这种方法可以有效地减少过拟合现象的发生,但是舍弃了部分特征也意味着你舍弃了部分信息。
  2. 正则化方法:在正则化方法中,我们会保留所有的特征,但是会减小θj的值。这种方法也能有效地避免过拟合,并且保证所有特征都能对y产生一定影响

2. 代价函数

因为我们在进行拟合的时候,与代价函数是息息相关的。
对于正则化方法,就是通过减小θj的值来更好地拟合,例如第一部分提到的房价数据的第三幅图中,如果我们尽可能令θ3、θ4 尽可能小也可以拟合出一个和二次函数类似的函数,可以比较好地进行拟合,这就是正则化的思想。如下图所示:
吴恩达机器学习笔记(六)——过拟合问题_第3张图片

基于上述例子,我们提出一般的正则化方法
首先,假设在预测房价的例子中,我们拥有100个特征,如下所示:
吴恩达机器学习笔记(六)——过拟合问题_第4张图片
因为在实际的例子中,我们无法知道要缩小哪一个θj的参数,因此我们很难挑选出哪一个特征相关度比较低,因此我们要做的就是缩小所有的参数,如下图所示:
吴恩达机器学习笔记(六)——过拟合问题_第5张图片
需要注意的是,第二个求和参数是从θ1开始的,我们通常不会对θ0进行惩罚,这是约定俗成的。
λ的作用其实就是用来平衡两个目标之间的关系,即更好去拟合训练集的目标和将参数值控制得更小的目标,从而避免出现过拟合现象。

并且在我们进行实际应用中,我们也不能将λ设置的太大,如果设置的太大,就会造成惩罚程度太大,从而θ1、θ2,…,θn都约等于0,使拟合函数编程一条水平直线,如下图所示:
吴恩达机器学习笔记(六)——过拟合问题_第6张图片

3. 线性回归中的正则化

在线性回归中,我们要获取最优的θ值,通常会有两种方法:梯度下降和正规方程。
在梯度下降中应用正则化,我们只需要将第二部分中新的代价函数代入到原来的梯度下降算法中就可以了,如下图所示:
吴恩达机器学习笔记(六)——过拟合问题_第7张图片
并且对于第二项,我们进行整理,还可以得到简化的式子,如下图所示:
在这里插入图片描述
我们可以注意到,(1-αλ/m)是一个稍微小于1的数,因此这里也就可以体现了缩小θj的思想了

在正规方程中应用正则化,只需要对所求的矩阵进行稍微的修改即可,如下图所示:
吴恩达机器学习笔记(六)——过拟合问题_第8张图片
需要注意的是,λ后面的矩阵是一个(n+1)*(n+1)的矩阵

并且通过在正规方程中使用正则化,可以直接消除矩阵不可逆的情况,如下图所示:
吴恩达机器学习笔记(六)——过拟合问题_第9张图片

4. 逻辑回归中的正则化

在逻辑回归中,为了求得最优的θ,我们使用的两种方法是:梯度下降法和更高级的优化算法

在梯度下降中应用正则化,首先我们需要重新定义逻辑回归中的代价函数,如下图所示:
吴恩达机器学习笔记(六)——过拟合问题_第10张图片

然后我们就需要更新梯度下降的算法了,具体如下图所示:
吴恩达机器学习笔记(六)——过拟合问题_第11张图片

对于在更高级算法中使用正则化,后续学习之后再进行补充。

你可能感兴趣的:(吴恩达机器学习笔记,过拟合,机器学习,正则化,吴恩达)