【机器学习】正则化详解和过拟合的解决

https://blog.csdn.net/weixin_45434953/article/details/130970273
上一篇文章的例子中,如果使用一个四次多项式去拟合房价函数,会导致过拟合问题
【机器学习】正则化详解和过拟合的解决_第1张图片
而正则化是解决过拟合的一个方法。右图过拟合是因为其三次方项和四次方项的影响,我们再回顾下线性回归的代价函数:
J = 1 2 m ∑ i = 1 m h θ ( x ( i ) − y ( i ) ) 2 J = \frac{1}{2m}\sum_{i=1}^m h_\theta(x^{(i)}-y^{(i)})^2 J=2m1i=1mhθ(x(i)y(i))2我们可以人为地添加一些"惩罚项",比如: J = 1 2 m ∑ i = 1 m h θ ( x ( i ) − y ( i ) ) 2 + 1000 θ 3 2 + 1000 θ 4 2 J = \frac{1}{2m}\sum_{i=1}^m h_\theta(x^{(i)}-y^{(i)})^2+1000\theta_3^2+1000\theta_4^2 J=2m1i=1mhθ(x(i)y(i))2+1000θ32+1000θ42当我们要得出最小的代价函数的时候, θ 3 \theta_3 θ3 θ 4 \theta_4 θ4必须要尽可能接近于0,否则函数J会变得很大。对于假设函数 θ 0 + θ 1 x + θ 2 x 2 + θ 3 x 3 + θ 4 x 4 \theta_0+\theta_1x+\theta_2x^2+\theta_3x^3+\theta_4x^4 θ0+θ1x+θ2x2+θ3x3+θ4x4来说 θ 3 \theta_3 θ3 θ 4 \theta_4 θ4接近于0会使得函数图像较为接近 θ 0 + θ 1 x + θ 2 x 2 \theta_0+\theta_1x+\theta_2x^2 θ0+θ1x+θ2x2,但是仍然保留有 θ 3 \theta_3 θ3 θ 4 \theta_4 θ4的特征,而不是简单地将它抛弃掉

简单来说,正则化能够在不丢失特征信息的情况下简化模型,使得曲线更加平滑而非“放飞自我”。假设房价有101个特征: θ 0 . . . . . . θ 1 00 \theta_0......\theta_100 θ0......θ100那么我们也能使用如下的正则化方式: J = [ 1 2 m ∑ i = 1 m h θ ( x ( i ) − y ( i ) ) 2 + λ ∑ j = 1 m θ j 2 ] J = [\frac{1}{2m}\sum_{i=1}^m h_\theta(x^{(i)}-y^{(i)})^2+\lambda\sum_{j=1}^m\theta_j^2] J=[2m1i=1mhθ(x(i)y(i))2+λj=1mθj2]可以看到我们一般不对 θ 0 \theta_0 θ0进行正则化。其中 λ \lambda λ用于控制它们之间的权重。如果 λ \lambda λ太大,会使得函数假设函数近似于 θ 0 \theta_0 θ0也就是用一条直线去拟合,反而变成了欠拟合了,因此对 λ \lambda λ也需要小心设置。

线性回归正则化

对于正则化的线性回归,我们需要作如下修改-【机器学习】正则化详解和过拟合的解决_第2张图片
仔细观察可知道,粉色括号里的项恰好是正则化后的代价函数 J ( θ ) J(\theta) J(θ)的导数。我么不妨整理一下 θ j : = ( 1 − ∂ λ m ) θ j − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) ∗ x ( i ) \theta_j := (1-\partial\frac{\lambda}{m})\theta_j-\alpha\frac{1}{m}\sum_{i=1}^m (h_\theta(x^{(i)})-y^{(i)})*x^{(i)} θj:=(1mλ)θjαm1i=1m(hθ(x(i))y(i))x(i)可以看到,正则化的梯度下降就是将 θ j \theta_j θj缩小一下,然后采用常规的梯度下降进行处理

如果我们采用正规方程,那么正则化的正规方程的形式则如下:
θ = ( X T X + λ [ 0 1 . . 1 ] ) − 1 X T y \theta = (X^TX+\lambda\begin{bmatrix} 0 & & & & \\ & 1& & & \\ & & .& & \\ & & & . & \\ & & & & 1 \end{bmatrix})^{-1}X^Ty θ=(XTX+λ 01..1 )1XTy
相比常规正规方程增加了一个矩阵后,只要 λ > 0 \lambda>0 λ>0小括号里的矩阵就一定是可逆的,因此是一定有计算结果的。这也回应了之前在介绍正规方程时, ( X T X ) − 1 X T y (X^TX)^{-1}X^Ty (XTX)1XTy中的矩阵求逆一旦遇到不可逆的矩阵该怎么办,答案就是采用正规化将其变成可逆的

逻辑(Logistics)回归正规化

【机器学习】正则化详解和过拟合的解决_第3张图片
当我们采用一个有很多无关特征的多项式进行拟合的时候,这些大量的特征会导致过拟合

你可能感兴趣的:(机器学习,机器学习,人工智能)