本文是吴恩达《机器学习》视频笔记第40篇,对应第3周第8个视频。
“Regularization——The problem of overfitting”。
01
—
笔记
前面我们已经非常顺利的学习了线性回归、逻辑回归,并能用它们解决一些实际的问题时候可能会存在过拟合问题导致实际的效果不如人意。
本小节学习什么是过拟合问题,接下来的几个小节将介绍解决过拟合问题的方法(正则化)。
看下面的图:
上图中还是房屋面积与房屋售价之间的关系的一个散点图,我们用三种模型去拟合这些点。最左边是直线、中间是抛物线、最右边是一个多项式曲线。最终分别可能拟合出这样的线:
上图中,左边是欠拟合、右边是过拟合。欠拟合相对容易理解,就是模型过于简单使得最后的出来的结果与实际的结果偏差比较大。
那过拟合是不是更好的意思呢?非也,过拟合看上去对训练样本的表现很好,但是对于没有出现在训练集中的例子(泛化)可能表现很差,即泛化能力差。
对于分类问题,我们在确定决策边界的时候也可能会存在过拟合问题,如下图所示:
很明显左边也是欠拟合、右边也是过拟合了。
一种比较原始、容易想到的办法是绘制假设模型曲线,当使用的是一维、二维数据的时候,我们可以通过散点图、曲线图等人为判断,如下:
但是,大多数时候我们的输入变量的维度是非常之大的,很难通过数据可视化来判断是否过拟合。
那输入变量的维度大的时候该怎么办呢?
第一种办法,减少特征变量,用那些比较重要的变量。而减少特征变量的办法又有两种:(1)人工选择需要保留的重要变量;(2)模型法选择重要的要保留的变量,具体方法会在后面课程中介绍。当然我们在舍弃一些变量的时候,实际上也舍弃了一些可能比较重要的信息,有时候我们不能这么干。
第二种办法,正则化。保留所有的特征变量,但是通过调整特征变量前面参数来改变它的重要性,这在有很多对结果有影响的特征变量的时候可能会比较有效。
比如,前面卖房子的例子中,其实可能很多变量都会对房屋的最终售价产生影响,这个时候我们就需要使用正则化方法。
那正则化到底是个什么东西?该怎么使用呢?后面的几个小节会有更详细的介绍。