https://blog.csdn.net/weixin_45434953/article/details/130970273
上一篇文章的例子中,如果使用一个四次多项式去拟合房价函数,会导致过拟合问题
而正则化是解决过拟合的一个方法。右图过拟合是因为其三次方项和四次方项的影响,我们再回顾下线性回归的代价函数:
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=1∑mhθ(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=1∑mhθ(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=1∑mhθ(x(i)−y(i))2+λj=1∑mθj2]可以看到我们一般不对 θ 0 \theta_0 θ0进行正则化。其中 λ \lambda λ用于控制它们之间的权重。如果 λ \lambda λ太大,会使得函数假设函数近似于 θ 0 \theta_0 θ0也就是用一条直线去拟合,反而变成了欠拟合了,因此对 λ \lambda λ也需要小心设置。
线性回归正则化
对于正则化的线性回归,我们需要作如下修改-
仔细观察可知道,粉色括号里的项恰好是正则化后的代价函数
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:=(1−∂mλ)θj−αm1i=1∑m(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)回归正规化
当我们采用一个有很多无关特征的多项式进行拟合的时候,这些大量的特征会导致过拟合