是对应网易云课程吴恩达机器学习第八章的笔记。
目前我们已经学习了线性回归和逻辑回归,过度拟合将影响这些算法的发挥。
过度拟合
- 两种极端情况:
- 欠拟合:具有高偏差,如在线性回归中执拗的使用一条直线来拟合数据集。
- 过度拟合:扭曲的线,如线性回归中上下波动、逻辑回归中“处心积虑”的找到一个边界分开所有的数据,具有高方差,能拟合所有的数据,参数过多没有足够数据很好的拟合。代价函数为0,无法“泛化”。都不是一个很好的模型。
- 可以使用工具来识别诊断。
- 过拟合时的解决方案:
- 使用一维和二维的数据时,绘制假设模型的图像,选择多项式阶次。
- 很多变量:绘图很难,决定保留哪些变量也很难。当变量参数很多,训练数据不足时,经常产生过拟合的问题。
此时可以:
- 减少选取变量的数目:模型选择算法自动选择或人工选择。缺点是舍弃了一些特征变量也就舍弃了一些信息。
- 正则化:保留所有变量,但减少量级或参数
的大小。这个方法非常有用。
正则化
思想:
- “更简单”的模型:修改代价函数,当给它加上一些参数们的惩罚项时,考虑到尽量得到最小的惩罚函数值,参数会尽量趋近于0,此时也就意味着有更多的假设函数项被取消,函数变得简单,函数图像变得平滑,不容易过拟合。也即,当参数都尽量小时,可以使得函数图像尽量平滑,从而尽量避免过拟合。
- 当有n个特征时,我们实际上有
开始的n+1个参数,但当加入惩罚项时,我们从
开始进行正则化,这是约定俗成的。
- 在原来的cost函数后面加上一个求和,称为正则化函数,为
,其中
称为正则化参数,它达到了在前面一项努力拟合训练集和后一项努力使得参数最小两者之间的合理平衡,从而保持模型相对简单,避免过拟合。
的设置过大:对参数的惩罚程度过大,参数都会趋近于0,相当于用一条直线去拟合数据,偏见太强,偏差太高。简单将y等同于
,欠拟合。
线性回归的正则化
- 梯度下降法:由于惩罚对象通常不包含
,故梯度下降的repeat内我们将
单独分离出来,针对修改后的代价函数讨论后面的项的梯度下降变化的新计算方式。对
的计算公式稍微变化,得到一个特殊项
,通常学习率很小,m很大所以该项略小于1,如0.99
,该项使得
新值更向0靠近了一些,之后的更新操作和之前相同。
- 正规方程法:加入正则化之前
,考虑到正则化思想后,在-1次项内部增加一个
乘类似
的(n+1*n+1)阶,n为特征数)对角首个元素为0,第二个元素为1的矩阵。此时,得到的
向量就是正则化下的正规方程法所求得的使得代价函数最小的值。
逻辑回归的正则化
- 梯度下降法:原理与线性回归下的类似。增加了正则化项。
- 对高级算法正则化。