1、正则化的线性回归
线性回归模型的代价函数
J
(
θ
)
J(\theta)
J(θ)一般采用均方误差,即:
1
2
m
[
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
]
\frac{1}{2m}[\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2}]
2m1[i=1∑m(hθ(x(i))−y(i))2]
而正则化的线性回归就是在线性回归的代价函数中加入正则项,所以其代价函数
J
(
θ
)
J(\theta)
J(θ)变为:
1
2
m
[
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
+
∑
j
=
1
n
θ
j
2
]
\frac{1}{2m}[\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2} +\sum_{j=1}^{n}\theta_{j}^{2}]
2m1[i=1∑m(hθ(x(i))−y(i))2+j=1∑nθj2]
当代价函数发生改变时,其最优参数的求解会发生什么样的改变呢?我们知道线性规划模型求解最优参数有两种方法,一种是梯度下降,另一种是正规方程法,接下来我们看看这两种方法的改变。
2、梯度下降法求解正则化的线性回归
未正则化的线性回归模型的梯度下降法的参数更新的公式:
θ
0
:
=
θ
0
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
)
x
0
(
i
)
\theta_{0}:=\theta_{0}-\alpha\frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)}))x_{0}^{(i)}
θ0:=θ0−αm1i=1∑m(hθ(x(i))−y(i)))x0(i)
θ
j
:
=
θ
j
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
)
x
j
(
i
)
\theta_{j}:=\theta_{j}-\alpha\frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)}))x_{j}^{(i)}
θj:=θj−αm1i=1∑m(hθ(x(i))−y(i)))xj(i)
正则化的线性回归模型的梯度下降法的参数更新公式:
θ
0
:
=
θ
0
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
)
)
x
0
(
i
)
\theta_{0}:=\theta_{0}-\alpha\frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})))x_{0}^{(i)}
θ0:=θ0−αm1i=1∑m(hθ(x(i))−y(i))))x0(i)
θ
j
:
=
θ
j
−
α
1
m
[
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
)
x
j
(
i
)
+
λ
θ
j
]
⇒
θ
j
:
=
(
1
−
α
λ
m
)
θ
j
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
)
x
j
(
i
)
\theta_{j}:=\theta_{j}-\alpha\frac{1}{m}[\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)}))x_{j}^{(i)}+\lambda\theta_{j}]\\ \Rightarrow\theta_{j}:=(1-\alpha\frac{\lambda}{m})\theta_{j}-\alpha\frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)}))x_{j}^{(i)}
θj:=θj−αm1[i=1∑m(hθ(x(i))−y(i)))xj(i)+λθj]⇒θj:=(1−αmλ)θj−αm1i=1∑m(hθ(x(i))−y(i)))xj(i)
从上面可以看出,
θ
0
\theta_{0}
θ0的更新式子不变,而
θ
j
\theta_{j}
θj是在原有更新公式的基础上,先将更新前的
θ
j
\theta_{j}
θj缩小
(
1
−
α
λ
m
)
(1-\alpha\frac{\lambda}{m})
(1−αmλ)倍,然后再进行更新。
3、正规方程法求解正则化的线性回归
未正则化的线性回归模型的使用正规方程求解参数的结果:
θ
=
(
X
T
X
)
−
1
X
T
y
\theta=(X^{T}X)^{-1}X^{T}y
θ=(XTX)−1XTy
正则化的线性回归模型的使用正规方程求解参数的结果:
θ
=
(
X
T
X
+
λ
[
0
⋯
0
⋮
1
⋮
0
⋯
1
]
)
−
1
X
T
y
\theta=(X^{T}X+\lambda\left[\begin{matrix}0 &\cdots &0\\ \vdots &1&\vdots\\0&\cdots&1\end{matrix}\right])^{-1}X^{T}y
θ=(XTX+λ⎣⎢⎡0⋮0⋯1⋯0⋮1⎦⎥⎤)−1XTy
我们知道,在使用正规方程法求解的时候,可能会遇到
X
T
X
X^{T}X
XTX不可逆的情况,但是如果是求解正则化的,就可以避免不可逆的情况: