过拟合问题
导致结果不正确。
解决办法
使
θ
\theta
θ的取值尽量小,已达到曲线平滑。
但当
θ
\theta
θ取值过小会导致欠拟合
改变代价函数
线性回归:
J
(
θ
)
=
1
2
m
(
∑
i
=
1
m
(
h
θ
(
x
i
)
−
y
(
x
i
)
)
2
+
λ
∑
j
=
1
n
θ
j
2
)
J(\theta)=\frac{1}{2m}(\sum_{i=1}^{m}({h_\theta(x^i)-y(x^i)})^2+\lambda\sum_{j=1}^n\theta_j^2)
J(θ)=2m1(i=1∑m(hθ(xi)−y(xi))2+λj=1∑nθj2)
使用梯度下降迭代
θ
0
=
θ
0
−
α
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
0
(
i
)
\theta_0=\theta_0-\alpha\frac1m(h_\theta(x^{(i)})-y^{(i)})x_0^{(i)}
θ0=θ0−αm1(hθ(x(i))−y(i))x0(i)
θ
j
=
θ
j
−
α
[
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
+
λ
m
θ
j
]
\theta_j=\theta_j-\alpha[\frac1m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}+\frac\lambda m\theta_j]
θj=θj−α[m1(hθ(x(i))−y(i))xj(i)+mλθj]
θ
j
变
形
\theta_j变形
θj变形
θ
j
=
θ
j
(
1
−
λ
m
θ
j
)
−
α
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
\theta_j=\theta_j(1-\frac\lambda m\theta_j)-\alpha\frac1m(h_\theta(x^{(i)})-y^{(i)})x_j^{(i)}
θj=θj(1−mλθj)−αm1(hθ(x(i))−y(i))xj(i)
使用正则化公式
θ
=
(
X
T
X
+
λ
[
0
1
1
⋱
1
]
)
−
1
X
T
y
\theta=\left(X^TX+\lambda \left[ \begin{matrix} 0 \\ & 1 \\& &1\\ &&&\ddots\\&&&&1 \end{matrix} \right] \right)^{-1}X^Ty
θ=⎝⎜⎜⎜⎜⎛XTX+λ⎣⎢⎢⎢⎢⎡011⋱1⎦⎥⎥⎥⎥⎤⎠⎟⎟⎟⎟⎞−1XTy
其中
X
=
[
x
(
1
)
T
x
(
2
)
T
⋮
x
(
m
)
T
]
,
y
=
[
y
(
1
)
y
(
2
)
⋮
y
(
m
)
]
X=\begin{bmatrix} x(1)^T\\x(2)^T\\\vdots\\x(m)^T \end{bmatrix} ,y=\begin{bmatrix} y(1) \\y(2) \\\vdots\\y(m) \\\end{bmatrix}
X=⎣⎢⎢⎢⎡x(1)Tx(2)T⋮x(m)T⎦⎥⎥⎥⎤,y=⎣⎢⎢⎢⎡y(1)y(2)⋮y(m)⎦⎥⎥⎥⎤
X
为
m
∗
(
n
+
1
)
的
矩
阵
,
y
为
m
维
向
量
X为m*(n+1)的矩阵,y为m维向量
X为m∗(n+1)的矩阵,y为m维向量
logistic回归:
与线性回归相同,但是
h
θ
(
X
)
h_\theta(X)
hθ(X)定义不同。