吴恩达机器学习系列课程笔记——过拟合问题以及正则化技术

该系列笔记内容是楼主在观看课程时记录的,其中图片是视频中ppt的截图,内容仅供参考,有问题欢迎大家指出。


什么是拟合

  • 在介绍拟合前先定义两个名词:偏差方差
    • 偏差(Bias)又称为表观误差,是指个别测定值与测定的平均值之差,它可以用来衡量测定结果的精密度高低,这里描述的是根据样本拟合出的模型输出结果与真实结果的差距
    • 方差(Variance)是用来度量随机变量和其数学期望(即均值)之间的偏离程度,这里描述的是样本上训练出的模型在测试集上的表现
  • 拟合情况分类:
    1. 欠拟合(Underfitting):也称高偏差(High Bias),是指没有很好的拟合训练数据的问题
    2. 刚好拟合:能恰当的拟合训练数据和其他测试数据
    3. 过拟合(Overfitting):也称高方差(High Variance),是指为了让假设函数更好的适应训练数据,而使得假设条件变得过度严格,导致在训练集外的数据集上却不能很好的进行拟合

多项式回归拟合情况

多项式回归拟合情况

逻辑回归拟合情况

逻辑回归拟合情况

如何判断拟合程度以及怎样解决可以看

1. 过拟合问题(Overfitting Problem)

  • 过拟合其中一种导致原因是由于特征过多,解决该问题的方法有两种:
    1. 减少特征数量
      • 人工判断特征的重要性并进行筛选
      • 利用模型选择算法进行自动选择
    2. 使用正则化技术
  • 前者的问题在于有些被摒弃的信息可能比较重要,而后者却保留了所有特征,只是减少了参数θ的量级

2. 正则化技术(Regularization Method)

正则化技术思想

正则化技术思想
  • 对于过拟合问题,正则化技术思想是通过改变特征θj前的系数,从而改变不同特征的比重;如上图所示,通过加大特征θ3θ4的系数,使得在优化时两者的值(权重)逐渐减小(但不为零),从而使得曲线更好的拟合其他数据

正则化公式演变

正则化公式演变

  • 上图以平均方差代价函数进行举例,当加入惩罚项λ倍的θj后,合并前后项得到 θ j ( 1 α λ m ) α 1 m i = 1 m ( h θ ( x ( i ) ) y ( i ) ) x j ( i ) \theta_j(1-\alpha\frac{\lambda}{m})-\alpha\frac{1}{m}\sum_{i=1}^m (h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}
  • 式子中后面一项仍为原始代价函数的偏导项,而前一项则有一点变化,其中 α λ m \alpha\frac{\lambda}{m} 通常是个很小的正数,因此括号内的值可以近似的看成0.99,通过压缩使0.99倍的θjθj2代替,得到最终的正则化表达式如下图所示

正则化公式

正则化公式
  • 通过在代价函数种添加 λ j = 1 n θ j 2 \lambda\sum_{j=1}^n\theta_j^2 一项可以实现正则化,值得注意的是λ惩罚除θ0以外的参数
  • 其中正则化参数λ控制目标函数两项之间的取舍(使得前者拟合很好的前提下,尽量减少后者的值),从而保持假设模型的简洁性,达到合适的拟合程度

正规方程中的正则项

正规方程中的正则项
  • 如上图所示,同理可以用于正规方程中,式子多的 λ [ 0 0 0 0 1 0 0 0 1 ] \lambda\begin{bmatrix} 0 & 0 & \cdots & 0 \\ 0 & 1 & \ddots & \vdots \\ \vdots & \ddots & \ddots & 0 \\ 0 & \cdots & 0 & 1 \\ \end{bmatrix} 解决了XTX不可逆的问题