笔记
描述
正则化是什么?
正则化是通过对假设函数附加一项正则化参数,来减小该项的拟合程度。
为什么要有正则化?
有的时候,为了更好的拟合数据的情况,我们会在训练时,添加高阶项。但这会引发新的问题,如果训练的足够多,那会产生过拟合现象,这时候很难对测试数据有更好的泛化性。如果训练的不够,又会导致欠拟合情况,连训练集都无法准确预测。
如何正则化?
为了不过拟合,我们想要保持高阶项的系数足够小(又不想直接去除该项,因为高阶项或多或少有一定影响),引入一个惩罚项,称为正则化项,使得模型相对简单。
为何正则化能减小某一项的影响?
我们通过设置正则化参数
λ
\lambda
λ,该值设得越大,就对其特征
θ
j
\theta_j
θj惩罚程度越大,使其特征
θ
j
\theta_j
θj的影响越小。
(这是由于,训练时有正则化项,预测时没有,所以
θ
j
\theta_j
θj的值小了,影响小了)
注:惩罚过大,可能出现欠拟合
关键点
(我们不对j=0对应的 θ 0 \theta_0 θ0作惩罚,因为 θ 0 \theta_0 θ0项的 x 0 = 1 x_0 = 1 x0=1,没有必要惩罚)
线性回归的正则化:
代价函数:
J
(
θ
)
=
1
2
m
[
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
i
)
2
+
λ
∑
j
=
1
n
θ
j
2
]
J(\theta) = \frac{1}{2m} [ \sum_{i=1}^{m} (h_\theta (x^{(i)}) - y^{i})^2 + \lambda \sum_{j=1}^{n} \theta_j^2]
J(θ)=2m1[i=1∑m(hθ(x(i))−yi)2+λj=1∑nθj2]
更新系数:
θ
0
:
=
θ
0
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
(
j
=
0
)
θ
j
:
=
θ
j
−
α
[
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
+
λ
m
θ
j
]
:
=
θ
j
(
1
−
λ
λ
m
)
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
(
j
=
1
,
2
,
.
.
.
,
n
)
\theta_0 := \theta_0 - \alpha \frac{1}{m} \sum_{i=1}^{m} (h_\theta (x^{(i)}) - y^{(i)}) x_j^{(i)} \ \ \ \ \ (j = 0) \\ \theta_j := \theta_j - \alpha [ \frac{1}{m} \sum_{i=1}^{m} (h_\theta (x^{(i)}) - y^{(i)}) x_j^{(i)} + \frac{\lambda}{m} \theta_j ] \\ := \theta_j (1 - \lambda \frac{\lambda}{m}) - \alpha \frac{1}{m} \sum_{i=1}^{m} (h_\theta (x^{(i)}) - y^{(i)}) x_j^{(i)} \ \ \ \ \ (j = 1, 2, ... , n)
θ0:=θ0−αm1i=1∑m(hθ(x(i))−y(i))xj(i) (j=0)θj:=θj−α[m1i=1∑m(hθ(x(i))−y(i))xj(i)+mλθj]:=θj(1−λmλ)−αm1i=1∑m(hθ(x(i))−y(i))xj(i) (j=1,2,...,n)
(其中,
λ
∑
j
=
1
n
θ
j
2
\lambda \sum_{j=1}^{n} \theta_j^2
λ∑j=1nθj2就是正则化参数regularization parameter)
逻辑回归的正则化:
代价函数:
J
(
θ
)
=
−
[
1
m
∑
i
=
1
m
y
i
l
o
g
h
θ
(
x
(
i
)
)
+
(
1
−
y
i
)
l
o
g
(
1
−
h
θ
(
x
i
)
)
]
+
λ
2
m
∑
j
=
1
n
θ
j
2
J (\theta) = - [\frac{1}{m} \sum_{i=1}^{m} y^i log{h_\theta (x^{(i)})} + (1 - y^{i}) log ({1 - h_\theta (x^{i}))}] + \frac{\lambda}{2m} \sum_{j=1}^{n} \theta_j^2
J(θ)=−[m1i=1∑myiloghθ(x(i))+(1−yi)log(1−hθ(xi))]+2mλj=1∑nθj2
更新系数:
θ
0
:
=
θ
0
−
α
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
(
j
=
0
)
θ
j
:
=
θ
j
−
α
[
1
m
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
x
j
(
i
)
+
λ
m
θ
j
]
(
j
=
1
,
2
,
3
,
.
.
.
,
n
)
\theta_0 := \theta_0 - \alpha \frac{1}{m} \sum_{i=1}^{m} (h_\theta (x^{(i)}) - y^{(i)}) x_j^{(i)} \ \ \ \ \ (j = 0) \\ \theta_j := \theta_j - \alpha [\frac{1}{m} \sum_{i=1}^{m} (h_\theta (x^{(i)}) - y^{(i)}) x_j^{(i)} + \frac{\lambda}{m} \theta_j ] \ \ \ \ \ (j = 1, 2, 3, ... , n)
θ0:=θ0−αm1i=1∑m(hθ(x(i))−y(i))xj(i) (j=0)θj:=θj−α[m1i=1∑m(hθ(x(i))−y(i))xj(i)+mλθj] (j=1,2,3,...,n)
(其中,
1
2
m
λ
∑
j
=
1
n
θ
j
2
\frac{1}{2m} \lambda \sum_{j=1}^{n} \theta_j^2
2m1λ∑j=1nθj2就是正则化参数regularization parameter)