本系列为《模式识别与机器学习》的读书笔记。
一,概率生成式模型
⾸先考虑⼆分类的情形。类别 C1 的后验概率可以写成
p(C1∣x)=p(x∣C1)p(C1)+p(x∣C2)p(C2)p(x∣C1)p(C1)=1+exp(−a)1=σ(a)(4.36)
其中,
a=lnp(x∣C2)p(C2)p(x∣C1)p(C1)
σ(a) 称之为 logistic sigmoid
函数 。
如图4.12,logistic sigmoid
函数 σ(a) 的图像, ⽤红⾊表⽰,同时给出的是放缩后的逆probit
函数 Φ(λa) 的图像, 其中 λ2=8π , ⽤蓝⾊曲线表⽰。

logistic sigmoid
函数 在许多分类算法中都有着重要的作⽤,满⾜下⾯的对称性
σ(−a)=1−σ(a)(4.37)
logistic sigmoid
的反函数为
a=ln(1−σσ)(4.38)
被称为 logit
函数。它表⽰两类的概率⽐值的对数 ln[p(C2∣x)p(C1∣x)] ,也被称为 log odds
函数 。
对于 K>2 个类别的情形,有
p(Ck∣x)=∑jp(x∣Cj)p(Cj)p(x∣Ck)p(Ck)=∑jexp(aj)exp(ak)(4.39)
被称为归⼀化指数(normalized exponential
),也叫 softmax
函数 ,可以被当做logistic sigmoid
函数对于多类情况的推⼴。其中, ak 被定义为
ak=lnp(x∣Ck)p(Ck)
如果对于所有的 j=k 都有 ak≫aj ,那么 p(Ck∣x)≃1 且 p(Cj∣x)≃0。
1,连续输⼊
假设类条件概率密度是⾼斯分布,然后求解后验概率的形式。假定所有的类别的协⽅差矩阵相同,这样类别 Ck 的类条件概率为
p(x∣Ck)=(2π)2D1∣Σ∣211exp{−21(x−μk)TΣ−1(x−μk)}(4.40)
⾸先考虑两类的情形。根据公式(4.36),有
p(C1∣x)=σ(wTx+w0)(4.41)
其中,
w=Σ−1(μ1−μ2)w0=−21μ1TΣ−1μ1+21μ2TΣ−1μ2+lnp(C2)p(C1)
如图4.13,左图给出了两个类别的类条件概率密度,分别⽤红⾊和蓝⾊表⽰。 右图给出了对应的后验概率分布 p(C1∣x) , 它由 x 的线性函数的 logistic sigmoid
函数给出。 右图的曲⾯的颜⾊中, 红⾊所占的⽐例由 p(C1∣x) 给出,蓝⾊所占的⽐例由 p(C2∣x)=1−p(C1∣x) 给出。

对于 K 个类别的⼀般情形,根据公式(4.39),有
ak(x)=wkTx+wk0(4.42)
其中,
wk=Σ−1μkwk0=−21μkTΣ−1μk+lnp(Ck)
如图4.14,左图给出了三个类别的类条件概率密度,每个都是⾼斯分布,分别⽤红⾊、绿⾊、蓝⾊表⽰,其中红⾊和绿⾊的类别有相同的协⽅差矩阵。右图给出了对应的后验概率分布,其中 RGB 的颜⾊向量表⽰三个类别各⾃的后验概率。决策边界也被画出。注意,具有相同协⽅差矩阵的红⾊类别和绿⾊类别的决策边界是线性的,⽽其他类别之间的类别的决策边界是⼆次的。

