线性回归与逻辑回归的正则化

线性回归与逻辑回归的正则化

一、为什么要正则化?

说起正则化要从过拟合问题说起。

当我们拥有相当多的特征时,机器学习出来的假设可能在训练集上符合的很好,但是却未能在新的测试集上取得好的效果,这就是我们通常意义上所说的过拟合现象。

通常意义上可以采用舍弃一部分特征的方法来避免过拟合,但是相对的会舍弃一些特征信息。当我们需要保留所有特征变量时,我们就会使用正则化的方法。在正则化过程中,我们将保留所有的特征变量,但是我们会减少参数的量级或者参数的大小。另一方面,通过正则化也可以有效地帮助我们简化模型。

二、代价函数

例如我们有100个特征,事实上我们很难预先知道哪些特征变量有较低的相关性,即缩小哪些参数。因此,以线性回归为例,我们在线性回归的代价函数后加上一个额外的正则化项来缩小每个系数的值,如下所示:
\[ J(\theta)=\frac{1}{2m}[\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2+\lambda\sum_{i=1}^n\theta^2_j] \]
λ不宜特别大。

三、线性规划的正则化

1.梯度下降法

在没有用正则化时,梯度下降法被用来去最小化代价函数,如下所示
\[ \theta_j=\theta_j-\alpha\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x^{(i)}_j(j=0,1,2,...,n) \]
参照第二部分,我们很容易就可以的到正则化线性回归。
\[ \theta_0=\theta_0-\alpha\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x^{(i)}_0 \]

\[ \theta_j=\theta_j-\alpha[\frac{1}{m}\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})x^{(i)}_j+\frac{\lambda}{m}\theta_j](j=1,2,...,n) \]

二、正则方程

猜你喜欢

转载自www.cnblogs.com/wyb6231266/p/11203093.html