机器学习第四章线性回归算法进阶4.3线性回归的正则化(《大话Python机器学习》学习笔记)

第四章线性回归算法进阶

4.3线性回归的正则化

4.3.1为什么要使用正则化

欠拟合(Underfitting):
  采用一定的算法去拟合时,如果没有考虑相当的信息量(特征变量),从而对训练数据集的拟合算法无法精确,便会发生欠拟合现象。欠拟合也成为高偏差(Bias),即建立的模型拟合与预测效果较差。
  解决方法:通过增加更多的特征变量,利用更高次幂的多项式当作假设函数,以该假设函数来拟合训练数据。
  欠拟合的问题需要我们不断尝试各种合适的算法,优化算法中的参数挑中,以及通过数据预处理、数据可视化等特征工程,找到模型拟合效果最优化的结果。
机器学习第四章线性回归算法进阶4.3线性回归的正则化(《大话Python机器学习》学习笔记)_第1张图片

过拟合(Overfitting):
  采用一定的算法去拟合时,有时会有训练数据不够情况发生,也就是训练数据无法约束更多的特征变量,或者当模型过度训练的情况发生,便产生过拟合现象。也称作高方差(variance)。
  过拟合过出现在特征变量过多的情况下,建立的模型拟合训练数据的效果非常好,训练误差几乎为零。但是,训练误差很小并非最终目的,对于未知的数据样本,过拟合的模型不能泛化到未知样本中,也就不能实现预测的能力。
  当模型过拟合情况发生时,可以通过尽可能减少特征变量数,这种做法缺点在于舍弃某些变量的同时,也舍弃了其携带的信息。而正则化,可以保留全部特征变量,且每一个特征变量或多或少都对模型预测有些许影响,所以正则化是处理过拟合的一种实用方法。
机器学习第四章线性回归算法进阶4.3线性回归的正则化(《大话Python机器学习》学习笔记)_第2张图片

4.3.2正则化的原理

  在对成本函数J(θ)进行优化时,在成本函数J(θ)后插入一个正则项/惩罚项,其成本函数J(θ)正则化后如下:
在这里插入图片描述

  • λ:正则化参数,作用是控制拟合训练数据的目标和保持参数值较小的目标之间的平衡关系。

正则化线性回归思路:
  通过正则项收缩了参数θ,参数更小也就表明模型的复杂度越低,不易出现过拟合的现象,所以限制参数θ很小,就是限制对应的特征变量的影响很小,相当于把参数θ的数量降低了,从而提高模型的泛化能力。

4.3.3基于最小二乘法的正则化

对插入了正则项的成本函数J(θ)求偏导:
机器学习第四章线性回归算法进阶4.3线性回归的正则化(《大话Python机器学习》学习笔记)_第3张图片

4.3.4基于梯度下降法的正则化

在其更新规则后加上正则项,然后对其求偏导:
在这里插入图片描述

  • λ过大时,说明惩罚θ1,θ2,θ3,…θn的力度过大,使得这些参数接近于0,则模型相当于拟合出了一条近似的水平直线,就会发生欠拟合的现象。
  • λ过小时,成本函数J(θ)的最优化基本依赖于的J(θ)首项,正则项的影响几乎没有,就可能发生过拟合现象。

选择合适的λ:
  交叉验证(Cross Validation)是一种可得到可靠稳定的参数λ的方法。基本思路:分割训练数据集,取其中一部分当作训练集,一部分当作测试集,接着选择不同的λ以该训练集拟合出N个模型,再让该测试集测试这N个模型,最后N个模型种测试误差最小的模型所对应的λ就是所需的λ。
一般情况下,可设置测试的λ值为0,0.001,0.003,0.01,0.03,0.1,0.3,1,3,10等。

你可能感兴趣的:(机器学习,机器学习,python,算法)