如何解决过拟合问题
- 尽量减少特征变量:
- 人工选择
- 模型选择算法
- 正规化:
- 保存所有特征,但减少参数 θ j \theta_j θj的值
- 当我们有许多特征时能工作的很好
什么是过拟合
正规化
优化目标:
加上一些 项(1000只是一个随意的很大的数):
θ 3 和 θ 4 对 代 价 函 数 的 影 响 巨 大 \theta_3和\theta_4对代价函数的影响巨大 θ3和θ4对代价函数的影响巨大
如果我们要最小化代价函数,那么 θ 3 \theta_3 θ3和 θ 4 \theta_4 θ4就会尽可能小
新的代价函数将会导致:
θ 3 ≈ 0 , θ 4 ≈ 0 \theta_3\approx0, \theta_4\approx0 θ3≈0,θ4≈0就像我们忽略了 θ 3 \theta_3 θ3和 θ 4 \theta_4 θ4
正规化背后的思路
如果我们的参数对应一个较小值的话,更简单的参数会参数更平滑的函数
- 更简单的假设
- 不会产生过拟合
代价函数
当特征很多时:
- Features: x 1 , x 2 , … , x 100 x_1,x_2,\dots,x_{100} x1,x2,…,x100
- Parameters: θ 0 , θ 1 , θ 2 , … , θ 100 \theta_0,\theta_1,\theta_2,\dots,\theta_{100} θ0,θ1,θ2,…,θ100
我们不知道怎么选择参数
在正规化在我们要做的就是惩罚所有参数:
J θ ( θ ) = [ 1 2 m ∑ i = 1 m ( h ( x ( i ) ) − y ( i ) ) + λ ∑ j = i n θ j 2 ] J_{\theta}(\theta)= \lbrack\frac{1}{2m}\sum_{i=1}^{m}(h(x^{(i)})-y^{(i)})+\lambda\sum_{j=i}^{n}\theta_{j}^{2}\rbrack Jθ(θ)=[2m1i=1∑m(h(x(i))−y(i))+λj=i∑nθj2]
按照惯例来说不会惩罚 θ 0 \theta_0 θ0
λ \lambda λ在这里叫做正规化参数, λ \lambda λ要做的就是控制在两个不同目标间的平衡关系:
平衡拟合目标(平方误差)和保持较小参数的目的
从而保持假设更简单,来避免过拟合如果 λ \lambda λ过大会导致欠拟合
h θ ( x ) = θ 0 + θ 1 x 1 + θ 2 x 2 + θ 3 x 3 + θ 4 x 4 h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_3+\theta_4x_4 hθ(x)=θ0+θ1x1+θ2x2+θ3x3+θ4x4
如果 λ \lambda λ过大,那么参数将会尽可能小:
θ 1 ≈ 0 , θ 2 ≈ 0 , θ 3 ≈ 0 , θ 4 ≈ 0 \theta_1\approx0,\theta_2\approx0,\theta3\approx0,\theta_4\approx0 θ1≈0,θ2≈0,θ3≈0,θ4≈0
相当于拟合了直线:
h θ ( x ) = θ 0 h_\theta(x)=\theta_0 hθ(x)=θ0
偏导:
线
性
回
归
:
J
(
θ
)
′
=
1
m
∑
i
=
1
M
(
H
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
+
2
λ
θ
j
逻
辑
回
归
:
J
(
θ
)
′
=
1
m
∑
i
=
1
M
(
H
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
+
λ
m
θ
j
线性回归:J(\theta)'=\frac{1}{m}\sum_{i=1}^{M}(H(x^{(i)})-y^{(i)})x_j^{(i)}+2\lambda\theta_{j}\\ 逻辑回归:J(\theta)'=\frac{1}{m}\sum_{i=1}^{M}(H(x^{(i)})-y^{(i)})x_j^{(i)}+\frac{\lambda}{m}\theta_j
线性回归:J(θ)′=m1i=1∑M(H(x(i))−y(i))xj(i)+2λθj逻辑回归:J(θ)′=m1i=1∑M(H(x(i))−y(i))xj(i)+mλθj
神经网络是怎么拟合非线性函数
and
x 1 , x 2 ∈ { 0 , 1 } x1,x2\in\{ 0,1\} x1,x2∈{0,1}
h θ ( x ) = g ( − 30 + 20 x 1 + 20 x 2 ) h_{\theta}(x)=g(-30+20x1+20x2) hθ(x)=g(−30+20x1+20x2)
x1 | x2 | h θ ( x ) h_{\theta}(x) hθ(x) |
---|---|---|
0 | 0 | g ( − 30 + 0 + 0 ) ≈ 0 g(-30+0+0)\approx0 g(−30+0+0)≈0 |
0 | 1 | g ( − 30 + 0 + 20 ) ≈ 0 g(-30+0+20)\approx0 g(−30+0+20)≈0 |
1 | 0 | g ( − 30 + 20 + 0 ) ≈ 0 g(-30+20+0)\approx0 g(−30+20+0)≈0 |
1 | 1 | g ( − 30 + 20 + 20 ) ≈ 1 g(-30+20+20)\approx1 g(−30+20+20)≈1 |
or
x 1 , x 2 ∈ { 0 , 1 } x1,x2\in\{ 0,1\} x1,x2∈{0,1}
h θ ( x ) = g ( − 10 + 20 x 1 + 20 x 2 ) h_{\theta}(x)=g(-10+20x1+20x2) hθ(x)=g(−10+20x1+20x2)
x1 | x2 | h θ ( x ) h_{\theta}(x) hθ(x) |
---|---|---|
0 | 0 | g ( − 10 + 0 + 0 ) ≈ 0 g(-10+0+0)\approx0 g(−10+0+0)≈0 |
0 | 1 | g ( − 10 + 0 + 20 ) ≈ 1 g(-10+0+20)\approx1 g(−10+0+20)≈1 |
1 | 0 | g ( − 10 + 20 + 0 ) ≈ 1 g(-10+20+0)\approx1 g(−10+20+0)≈1 |
1 | 1 | g ( − 10 + 20 + 20 ) ≈ 1 g(-10+20+20)\approx1 g(−10+20+20)≈1 |
or
x 1 , x 2 ∈ { 0 , 1 } x1,x2\in\{ 0,1\} x1,x2∈{0,1}
h θ ( x ) = g ( + 10 − 20 x 1 ) h_{\theta}(x)=g(+10-20x1) hθ(x)=g(+10−20x1)
x1 | h θ ( x ) h_{\theta}(x) hθ(x) |
---|---|
0 | g ( 10 + 0 ) ≈ 1 g(10+0)\approx1 g(10+0)≈1 |
1 | g ( 10 − 20 ) ≈ 0 g(10-20)\approx0 g(10−20)≈0 |
xnor
太弱智了