前言
机器学习中的正则化常常用来约束权重的范围,防止模型过拟合,有的文章通过损失函数的求导来证明经过正则化之后的损失函数可以保证参数 w w w不容易有无限解,从而防止模型过拟合,本文主要是推导最大后验估计是如何很自然地考虑正则化的,并简单介绍极大似然估计与最大后验估计在机器学习中的角色。
模型
L2正则化:
- y = f ( x ) = w T x + ϵ ϵ ∼ N ( 0 , σ 2 ) y=f(x)=w^Tx+\epsilon \quad \epsilon \sim N(0,\sigma^2) y=f(x)=wTx+ϵϵ∼N(0,σ2), ϵ \epsilon ϵ表示数据的固有噪声
- 参数 w w w的先验分布为高斯分布: w ∼ N ( 0 , σ 0 2 ) w \sim N(0,\sigma_0^2) w∼N(0,σ02)
- 目标函数:计算最大后验概率 p ( w ∣ X , Y ) p(w|X,Y) p(w∣X,Y)所对应的 w w w
- 计算时需要注意的一个地方:单个样本的
p
(
y
i
∣
w
i
,
x
i
)
p(y_i|w_i,x_i)
p(yi∣wi,xi)如何计算?根据
y
=
f
(
x
)
=
w
T
x
+
ϵ
ϵ
∼
N
(
0
,
σ
2
)
y=f(x)=w^Tx+\epsilon \quad \epsilon \sim N(0,\sigma^2)
y=f(x)=wTx+ϵϵ∼N(0,σ2),当
w
i
,
x
i
w_i,x_i
wi,xi已知时,
y
i
y_i
yi服从的高斯分布相当于
ϵ
\epsilon
ϵ服从的分布平移
w
i
T
x
i
w_i^Tx_i
wiTxi,且此时以
y
i
y_i
yi为变量,即
y
i
∼
N
(
w
i
T
x
i
,
σ
2
)
y_i \sim N(w_i^Tx_i, \sigma^2)
yi∼N(wiTxi,σ2)。
推导:
a r g m a x w p ( w ∣ X , Y ) = a r g m a x w p ( Y ∣ w , X ) p ( w ) p ( X , Y ) = a r g m a x w p ( Y ∣ w , X ) p ( w ) = a r g m a x w ∏ i = 1 N p ( y i ∣ w i , x i ) p ( w i ) = a r g m a x w ∏ i = 1 N log p ( y i ∣ w i , x i ) p ( w i ) = a r g m a x w ∏ i = 1 N log ( 1 2 π σ e − ( y i − w i T x i ) 2 2 σ 2 1 2 π σ 0 e − ( w i ) 2 2 σ 0 2 ) = a r g m a x w ∏ i = 1 N − ( y i − w i T x i ) 2 2 σ 2 − ( w i ) 2 2 σ 0 2 = a r g m a x w [ − 1 2 σ 2 ∏ i = 1 N ∣ ∣ y i − y ^ ∣ ∣ 2 2 − 1 2 σ 0 2 ∣ ∣ w ∣ ∣ 2 2 ] \mathop{argmax}\limits_w p(w|X,Y)=\mathop{argmax}\limits_w \frac{p(Y|w,X)p(w)}{p(X,Y)} \\ =\mathop{argmax}\limits_w p(Y|w,X)p(w) \\=\mathop{argmax}\limits_w \prod_{i=1}^N p(y_i|w_i,x_i)p(w_i) \\ =\mathop{argmax}\limits_w \prod_{i=1}^N \log p(y_i|w_i,x_i)p(w_i) \\ =\mathop{argmax}\limits_w \prod_{i=1}^N \log \left( \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y_i-w_i^Tx_i)^2}{2\sigma^2}}\frac{1}{\sqrt{2\pi}\sigma_0}e^{-\frac{(w_i)^2}{2\sigma_0^2}}\right) \\ =\mathop{argmax}\limits_w \prod_{i=1}^N -\frac{(y_i-w_i^Tx_i)^2}{2\sigma^2}-\frac{(w_i)^2}{2\sigma_0^2} \\ =\mathop{argmax}\limits_w \left[-\frac{1}{2\sigma^2} \prod_{i=1}^N ||y_i-\hat y||^2_2 - \frac{1}{2\sigma_0^2}||w||^2_2 \right] wargmaxp(w∣X,Y)=wargmaxp(X,Y)p(Y∣w,X)p(w)=wargmaxp(Y∣w,X)p(w)=wargmaxi=1∏Np(yi∣wi,xi)p(wi)=wargmaxi=1∏Nlogp(yi∣wi,xi)p(wi)=wargmaxi=1∏Nlog(2πσ1e−2σ2(yi−wiTxi)22πσ01e−2σ02(wi)2)=wargmaxi=1∏N−2σ2(yi−wiTxi)2−2σ02(wi)2=wargmax[−2σ21i=1∏N∣∣yi−y^∣∣22−2σ021∣∣w∣∣22]
令 λ = − 1 2 σ 0 2 \lambda=- \frac{1}{2\sigma_0^2} λ=−2σ021,损失函数后面那一项 − 1 2 σ 0 2 ∣ ∣ w ∣ ∣ 2 2 - \frac{1}{2\sigma_0^2}||w||^2_2 −2σ021∣∣w∣∣22即为正则化项。
L1正则化
与L2正则化的不同之处在于参数
w
w
w的先验分布不是高斯分布,而是拉普拉斯分布:
p
(
w
)
=
1
2
b
e
(
−
∣
w
−
μ
∣
b
)
w
h
e
r
e
μ
=
0
p(w)=\frac{1}{2b}e^{(-\frac{|w-\mu|}{b})} \quad where \quad \mu =0
p(w)=2b1e(−b∣w−μ∣)whereμ=0,将上面推导的先验概率进行更换:
推导:
a
r
g
m
a
x
w
p
(
w
∣
X
,
Y
)
=
a
r
g
m
a
x
w
p
(
Y
∣
w
,
X
)
p
(
w
)
p
(
X
,
Y
)
=
a
r
g
m
a
x
w
p
(
Y
∣
w
,
X
)
p
(
w
)
=
a
r
g
m
a
x
w
∏
i
=
1
N
p
(
y
i
∣
w
i
,
x
i
)
p
(
w
i
)
=
a
r
g
m
a
x
w
∏
i
=
1
N
log
p
(
y
i
∣
w
i
,
x
i
)
p
(
w
i
)
=
a
r
g
m
a
x
w
∏
i
=
1
N
log
(
1
2
π
σ
e
−
(
y
i
−
w
i
T
x
i
)
2
2
σ
2
1
2
b
e
(
−
∣
w
∣
b
)
)
=
a
r
g
m
a
x
w
∏
i
=
1
N
(
−
(
y
i
−
w
i
T
x
i
)
2
2
σ
2
−
∣
w
∣
b
)
=
a
r
g
m
a
x
w
[
−
1
2
σ
2
∏
i
=
1
N
∣
∣
y
i
−
y
^
∣
∣
2
2
−
1
b
∣
w
∣
]
\mathop{argmax}\limits_w p(w|X,Y)=\mathop{argmax}\limits_w \frac{p(Y|w,X)p(w)}{p(X,Y)} \\ =\mathop{argmax}\limits_w p(Y|w,X)p(w) \\=\mathop{argmax}\limits_w \prod_{i=1}^N p(y_i|w_i,x_i)p(w_i) \\ =\mathop{argmax}\limits_w \prod_{i=1}^N \log p(y_i|w_i,x_i)p(w_i) \\ =\mathop{argmax}\limits_w \prod_{i=1}^N \log \left( \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y_i-w_i^Tx_i)^2}{2\sigma^2}}\frac{1}{2b}e^{(-\frac{|w|}{b})}\right) \\=\mathop{argmax}\limits_w \prod_{i=1}^N \left(-\frac{(y_i-w_i^Tx_i)^2}{2\sigma^2}-\frac{|w|}{b}\right) \\ =\mathop{argmax}\limits_w \left[-\frac{1}{2\sigma^2} \prod_{i=1}^N ||y_i-\hat y||^2_2-\frac{1}{b}|w|\right]
wargmaxp(w∣X,Y)=wargmaxp(X,Y)p(Y∣w,X)p(w)=wargmaxp(Y∣w,X)p(w)=wargmaxi=1∏Np(yi∣wi,xi)p(wi)=wargmaxi=1∏Nlogp(yi∣wi,xi)p(wi)=wargmaxi=1∏Nlog(2πσ1e−2σ2(yi−wiTxi)22b1e(−b∣w∣))=wargmaxi=1∏N(−2σ2(yi−wiTxi)2−b∣w∣)=wargmax[−2σ21i=1∏N∣∣yi−y^∣∣22−b1∣w∣]
令
λ
=
−
1
b
\lambda=- \frac{1}{b}
λ=−b1,损失函数后面那一项
−
1
b
∣
w
∣
-\frac{1}{b}|w|
−b1∣w∣即为正则化项。
极大似然估计与最大后验估计在机器学习中的使用
极大似然估计不考虑参数的先验分布,只通过数据来学习模型,最大后验估计需要考虑参数的先验,当数据量不够时,我们认为需要借助先验的知识帮我们预测,当数据量越来越多时,最大后验估计的最大值对应的 w w w值会越来越趋近极大似然估计的 w w w值。对于机器学习来讲,这两种没啥影响,因为参数的先验我们即使设置了也是不合理的。贝叶斯估计求参数分布可能有一个好处就是获得了模型不确定性的表示吧。