2,最⼤似然解
⾸先考虑两类的情形,每个类别都有⼀个⾼斯类条件概率密度,且协⽅差矩阵相同。假设有⼀个数据集 {xn,tn} ,其中 n=1,…,N 。这⾥ tn=1 表⽰类别 C1 ,tn=0 表⽰类别 C2 。 把先验概率记作 p(C1)=π , 从⽽ p(C2)=1−π 。 对于⼀个来⾃类别 C1 的数据点 xn , 有 tn=1 ,因此
p(xn,C1)=p(C1)p(xn∣C1)=πN(xn∣μ1,Σ)
类似地,对于类别 C2 ,有 tn=0 ,因此
p(xn,C2)=p(C2)p(xn∣C2)=(1−π)N(xn∣μ2,Σ)
于是似然函数为
p(t,X∣π,μ1,μ2,Σ)=n=1∏N[πN(xn∣μ1,Σ)]tn[(1−π)N(xn∣μ2,Σ)]1−tn(4.43)
其中,t=(t1,…,tn)T 。
⾸先考虑关于 π 的最⼤化,对数似然函数中与 π 相关的项为
n=1∑N{tnlnπ+(1−π)ln(1−π)}
令其关于 π 的导数等于零,整理,可得
π=N1n=1∑Ntn=NN1=N1+N2N1(4.44)
其中 N1 表⽰类别 C1 的数据点的总数,⽽ N2 表⽰类别 C2 的数据点总数。
现在考虑关于 μ1 的最⼤化,把对数似然函数中与 μ1 相关的量挑出来,即
n=1∑NtnlnN(xn∣μ1,Σ)=−21n=1∑Ntn(xn−μ1)TΣ−1(xn−μ1)+常数(4.45)
令它关于 μ1 的导数等于零,整理可得
μ1=N11n=1∑Ntnxn(4.46)
通过类似的推导,对应的 μ2 的结果为
μ2=N21n=1∑N(1−tn)xn(4.47)
最后,考虑协⽅差矩阵 Σ 的最⼤似然解。选出与 Σ 相关的项,有
−21∑n=1Ntnln∣Σ∣−21∑n=1Ntn(xn−μ1)TΣ−1(xn−μ1)−21∑n=1N(1−tn)ln∣Σ∣−21∑n=1N(1−tn)(xn−μ2)TΣ−1(xn−μ2)=−21ln∣Σ∣−2NTr{Σ−1S}(4.48)
其中,
S=NN1S1+NN2S2S1=N11n∈C1∑(xn−μ1)(xn−μ1)TS2=N21n∈C2∑(xn−μ2)(xn−μ2)T
使⽤⾼斯分布的最⼤似然解的标准结果,我们看到 Σ=S ,它表⽰对⼀个与两类都有关系的协⽅差矩阵求加权平均。
3,离散特征
⾸先考察⼆元特征值 xi∈{0,1} ,如果有 D 个输⼊,那么⼀般的概率分布会对应于⼀个⼤⼩为 2D 的表格,包含 2D−1 个独⽴变量(由于要满⾜加和限制)。由于这会 随着特征的数量指数增长,因此我们想寻找⼀个更加严格的表⽰⽅法。这⾥,我们做出朴素贝叶斯(naive Bayes
)的假设,这个假设中,特征值被看成相互独⽴的,以类别 Ck 为条件。因此得到类条件分布,形式为
p(x∣Ck)=i=1∏Dμkixi(1−μki)1−xi(4.49)
其中对于每个类别,都有 D 个独⽴的参数,有
ak(x)=i=1∑D{xilnμki+(1−xi)ln(1−μki)}+lnp(Ck)(4.50)
这是输⼊变量 xi 的线性函数。
4,指数族分布
使⽤指数族分布的形式,可以看到 x 的分布可以写成
p(x∣λk)=h(x)g(λk)exp{λkTμ(x)}(4.51)
现在把注意⼒集中在 μ(x)=x 这种分布上,引⼊⼀个缩放参数 s,这样就得到了指数族类条件概率分布的⼀个⼦集
p(x∣λk,s)=s1h(s1x)g(λk)exp{s1λkTx}(4.52)
注意让每个类别有⾃⼰的参数向量 λk ,并且假定各个类别有同样的缩放参数 s 。
对于⼆分类问题,把这个类条件概率密度的表达式代⼊相关公式,计算后可得后验概率是⼀个作⽤在线性函数 a(x) 上的logistic sigmoid
函数。a(x) 的形式为
a(x)=s1(λ1−λ2)Tx+lng(λ1)−lng(λ2)+lnp(C1)−lnp(C2)(4.53)
类似地,对于 K 类问题,有
ak(x)=s1(λk)Tx+lng(λk)+lnp(Ck)(4.54)
这又是⼀个 x 的线性函数。
如图4.15,线性分类模型的⾮线性基函数的作⽤的说明。下图给出了原始的输⼊空间 (x1,x2) 以及标记为红⾊和蓝⾊的数据点。这个空间中定义了两个“⾼斯”基函数 ϕ1(x) 和 ϕ2(x) ,中⼼⽤绿⾊⼗字表⽰,轮廓线⽤绿⾊圆形表⽰。

