本篇文章是在参考西瓜书、PPT课件、网络上相关博客等资料的基础上整理出的机器学习复习笔记,希望能给大家的机器学习复习提供帮助。这篇笔记只是复习的一个参考,大家一定要结合书本、PPT来进行复习,有些公式的推导最好能够自己演算一遍。由于作者水平有限,笔记中难免有些差错,欢迎大家评论留言。
完整版跳转
6. 朴素贝叶斯
6.1 条件独立
我们称
X
X
X在给定
Z
Z
Z的条件下条件独立于
Y
Y
Y,当且仅当
X
X
X的分布在给定
Z
Z
Z的条件下与
Y
Y
Y无关。
(
∀
i
,
j
,
k
)
P
(
X
=
x
i
∣
Y
=
y
j
,
Z
=
z
k
)
=
P
(
X
=
x
i
∣
Z
=
z
k
)
(\forall i,j,k)P(X=x_i|Y=y_j,Z=z_k)=P(X=x_i|Z=z_k)
(∀i,j,k)P(X=xi∣Y=yj,Z=zk)=P(X=xi∣Z=zk)
缩写为
P
(
X
∣
Y
,
Z
)
=
P
(
X
∣
Z
)
P(X|Y,Z)=P(X|Z)
P(X∣Y,Z)=P(X∣Z)
若
X
1
,
X
2
X_1,X_2
X1,X2在给定
Y
Y
Y时条件独立,那么有
P
(
X
1
,
X
2
∣
Y
)
=
P
(
X
1
∣
X
2
,
Y
)
P
(
X
2
∣
Y
)
=
P
(
X
1
∣
Y
)
P
(
X
2
∣
Y
)
\begin{aligned} P(X_1,X_2|Y)&=P(X_1|X_2,Y)P(X_2|Y)\\ &=P(X_1|Y)P(X_2|Y) \end{aligned}
P(X1,X2∣Y)=P(X1∣X2,Y)P(X2∣Y)=P(X1∣Y)P(X2∣Y)
一般化,若
X
i
X_i
Xi与
Y
Y
Y条件独立,那么
P
(
X
1
,
X
2
,
…
,
X
n
∣
Y
)
=
∏
i
P
(
X
i
∣
Y
)
P(X_1,X_2,\dots,X_n|Y)=\prod_iP(X_i|Y)
P(X1,X2,…,Xn∣Y)=i∏P(Xi∣Y)
这是朴素贝叶斯的基础。
6.2 参数估计
相较于没有条件独立性假设的情况,朴素贝叶斯分类器所需要估计的参数个数大大减少了,具体来看(假设每个属性有2个不同取值,共有2个类别):
- 没有条件独立性假设: 2 n 2^n 2n
- 有条件独立性假设:
2
n
2n
2n
朴素贝叶斯分类器需要对任何一个给定的样本 X = < X 1 , … , X n > X=<X_1,\dots ,X_n> X=<X1,…,Xn>计算出它被分类为任何一个类别的概率,即
P ( Y = y k ∣ X 1 … X n ) = P ( Y = y k ) ∏ i P ( X i ∣ Y = y k ) ∑ j P ( Y = y j ) ∏ i P ( X i ∣ Y = y j ) P(Y=y_k|X_1\dots X_n)=\frac{P(Y=y_k)\prod_iP(X_i|Y=y_k)}{\sum_j P(Y=y_j)\prod_iP(X_i|Y=y_j)} P(Y=yk∣X1…Xn)=∑jP(Y=yj)∏iP(Xi∣Y=yj)P(Y=yk)∏iP(Xi∣Y=yk)
对于某个给定的,分母是恒定的。我们只需要最大化分子,也就是
arg max k P ( Y = y k ) ∏ i P ( X i ∣ Y = y k ) \arg \max_k P(Y=y_k)\prod_iP(X_i|Y=y_k) argkmaxP(Y=yk)i∏P(Xi∣Y=yk)
因而,对于一个新的样本 X n e w = < X 1 , … , X n > X^{new}=<X_1,\dots ,X_n> Xnew=<X1,…,Xn>,判别规则为
Y n e w ← arg max y k P ( Y = y k ) ∏ i P ( X i n e w ∣ Y = y k ) Y^{new} \leftarrow \arg \max_{y_k} P(Y=y_k)\prod_iP(X_i^{new}|Y=y_k) Ynew←argykmaxP(Y=yk)i∏P(Xinew∣Y=yk)
也就是说,当各个属性之间条件独立时,考虑最大化各个属性取值时的类别,而为了能够从整体上看最大化的情况,取了各个属性值上的概率积。
在朴素贝叶斯中,我们需要对两类参数进行估计 - 先验概率: π k = P ( Y = y k ) \pi_k=P(Y=y_k) πk=P(Y=yk)
- 条件概率:
θ
i
j
k
=
P
(
X
i
=
x
i
j
∣
Y
=
y
k
)
\theta_{ijk}=P(X_i=x_{ij}|Y=y_k)
θijk=P(Xi=xij∣Y=yk),
x
i
j
x_{ij}
xij表示第
i
i
i个属性的第
j
j
j个属性值
下面分别采用MLE和MAP的方法对这两类参数进行估计。
使用MLE估计
π
^
k
=
P
^
(
Y
=
y
k
)
=
#
D
{
Y
=
y
k
}
∣
D
∣
θ
^
i
j
k
=
P
^
(
X
i
=
x
i
j
∣
Y
=
y
k
)
=
#
D
{
X
i
=
x
i
j
∧
Y
=
y
k
}
#
D
{
Y
=
y
k
}
\begin{aligned} &\hat{\pi}_k=\hat{P}(Y=y_k)=\frac{\#D\{Y=y_k\}}{|D|}\\ &\hat{\theta}_{ijk}=\hat{P}(X_i=x_{ij}|Y=y_k)=\frac{\#D\{X_i=x_{ij}\land Y=y_k\}}{\#D\{Y=y_k\}} \end{aligned}
π^k=P^(Y=yk)=∣D∣#D{Y=yk}θ^ijk=P^(Xi=xij∣Y=yk)=#D{Y=yk}#D{Xi=xij∧Y=yk}
但是,如果某个属性值在训练集中没有与某个类同时出现过,即
P
(
X
i
∣
Y
=
y
k
)
=
0
P(X_i|Y=y_k)=0
P(Xi∣Y=yk)=0,那么无论该样本的其他属性是什么,
P
(
Y
=
y
k
∣
X
)
P(Y=y_k|X)
P(Y=yk∣X)都将会被预测成零。这显然是不太合理的,可以采用MAP估计来避免这个问题。
使用MAP估计
π
^
k
=
P
^
(
Y
=
y
k
)
=
#
D
{
Y
=
y
k
}
+
α
k
∣
D
∣
+
∑
m
α
m
θ
^
i
j
k
=
P
^
(
X
i
=
x
i
j
∣
Y
=
y
k
)
=
#
D
{
X
i
=
x
i
j
∧
Y
=
y
k
}
+
α
k
′
#
D
{
Y
=
y
k
}
+
∑
m
α
m
′
\begin{aligned} &\hat{\pi}_k=\hat{P}(Y=y_k)=\frac{\#D\{Y=y_k\}+\alpha_k}{|D|+\sum_m\alpha_m}\\ &\hat{\theta}_{ijk}=\hat{P}(X_i=x_{ij}|Y=y_k)=\frac{\#D\{X_i=x_{ij}\land Y=y_k\}+\alpha_k'}{\#D\{Y=y_k\}+\sum_m\alpha_m'} \end{aligned}
π^k=P^(Y=yk)=∣D∣+∑mαm#D{Y=yk}+αkθ^ijk=P^(Xi=xij∣Y=yk)=#D{Y=yk}+∑mαm′#D{Xi=xij∧Y=yk}+αk′
亦可以采用“拉普拉斯修正”(西瓜书),即假设先验概率符合均匀分布。
6.3 处理连续属性
修改朴素贝叶斯模型,将
P
(
X
i
=
x
∣
Y
=
y
k
)
P(X_i=x|Y=y_k)
P(Xi=x∣Y=yk)改为其概率密度函数。譬如我们采用高斯分布:
P
(
X
i
=
x
∣
Y
=
y
k
)
=
1
2
π
σ
i
k
e
−
(
x
−
μ
i
k
)
2
2
σ
i
k
2
P(X_i=x|Y=y_k)=\frac1{\sqrt{2\pi}\sigma_{ik}}e^{\frac{-(x-\mu_{ik})^2}{2\sigma_{ik}^2}}
P(Xi=x∣Y=yk)=2πσik1e2σik2−(x−μik)2
有时候,我们假设方差
- 与 Y Y Y无关,这时 σ i k = σ i \sigma_{ik}=\sigma_i σik=σi
- 与 X i X_i Xi无关,这时 σ i k = σ k \sigma_{ik}=\sigma_k σik=σk
- 与 X i X_i Xi和 Y Y Y均无关,这时 σ i k = σ \sigma_{ik}=\sigma σik=σ
6.4 总结
对于连续属性(假设服从高斯分布),我们首先要估计它的参数(
μ
\mu
μ,
σ
\sigma
σ),利用最大似然进行估计。这里有点类似于概率论里多个随机变量满足独立同分布的情况,这时利用极大似然估计得到的
μ
\mu
μ就是样本的均值,
σ
\sigma
σ就是样本的方差。假设
n
n
n个样本
x
1
,
x
2
,
…
,
x
n
x_1,x_2,\dots,x_n
x1,x2,…,xn服从独立同分布,且满足高斯分布,则
μ
^
=
1
n
∑
i
=
1
n
x
i
σ
^
=
1
n
∑
i
=
1
n
(
x
i
−
μ
^
)
2
\begin{aligned} \hat \mu &= \frac1n{\sum_{i=1}^n x_i}\\ \hat \sigma &= \frac1n{\sum_{i=1}^n(x_i-\hat\mu)^2} \end{aligned}
μ^σ^=n1i=1∑nxi=n1i=1∑n(xi−μ^)2
类似的,可以对这里的参数进行估计。
7. 逻辑回归
现在我们考虑一个线性可分的二分类问题。接下来我们构造一个判别式模型(即直接学习 P ( Y ∣ X ) P(Y|X) P(Y∣X)),假定数据满足以下条件:
- X X X是实数向量 < X 1 , … , X n > <X_1,\dots, X_n> <X1,…,Xn>
- Y Y Y是布尔向量
- 给定 Y Y Y时, X i X_i Xi相互条件独立(可以不需要)
- P ( X i ∣ Y = y k ) P(X_i|Y=y_k) P(Xi∣Y=yk)符合高斯分布 N ( μ i k , σ i ) N(\mu_{ik},\sigma_i) N(μik,σi)
- P ( Y ) P(Y) P(Y)符合伯努利分布(设 π = P ^ ( Y = 1 ) \pi=\hat{P}(Y=1) π=P^(Y=1))
给定一个样本
X
X
X,其类别为
Y
=
1
Y=1
Y=1的概率为
P
(
Y
=
1
∣
X
)
=
P
(
Y
=
1
)
P
(
X
∣
Y
=
1
)
P
(
Y
=
1
)
P
(
X
∣
Y
=
1
)
+
P
(
Y
=
0
)
P
(
X
∣
Y
=
0
)
=
1
1
+
P
(
Y
=
0
)
P
(
X
∣
Y
=
0
)
P
(
Y
=
1
)
P
(
X
∣
Y
=
1
)
=
1
1
+
exp
(
ln
P
(
Y
=
0
)
P
(
X
∣
Y
=
0
)
P
(
Y
=
1
)
P
(
X
∣
Y
=
1
)
)
=
1
1
+
exp
(
ln
1
−
π
π
+
∑
i
ln
P
(
X
i
∣
Y
=
0
)
P
(
X
i
∣
Y
=
1
)
)
\begin{aligned} P(Y=1|X)&=\frac{P(Y=1)P(X|Y=1)}{P(Y=1)P(X|Y=1)+P(Y=0)P(X|Y=0)}\\ &=\frac1{1+\frac{P(Y=0)P(X|Y=0)}{P(Y=1)P(X|Y=1)}}\\ &=\frac1{1+\exp(\ln\frac{P(Y=0)P(X|Y=0)}{P(Y=1)P(X|Y=1)})}\\ &=\frac1{1+\exp(\ln\frac{1-\pi}{\pi}+\sum_i\ln\frac{P(X_i|Y=0)}{P(X_i|Y=1)})}\\ \end{aligned}
P(Y=1∣X)=P(Y=1)P(X∣Y=1)+P(Y=0)P(X∣Y=0)P(Y=1)P(X∣Y=1)=1+P(Y=1)P(X∣Y=1)P(Y=0)P(X∣Y=0)1=1+exp(lnP(Y=1)P(X∣Y=1)P(Y=0)P(X∣Y=0))1=1+exp(lnπ1−π+∑ilnP(Xi∣Y=1)P(Xi∣Y=0))1
又由于各个维度的条件概率均服从高斯分布,因此
P
(
Y
=
1
∣
X
)
=
1
1
+
exp
(
ln
1
−
π
π
+
∑
i
(
μ
i
0
−
μ
i
1
σ
i
2
X
i
+
μ
i
1
2
−
μ
i
0
2
2
σ
i
2
)
)
\begin{aligned} P(Y=1|X)&=\frac1{1+\exp(\ln\frac{1-\pi}{\pi}+\sum_i(\frac{\mu_{i0}-\mu_{i1}}{\sigma_i^2}X_i+\frac{\mu_{i1}^2-\mu_{i0}^2}{2\sigma_i^2}))}\\ \end{aligned}
P(Y=1∣X)=1+exp(lnπ1−π+∑i(σi2μi0−μi1Xi+2σi2μi12−μi02))1
令
w
0
=
ln
1
−
π
π
+
∑
i
(
μ
i
1
2
−
μ
i
0
2
2
σ
i
2
)
,
w
i
=
μ
i
0
−
μ
i
1
σ
i
2
w_0=\ln\frac{1-\pi}{\pi}+\sum_i(\frac{\mu_{i1}^2-\mu_{i0}^2}{2\sigma_i^2}), \ w_i=\frac{\mu_{i0}-\mu_{i1}}{\sigma_i^2}
w0=lnπ1−π+i∑(2σi2μi12−μi02), wi=σi2μi0−μi1,则有
P
(
Y
=
1
∣
X
)
=
1
1
+
exp
(
w
0
+
∑
i
=
1
n
w
i
X
i
)
P(Y=1|X)=\frac1{1+\exp(w_0+\sum_{i=1}^nw_iX_i)}
P(Y=1∣X)=1+exp(w0+∑i=1nwiXi)1
进而有
P
(
Y
=
0
∣
X
)
=
exp
(
w
0
+
∑
i
=
1
n
w
i
X
i
)
1
+
exp
(
w
0
+
∑
i
=
1
n
w
i
X
i
)
P(Y=0|X)=\frac{\exp(w_0+\sum_{i=1}^nw_iX_i)}{1+\exp(w_0+\sum_{i=1}^nw_iX_i)}
P(Y=0∣X)=1+exp(w0+∑i=1nwiXi)exp(w0+∑i=1nwiXi)
进而
P
(
Y
=
0
∣
X
)
P
(
Y
=
1
∣
X
)
=
exp
(
w
0
+
∑
i
w
i
X
i
)
ln
P
(
Y
=
0
∣
X
)
P
(
Y
=
1
∣
X
)
=
w
0
+
∑
i
w
i
X
i
\frac{P(Y=0|X)}{P(Y=1|X)}=\exp(w_0+\sum_iw_iX_i)\\\ln\frac{P(Y=0|X)}{P(Y=1|X)}=w_0+\sum_iw_iX_i
P(Y=1∣X)P(Y=0∣X)=exp(w0+i∑wiXi)lnP(Y=1∣X)P(Y=0∣X)=w0+i∑wiXi
所以逻辑回归是线性分类器。
另:如果
X
i
X_i
Xi不是相互条件独立的,但是满足
P
(
X
∣
Y
=
y
k
)
P(X|Y=y_k)
P(X∣Y=yk)符合高斯分布
N
(
μ
k
,
Σ
)
N(\mu_{k},\Sigma)
N(μk,Σ),也可推导出逻辑回归是线性分类器,下面是推导过程。
由之前的推导可知
P
(
Y
=
1
∣
X
)
=
1
1
+
exp
(
ln
1
−
π
π
+
ln
P
(
X
∣
Y
=
0
)
P
(
X
∣
Y
=
1
)
)
\begin{aligned} P(Y=1|X)&=\frac1{1+\exp(\ln\frac{1-\pi}{\pi}+\ln\frac{P(X|Y=0)}{P(X|Y=1)})}\\ \end{aligned}
P(Y=1∣X)=1+exp(lnπ1−π+lnP(X∣Y=1)P(X∣Y=0))1
由于
P
(
X
∣
Y
=
y
k
)
P(X|Y=y_k)
P(X∣Y=yk)满足多维高斯分布,因此
ln
P
(
X
∣
Y
=
0
)
P
(
X
∣
Y
=
1
)
=
1
2
(
X
−
μ
2
)
T
Σ
−
1
(
X
−
μ
2
)
−
1
2
(
X
−
μ
1
)
T
Σ
−
1
(
X
−
μ
1
)
=
1
2
(
X
T
−
μ
2
T
)
Σ
−
1
(
X
−
μ
2
)
−
1
2
(
X
T
−
μ
1
T
)
Σ
−
1
(
X
−
μ
1
)
=
X
T
(
Σ
−
1
μ
1
−
Σ
−
1
μ
2
)
+
1
2
(
μ
2
T
Σ
−
1
μ
2
−
μ
1
T
Σ
−
1
μ
1
)
\begin{aligned} \ln\frac{P(X|Y=0)}{P(X|Y=1)}&=\frac1{2}(X-\mu_2)^T\Sigma^{-1}(X-\mu_2)-\frac1{2}(X-\mu_1)^T\Sigma^{-1}(X-\mu_1)\\ &=\frac1{2}(X^T-\mu_2^T)\Sigma^{-1}(X-\mu_2)-\frac1{2}(X^T-\mu_1^T)\Sigma^{-1}(X-\mu_1)\\ &=X^T(\Sigma^{-1}\mu_1-\Sigma^{-1}\mu_2)+\frac12(\mu_2^T\Sigma^{-1}\mu_2-\mu_1^T\Sigma^{-1}\mu_1) \end{aligned}
lnP(X∣Y=1)P(X∣Y=0)=21(X−μ2)TΣ−1(X−μ2)−21(X−μ1)TΣ−1(X−μ1)=21(XT−μ2T)Σ−1(X−μ2)−21(XT−μ1T)Σ−1(X−μ1)=XT(Σ−1μ1−Σ−1μ2)+21(μ2TΣ−1μ2−μ1TΣ−1μ1)
令
W
=
Σ
−
1
μ
1
−
Σ
−
1
μ
2
,
b
=
1
2
(
μ
2
T
Σ
−
1
μ
2
−
μ
1
T
Σ
−
1
μ
1
)
+
ln
1
−
π
π
W=\Sigma^{-1}\mu_1-\Sigma^{-1}\mu_2,b=\frac12(\mu_2^T\Sigma^{-1}\mu_2-\mu_1^T\Sigma^{-1}\mu_1)+\ln\frac{1-\pi}{\pi}
W=Σ−1μ1−Σ−1μ2,b=21(μ2TΣ−1μ2−μ1TΣ−1μ1)+lnπ1−π,则
P
(
Y
=
1
∣
X
)
=
1
1
+
exp
(
W
T
X
+
b
)
P(Y=1|X)=\frac1{1+\exp(W^TX+b)}
P(Y=1∣X)=1+exp(WTX+b)1
进而有
P
(
Y
=
0
∣
X
)
=
exp
(
W
T
X
+
b
)
1
+
exp
(
W
T
X
+
b
)
P(Y=0|X)=\frac{\exp(W^TX+b)}{1+\exp(W^TX+b)}
P(Y=0∣X)=1+exp(WTX+b)exp(WTX+b)
进而
P
(
Y
=
0
∣
X
)
P
(
Y
=
1
∣
X
)
=
exp
(
W
T
X
+
b
)
ln
P
(
Y
=
0
∣
X
)
P
(
Y
=
1
∣
X
)
=
W
T
X
+
b
\frac{P(Y=0|X)}{P(Y=1|X)}=\exp(W^TX+b)\\\ln\frac{P(Y=0|X)}{P(Y=1|X)}=W^TX+b
P(Y=1∣X)P(Y=0∣X)=exp(WTX+b)lnP(Y=1∣X)P(Y=0∣X)=WTX+b
也可以推出逻辑回归是线性分类器。
7.1 拓展:更多的类
y
∈
{
y
1
,
…
,
y
R
}
y\in \{y_1,\dots,y_R\}
y∈{y1,…,yR},学习
R
−
1
R-1
R−1类权重参数。
若
k
<
R
k<R
k<R,
P
(
Y
=
y
k
∣
X
)
=
exp
(
w
k
0
+
∑
i
=
1
n
w
k
i
X
i
)
1
+
∑
j
=
1
R
−
1
exp
(
w
j
0
+
∑
i
=
1
n
w
j
i
X
i
)
P(Y=y_k|X)=\frac{\exp(w_{k0}+\sum_{i=1}^nw_{ki}X_i)}{1+\sum_{j=1}^{R-1}\exp(w_{j0}+\sum_{i=1}^nw_{ji}X_i)}
P(Y=yk∣X)=1+∑j=1R−1exp(wj0+∑i=1nwjiXi)exp(wk0+∑i=1nwkiXi)
若
k
=
R
k=R
k=R,
P
(
Y
=
y
R
∣
X
)
=
1
1
+
∑
j
=
1
R
−
1
exp
(
w
j
0
+
∑
i
=
1
n
w
j
i
X
i
)
P(Y=y_R|X)=\frac{1}{1+\sum_{j=1}^{R-1}\exp(w_{j0}+\sum_{i=1}^nw_{ji}X_i)}
P(Y=yR∣X)=1+∑j=1R−1exp(wj0+∑i=1nwjiXi)1
7.2 条件最大似然估计(MCLE)
为了让最后求解的结果和课件中保持一致,我们对上面的表达形式做出修改
P
(
Y
=
0
∣
X
,
W
)
=
1
1
+
exp
(
w
0
+
∑
i
=
1
n
w
i
X
i
)
P
(
Y
=
1
∣
X
,
W
)
=
exp
(
w
0
+
∑
i
=
1
n
w
i
X
i
)
1
+
exp
(
w
0
+
∑
i
=
1
n
w
i
X
i
)
P(Y=0|X,W)=\frac1{1+\exp(w_0+\sum_{i=1}^nw_iX_i)}\\P(Y=1|X,W)=\frac{\exp(w_0+\sum_{i=1}^nw_iX_i)}{1+\exp(w_0+\sum_{i=1}^nw_iX_i)}
P(Y=0∣X,W)=1+exp(w0+∑i=1nwiXi)1P(Y=1∣X,W)=1+exp(w0+∑i=1nwiXi)exp(w0+∑i=1nwiXi)
显然,修改之后的形式和之前的式子等价。
条件最大似然
W
M
C
L
E
=
arg
max
W
∏
l
P
(
Y
l
∣
W
,
X
l
)
W_{MCLE}=\arg \max_W \prod_lP(Y^l|W,X^l)
WMCLE=argWmaxl∏P(Yl∣W,Xl)
现在,我们需要选择一个向量
w
w
w,来最大化这个条件似然值。
l
(
W
)
=
ln
∏
l
P
(
Y
l
∣
X
l
,
W
)
=
∑
l
ln
P
(
Y
l
∣
X
l
,
W
)
=
∑
l
Y
l
ln
P
(
Y
l
=
1
∣
X
l
,
W
)
+
(
1
−
Y
l
)
ln
P
(
Y
l
=
0
∣
X
l
,
W
)
=
∑
l
Y
l
ln
P
(
Y
l
=
1
∣
X
l
,
W
)
P
(
Y
l
=
0
∣
X
l
,
W
)
+
ln
P
(
Y
l
=
0
∣
X
l
,
W
)
=
∑
l
Y
l
(
w
0
+
∑
i
=
1
n
w
i
X
i
l
)
−
ln
(
1
+
exp
(
w
0
+
∑
i
=
1
n
w
i
X
i
l
)
)
\begin{aligned} l(W)&=\ln\prod_lP(Y^l|X^l,W)=\sum_l\ln P(Y^l|X^l,W)\\ &=\sum_lY^l\ln P(Y^l=1|X^l,W)+(1-Y^l)\ln P(Y^l=0|X^l,W)\\ &=\sum_lY^l\ln \frac{P(Y^l=1|X^l,W)}{P(Y^l=0|X^l,W)}+\ln P(Y^l=0|X^l,W)\\ &=\sum_lY^l(w_0+\sum_{i=1}^nw_iX_i^l)-\ln(1+\exp(w_0+\sum_{i=1}^nw_iX_i^l)) \end{aligned}
l(W)=lnl∏P(Yl∣Xl,W)=l∑lnP(Yl∣Xl,W)=l∑YllnP(Yl=1∣Xl,W)+(1−Yl)lnP(Yl=0∣Xl,W)=l∑YllnP(Yl=0∣Xl,W)P(Yl=1∣Xl,W)+lnP(Yl=0∣Xl,W)=l∑Yl(w0+i=1∑nwiXil)−ln(1+exp(w0+i=1∑nwiXil))
很遗憾,它没有解析解。我们需要通过梯度上升法求出近似解(也可以先取相反数,然后利用梯度下降法求解,得到的结果相同)。
∂
l
(
W
)
∂
w
i
=
∑
l
X
i
l
(
Y
l
−
exp
(
w
0
+
∑
i
=
1
n
w
i
X
i
l
)
1
+
exp
(
w
0
+
∑
i
=
1
n
w
i
X
i
l
)
)
=
∑
i
X
i
l
(
Y
l
−
P
(
Y
l
=
1
∣
X
l
,
W
)
)
w
i
←
w
i
+
η
∂
l
(
W
)
∂
w
i
\begin{aligned} \frac{\partial{l(W)}}{\partial w_i}&=\sum_lX_i^l(Y^l-\frac{\exp(w_0+\sum_{i=1}^nw_iX_i^l)}{1+\exp(w_0+\sum_{i=1}^nw_iX_i^l) })\\ &=\sum_iX_i^l(Y^l-P(Y^l=1|X^l,W)) \end{aligned}\\w_i \leftarrow w_i+\eta\frac{\partial{l(W)}}{\partial w_i}
∂wi∂l(W)=l∑Xil(Yl−1+exp(w0+∑i=1nwiXil)exp(w0+∑i=1nwiXil))=i∑Xil(Yl−P(Yl=1∣Xl,W))wi←wi+η∂wi∂l(W)
7.3 MAP
MAP相当于增加了一个先验,假设
W
∽
N
(
0
,
σ
I
)
W\backsim N(0,\sigma I)
W∽N(0,σI),那么
W
←
arg
max
W
ln
[
P
(
W
)
∏
l
P
(
Y
l
∣
X
l
,
W
)
]
w
i
←
w
i
−
η
λ
w
i
+
η
∑
i
X
i
l
(
Y
l
−
P
(
Y
l
=
0
∣
X
l
,
W
)
)
W \leftarrow \arg \max_W \ln[P(W)\prod_lP(Y^l|X^l,W)]\\w_i \leftarrow w_i-\eta\lambda w_i+\eta\sum_iX_i^l(Y^l-P(Y^l=0|X^l,W))
W←argWmaxln[P(W)l∏P(Yl∣Xl,W)]wi←wi−ηλwi+ηi∑Xil(Yl−P(Yl=0∣Xl,W))
其中
λ
>
0
\lambda >0
λ>0,
η
\eta
η是学习率。
上式中的正则项其实就是由先验分布得到的(正则项前面的负号来自于高斯分布
e
e
e指数上的负号),加入正则项可以让
W
W
W中的元素尽量接近于0,从而有效避免模型的过拟合。
7.4 补充:KL距离
从KL距离的角度,可以得出与条件似然估计相似的结果。
假设
p
p
p是
X
X
X和
Y
Y
Y的真实分布,
q
q
q是逻辑回归估计的分布,则
p
(
Y
=
1
∣
X
)
p(Y=1|X)
p(Y=1∣X)和
p
(
Y
=
0
∣
X
)
p(Y=0|X)
p(Y=0∣X)这两个概率值一个为1一个为0,且
q
(
Y
=
1
∣
X
)
=
1
1
+
exp
(
w
T
x
)
q
(
Y
=
0
∣
X
)
=
1
−
q
(
Y
=
1
∣
X
)
\begin{aligned} q(Y=1|X)&=\frac1{1+\exp(w^Tx)}\\ q(Y=0|X)&=1-q(Y=1|X) \end{aligned}
q(Y=1∣X)q(Y=0∣X)=1+exp(wTx)1=1−q(Y=1∣X)
我们计算
p
p
p和
q
q
q的KL距离(化简时需要注意到
p
p
p分布的信息熵是0)
D
K
L
(
p
(
Y
)
∣
∣
q
(
Y
)
)
=
∑
Y
p
(
Y
)
log
p
(
Y
)
q
(
Y
)
=
∑
Y
p
(
Y
)
log
1
q
(
Y
)
−
∑
Y
p
(
Y
)
log
1
p
(
Y
)
=
−
∑
Y
p
(
Y
)
log
q
(
Y
)
=
∑
l
−
Y
l
log
1
1
+
exp
(
w
T
x
)
−
(
1
−
Y
l
)
log
exp
(
w
T
x
)
1
+
exp
(
w
T
x
)
\begin{aligned} D_{KL}(p(Y)||q(Y))&=\sum_Yp(Y)\log\frac{p(Y)}{q(Y)}\\ &=\sum_Yp(Y)\log\frac1{q(Y)}-\sum_Yp(Y)\log\frac1{p(Y)}\\ &=-\sum_Yp(Y)\log q(Y)\\ &=\sum_l-Y^l\log\frac1{1+\exp(w^Tx)}-(1-Y^l)\log\frac{\exp(w^Tx)}{1+\exp(w^Tx)} \end{aligned}
DKL(p(Y)∣∣q(Y))=Y∑p(Y)logq(Y)p(Y)=Y∑p(Y)logq(Y)1−Y∑p(Y)logp(Y)1=−Y∑p(Y)logq(Y)=l∑−Yllog1+exp(wTx)1−(1−Yl)log1+exp(wTx)exp(wTx)
这便是逻辑回归的损失函数。
哈工大机器学习复习笔记(一)
哈工大机器学习复习笔记(二)
哈工大机器学习复习笔记(三)
哈工大机器学习复习笔记(四)