1 过拟合问题(Overfitting)

过拟合(Overfitting)问题就是特征数量太多,过分的追求完美拟合训练样本,把训练样本自身的一些特点,当成所有潜在样本都会具有的一般特征。这样求得的假设函数对训练样本会拟合非常好,但是泛化能力比较差,难以对新的样本做出正确的预测。

欠拟合(Underfitting)问题就是对训练样本的一般性质尚未学好,我们的假设函数h的形式很难映射到数据的趋势。通常是由变量过于简单或变量太少引起的。

关于过拟合和欠拟合,西瓜书里面讲的比较直观,比如预测树叶,将绿色作为树叶的标准,选择的特征数量太少,如果将绿色的都作为树叶,就会误将大树分为树叶,这个就叫欠拟合;如果选择的样本恰巧都具有锯齿,过分的追求完美拟合,就会把没有锯齿的新树叶不分成树叶,这个就叫过拟合。这两种拟合问题都需要我们想办法去解决。

线性回归的拟合问题:
ML学习笔记第三周(四):解决过拟合问题
逻辑回归的拟合问题:
ML学习笔记第三周(四):解决过拟合问题
解决过拟合问题:绘制模型曲线,进而选择合适的模型来拟合数据。但是这样并不总是有用,比如有很多变量xix_i的假设模型,绘图会变得很难(三维画起来都费劲,更被说高维的了),难以可视化,所以需要另寻他法。
1、减少特征数量

  • 人工的选择保留哪些特征变量,决定哪些特征更重要
  • 借助模型选择算法(之后会讲到),让其自动决定选择那些特征变量
  • 缺点:舍弃一些变量,同是也舍弃了问题中的一些信息,比如房价预测时,每个变量都会对房价造成一定影响,现在舍弃一些变量就不合适

2、正则化

  • 保留所有特征变量,但是会减小数量级或者参数数值的大小θ(j)\theta(j)
  • 当特征变量数量多,而且每个变量都会对预测yy有影响时,工作情况好(克服了刚才的缺点)

2 代价函数

当我们在代价函数后面加上一部分时,即惩罚(penalize)θ3\theta_3θ4\theta_4,此时就需要尽量让θ3\theta_3θ4\theta_4接近0,否则代价函数就会很大,这样求得的结果就和二次函数很相近,这也就是正则化大概的思路。
ML学习笔记第三周(四):解决过拟合问题
更一般的,对所有的参数进行惩罚,我们就可以得到一个更加简单的假设,对应更加光滑的函数,如此就不容易发生过拟合的问题
ML学习笔记第三周(四):解决过拟合问题
具体举例,修改代价函数,加入额外的正则项λj=1nθj2\lambda \sum_{j=1}^{n}\theta _{j}^{2},收缩每个参数(一般不惩罚θ0\theta_0这个常数)。λ\lambda称为正则化参数,它要做的就是控制在两个不同目标之间的平衡关系。
第一个目标,i=1n(hθ(x(i))y(i))2\sum_{i=1}^{n}(h_{\theta }(x^{(i)})-y^{(i)})^{2},让建立的模型尽可能的拟合训练数据;
第二个目标,λj=1nθj2\lambda \sum_{j=1}^{n}\theta _{j}^{2},保持参数值较小,从而保持假设的的形式相对简单,避免过拟合。
ML学习笔记第三周(四):解决过拟合问题
λ\lambda过大,就会非常过分的惩罚除θ0\theta_0之外的各个参数,结果就是让他们趋于0,最终的假设就会近似的变成一条水平直线,不会趋向大部分训练样本的任何值,出现欠拟合的问题。之后的多重选择课程,会进一步讲如何利用算法来自动选择合适的正则化参数λ\lambda
ML学习笔记第三周(四):解决过拟合问题
最后,吴恩达老师留下了一个问题,正则化参数λ\lambda太小或者等于0会怎么样?
我的想法是,如果λ\lambda太小,就会对所有参数惩罚力度太小,甚至是不进行惩罚,代价函数就会退化为原有的函数,只留下第一项,i=1n(hθ(x(i))y(i))2\sum_{i=1}^{n}(h_{\theta }(x^{(i)})-y^{(i)})^{2},让建立的模型尽可能的拟合训练数据,这样相当于不对模型建立做任何干预,过拟合的问题根本解决不了,假设函数该凸还是凸,该陡还是陡。

3 正则化(Regularized)线性回归

3.1 梯度下降

ML学习笔记第三周(四):解决过拟合问题
由上式很容易看出,1αλm<11-\alpha \frac{\lambda }{m}<11αλm1-\alpha \frac{\lambda }{m}其实和1相差的并不大。在应用正则化时,实际上就是每次先把θj\theta_j向0压缩一点点,然后再进行梯度下降,也就是后边那一项。

3.2 正规方程

ML学习笔记第三周(四):解决过拟合问题
不可逆问题:
正则化之前,如果训练样本数量mm<特征数量nn,那么XTXX^TX就是不可逆矩阵,之前提到过,在octave/matlab可以用pinv来求其伪逆(这样效率会比较低),但是这样并不会得到一个很好的假设,正规方程应用的也不会非常好。

正则化时,只要保证正则化参数λ&gt;0\lambda&gt;0XTX+[123456789]X^TX+\left[ \begin{matrix} 1 &amp; 2 &amp; 3 \\ 4 &amp; 5 &amp; 6 \\ 7 &amp; 8 &amp; 9 \end{matrix} \right]就一定是可逆的,其逆矩阵存在(怎么证明我也不知道)

4 正则化逻辑回归

代价函数:(附加项在方括号外面)
ML学习笔记第三周(四):解决过拟合问题
梯度下降:
算法思想仍然相同,但是其中的hθ(x)=11+eθTXh_\theta(x)=\frac{1}{1+e^{-\theta^{T}X}}
ML学习笔记第三周(四):解决过拟合问题
高级优化算法:
我们需要做的事情和之前类似,还是自定义函数costFunction(theta),然后再调用fminunc来进行梯度下降。
ML学习笔记第三周(四):解决过拟合问题

5 参考资料

1、机器学习-第三周

相关文章:

  • 2021-08-06
  • 2022-01-12
  • 2021-12-31
  • 2021-10-20
  • 2021-10-20
  • 2021-11-30
猜你喜欢
  • 2021-04-29
  • 2021-05-28
  • 2021-06-28
  • 2021-10-29
  • 2021-06-12
  • 2021-07-12
  • 2021-06-19
相关资源
相似解决方案