如图4.16,对应图4.15中的特征空间 (ϕ1,ϕ2) 以及线性决策边界。

二,贝叶斯logistics
回归
对于logistic
回归,精确的贝叶斯推断是⽆法处理的。特别地,计算后验概率分布需要对先验概率分布于似然函数的乘积进⾏归⼀化,⽽似然函数本⾝由⼀系列logistic sigmoid
函数的乘积组成,每个数据点都有⼀个logistic sigmoid
函数,对于预测分布的计算类似地也是⽆法处理的。
1, 拉普拉斯近似
由于寻找后验概率分布的⼀个⾼斯表⽰,因此在开始的时候选择⾼斯先验是很⾃然的。故把⾼斯先验写成⼀般的形式
p(w)=N(w∣m0,S0)(4.98)
其中 m0 和 S0 是固定的超参数。 w 的后验概率分布为
p(w∣t)∝p(w)p(t∣w)
其中 t=(t1,…,tN)T 。两侧取对数,然后代⼊先验分布,对于似然函数,有
lnp(w∣t)=−21(w−m0)TS0−1(w−m0)+n=1∑N{tnlnyn+(1−tn)ln(1−yn)}+常数(4.99)
其中 yn=σ(wTϕn) 。为了获得后验概率的⾼斯近似,⾸先最⼤化后验概率分布,得到MAP
(最⼤后验)解 wWAP ,定义了⾼斯分布的均值,这样协⽅差就是负对数似然函数的⼆阶导数矩阵的逆矩阵,形式为
SN−1=−∇∇lnp(w∣t)=S0−1+n=1∑Nyn(1−yn)ϕnϕnT(4.100)
后验概率分布的⾼斯近似的形式为
q(w)=N(w∣wMAP,SN)(4.101)
2, 预测分布
给定⼀个新的特征向量 ϕ(x) ,类别 C1 的预测分布可以通过对后验概率 p(w∣t) 积分,后验概率本⾝由⾼斯分布 q(w) 近似,即
p(C1∣ϕ,t)=∫p(C1∣ϕ,w)p(w∣t)dw≃∫σ(wTϕ)q(w)dw(4.102)
且类别 C2 的对应的概率为 p(C2∣ϕ,t)=1−p(C1∣ϕ,t) 。为了计算预测分布,⾸先注意到函数 σ(wTϕ) 对于 w 的依赖只通过它在 ϕ 上的投影⽽实现。记 a=wTϕ,有
σ(wTϕ)=∫δ(a−wTϕ)σ(a)da
其中 δ(⋅) 是 狄拉克Delta
函数 。由此有
∫σ(wTϕ)q(w)dw=∫σ(a)p(a)da(4.103)
其中,
p(a)=∫δ(a−wTϕ)q(w)dw
计算 p(a) :注意到Delta
函数给 w 施加了⼀个线性限制,因此在所有与 ϕ 正交的⽅向上积分,就得到了联合概率分布 q(w) 的边缘分布。
通过计算各阶矩然后交换 a 和 w 的积分顺序的⽅式计算均值和协⽅差,即
μa=E[a]=∫p(a)ada=∫q(w)wTϕdw=wWAPTϕ(4.104)
σa2=var[a]=∫p(a){a2−E[a]2}da=∫q(w){(wTϕ)2−(mNTϕ)2}dw=ϕTSNϕ(4.105)
注意,a 的分布的函数形式与线性回归模型的预测分布相同, 其中噪声⽅差被设置为零。因此对于预测分布的近似变成了
p(C1∣t)=∫σ(a)p(a)da=∫σ(a)N(a∣μa,σa2)da(4.106)
使⽤ 逆probit
函数 的⼀个优势是:它与⾼斯的卷积可以⽤另⼀个逆probit
函数解析地表⽰出来。 特别地,可以证明
∫Φ(λa)N(a∣μ,σ2)da=Φ((λ−2+σ2)21μ)(4.107)
现在将逆probit
函数的近似 σ(a)≃Φ(λa) 应⽤于这个⽅程的两侧, 得到下⾯的对于logistic sigmoid
函数与⾼斯的卷积近似
∫σ(a)N(a∣μ,σ2)da≃σ(κ(σ2)μ)(4.108)
其中,
κ(σ2)=(1+8πσ2)−21
得到了近似的预测分布,形式为
p(C1∣ϕ,t)=σ(κ(σa2)μa)(4.109)