之前经常将正则化和归一化这两个概念搞错,特写此文,防止再次出错。
1. 归一化(normalization)
归一化的作用是去除数据的量纲,或者说将数据的value转换到同一个数量级或者限制在某一范围之内。
1.1 max-min归一化
即通过
x
x
x 所在的数据集的最大和最小值对
x
x
x 进行归一化:
x
′
=
x
−
x
min
x
max
−
x
min
x^{'}=\frac{x-x_{\min }}{x_{\max }-x_{\min }}
x′=xmax−xminx−xmin
其中,
x
min
x_{\min }
xmin和
x
max
x_{\max }
xmax为数据
x
x
x所在集合(行/列)的最小值和最大值,经过归一化之后,
x
x
x的范围为,
x
∈
[
0
,
1
]
x \in [0,1]
x∈[0,1]。
1.2 以均值和方差进行归一化(标准化)
把数据
x
x
x 变换到均值为0,方差为1:
x
′
=
x
−
μ
σ
x^{'}=\frac{x-\mu}{\sigma}
x′=σx−μ
其中,
μ
\mu
μ 和
σ
\sigma
σ 分别为该组数据的均值和方差。
经过此类归一化之后,对应的损失函数的等高线形状均匀,在进行梯度下降算法时能够很快的收敛。
2. 正则化(regularization)
正则化主要用于避免过拟合的产生和减少网络误差。正则化的公式为:
L
=
∑
n
(
y
^
n
−
(
b
+
∑
w
i
x
i
)
)
2
+
λ
∑
(
w
i
)
2
L=\sum_{n}\left(\hat{y}^{n}-\left(b+\sum w_{i} x_{i}\right)\right)^{2} +\lambda \sum\left(w_{i}\right)^{2}
L=n∑(y^n−(b+∑wixi))2+λ∑(wi)2
注1:公式来源于李宏毅教授2020机器学习课件
注2:常用L2正则化
式中, y ^ n \hat{y}^{n} y^n 代表第 n n n 条数据的真值, x i x_i xi 为第 i i i 个输入特征。对比一般的损失函数公式,可以看到,正则化即在损失函数后面添加了一项 λ ∑ ( w i ) 2 \lambda \sum\left(w_{i}\right)^{2} λ∑(wi)2,其中, λ ≥ 0 \lambda \geq0 λ≥0 用来调整正则化的程度。
注:通常系数 w 0 w0 w0 从正则化项中省略,因为包含 w 0 w0 w0 会使得结果依赖于⽬标变量原点的选择
该公式给误差函数增加⼀个惩罚项,使得系数
w
i
w_i
wi不会达到很大的值。
下表直观地显示了
λ
\lambda
λ 对系数的影响:
ln
λ
=
−
∞
ln
λ
=
−
18
ln
λ
=
0
w
0
∗
0.35
0.35
0.13
w
1
∗
232.37
4.74
−
0.05
w
2
∗
−
5321.83
−
0.77
−
0.06
w
3
∗
48568.31
−
31.97
−
0.05
w
4
∗
−
231639.30
−
3.89
−
0.03
w
5
∗
640042.26
55.28
−
0.02
w
6
∗
−
1061800.52
41.32
−
0.01
w
7
∗
1042400.18
−
45.95
−
0.00
w
8
∗
−
557682.99
−
91.53
0.00
w
9
∗
125201.43
72.68
0.01
\begin{array}{r|rrr} & \ln \lambda=-\infty & \ln \lambda=-18 & \ln \lambda=0 \\ \hline w_{0}^{*} & 0.35 & 0.35 & 0.13 \\ w_{1}^{*} & 232.37 & 4.74 & -0.05 \\ w_{2}^{*} & -5321.83 & -0.77 & -0.06 \\ w_{3}^{*} & 48568.31 & -31.97 & -0.05 \\ w_{4}^{*} & -231639.30 & -3.89 & -0.03 \\ w_{5}^{*} & 640042.26 & 55.28 & -0.02 \\ w_{6}^{*} & -1061800.52 & 41.32 & -0.01 \\ w_{7}^{*} & 1042400.18 & -45.95 & -0.00 \\ w_{8}^{*} & -557682.99 & -91.53 & 0.00 \\ w_{9}^{*} & 125201.43 & 72.68 & 0.01 \end{array}
w0∗w1∗w2∗w3∗w4∗w5∗w6∗w7∗w8∗w9∗lnλ=−∞0.35232.37−5321.8348568.31−231639.30640042.26−1061800.521042400.18−557682.99125201.43lnλ=−180.354.74−0.77−31.97−3.8955.2841.32−45.95−91.5372.68lnλ=00.13−0.05−0.06−0.05−0.03−0.02−0.01−0.000.000.01
可以看出,
λ
\lambda
λ 较小的时候,模型的参数非常大,此时极易导致模型过拟合,随着
λ
\lambda
λ 逐渐增加,系数又将变得非常小,此时又不利于模型的拟合效果。
λ
\lambda
λ 控制了模型的复杂性,决定了过拟合的程度。