二值变量
伯努利分布
对于 x∈{0,1},p(x=1|μ)=μ , x 的概率分布有
Bern(x|μ)E[x]var[x]===μx(1−μ)1−xμμ(1−μ)
假设一个数据集 D={x1,x2,…,xN} , xi 服从伯努利分布,并且独立同分布,那么
p(D|μ)=∏n=1Nμxn(1−μ)1−xn(1)
我们能够通过最大化似然函数来求解 μ ,
lnp(D|μ)∂lnp∂μ⇒μML⇒μML====∑n=1Nxnlnμ+(1−xn)ln(1−μ)01N∑n=1NxnmN
由于 xi∈{0,1} ,如果设 D 中 m 个值为1的观测值,那么上式可以写成
⇒μML=mN
假设我们抛一枚有损的硬币 p(x=1|μ)=μ 可以不为0.5,如果 D 有3个观测值,而且全部为1,即头部向上,那么我们由最大似然函数得到的结果就是 μML=1 ,如果我们用这个值去预测以后的结果,明显准确率会十分差,这就是所谓的过拟合。
二项分布
假设我们已经知道观测值中总共有 m 个值为1的观测值,那么对 m 的概率分布有
Bin(x|N,μ)=(Nm)μm(1−μ)N−m(2)
(Nm)E[m]var[m]===N!(N−m)!m!NμNμ(1−μ)
以上关于期望与方差的计算可以重新计算,或者用第一章习题1.10的结论直接得出。
贝塔分布
前面我们知道最大似然函数会容易过拟合,那么可以用贝叶斯分析来减小这个问题,但是之前我们先介绍一下贝塔分布
Beta(μ|a,b)=Γ(a+b)Γ(a)Γ(b)μa−1(1−μ)b−1(3)
Γ(x)E[μ]var[μ]===∫∞0μx−1exp−μdμaa+bab(a+b)2(a+b+1)
其中 a,b 是超参数,当 a,b 取不同值时,分布图如下所示:

贝叶斯分析
贝叶斯公式: p(y|x)∝p(x|y)p(y)
为了使过程简化,我们希望后验概率 p(y|x) 与先验概率 p(y) 有同样的形式,这个先验被称为共轭先验(conjugate prior)。对于抛硬币问题(服从伯努利分布),由式(2)我们知道似然函数 p(m|N,μ)∝μm(1−μ)N−m ,那么我们可以取贝塔分布作为共轭先验,那么
p(μ|m,l,a,b)m+l⇒p(μ|m,l,a,b)⇒p(x=1|D)∝======μm+a−1(1−μ)l+b−1NΓ(a+b+l+m)Γ(a+m)Γ(b+l)μa+m−1(1−μ)b+l−1∫10p(x=1|μ)p(μ|D)dμ∫10μp(μ|D)dμE[μ|D]a+ma+m+b+l
假设我们设 a=1,b=1 , D 有三个观测值,并且都为1,那么在贝叶斯分析中去预测为 45 ,直觉上至少要比最大似然函数的预测 1 要靠谱。
当 N 越来越大时,先验知识就会被逐渐弱化, limN→∞a+ma+m+b+l≃mN ,最大后验与最大似然具有相同的预测值。但是对于数据量较少的应用,使用最大后验往往会比最大似然要好。
而且最大后验能够充当下一次观测数据的先验知识,从而达到顺序学习(sequential learning),能够更好的应用于大规模数据。比如我们将 D 划分数据集大小为 N0,N1 的两个子数据集 D0,D1 ,刚开始我们观测到数据集 D1 ,先验知识为 p(μ|a0,b0) ,那么对于数据集 D0 的后验为
p(μ|m0,l0,a0,b0)==Γ(a0+b0+l0+m0)Γ(a0+m0)Γ(b0+l0)μa0+m0−1(1−μ)b0+l0−1Beta(μ|a0+m0,b0+l0)
然后我们观测到数据集
D1 ,此时以
D0 的后验作为其先验,那么同理我们有
p(μ|m1,l1,m0,l0,a0,b0)===Γ(a0+b0+l0+m0+l1+m1)Γ(a0+m0+m1)Γ(b0+l0+l1)μa0+m0+m1−1(1−μ)b0+l0+l1−1Beta(μ|a0+m0+m1,b0+l0+l1)Beta(μ|a0+m,b0+l)
这个优点能够使我们更容易的训练大规模数据。
在贝叶斯学习中,当我们观测的数据越来越多的时候,后验分布的不确定性就会越来越小。
todo
多元变量
前面一节我们介绍的是变量只有两个状态(要么是1,要么是0),当变量有多个状态的时候,我们可以扩展成 x=(0,…,1,…,0)T,∑Kk=1xk=1,p(xk)=μk ,那么
p(x|μ)=∏k=1Kμxkk
其中
μ=(μ1,…,μK)T,∑Kk=1μk=1 ,同之前的伯努利分布一样,对于
D={x1,…,xN} 的似然函数有
p(D|μ)===∏n=1N∏k=1Kμxnkk∏k=1Kμ∑Nn=1(xnk)k∏k=1Kμmkk
求其最大值与二值变量是基本类似的,只是多了一个约束条件 ∑Kk=1μk=1 ,我们可以用拉格朗日乘子法来进行求解
L(μ,λ)∂L∂μk⇒mkμk+λ⇒μk∂L∂λ⇒λ⇒μk=======∑k=1Kmklnμk+λ(∑k=1Kμk−1)00−mk/λ0−N−mkN
多项式分布
Mult(m1,m2,…,mK|μ,N)(Nm1m2⋯K)∑k=1Kmk=N==(Nm1m2⋯K)∏k=1KμmkkN!m1!m2!…mK!
狄利克雷(Dirichlet)分布
多项分布的共轭先验是狄利克雷分布,如下
p(μ|α)Dir(μ|α)α0∝==∏k=1Kμαk−1kΓ(α0)Γ(α1)⋯Γ(αK)∏k=1Kμαk−1k∑k=1Kαk
那么多项分布的后验
p(μ|D,α)p(μ|D,α)∝=p(D|μ)p(μ|α)∝∏k=1Kμαk+mk−1kΓ(α0+N)Γ(α1+m1)⋯Γ(αK+mK)∏k=1Kμαk+mk−1k
以上都是离散变量的分布,下面介绍连续型变量中最常用的分布,高斯(Gaussian)分布
高斯分布
对于单一变量: N(x|μ,σ2)=12πσ2√exp{−(x−μ)22σ2}
对于D维向量 x : N(x|μ,Σ)=1(2π)D/2|Σ|1/2exp{−12(x−μ)TΣ−1(x−μ)} ,其中 μ,Σ 分别是D维均值向量和 D×D 协方差矩阵, |Σ| 是协方差矩阵的行列式。
对于单一变量,使其熵最大化的分布是高斯分布(PRML p54),这个性质同样适用于多元(multivariate)高斯分布。中心极限定理告诉我们独立同分布的随机变量序列的和近似高斯分布。

下面考虑一下高斯分布的几何形态
Δ2=(x−μ)TΣ−1(x−μ)
概率相等的点分布在一个 x 空间的曲面上。 需要注意的是 Σ 是一个对称矩阵,那么其特征向量形成一个正交向量集
ΣuiuTiuj⇒Σ⇒Σ−1⇒yi=uTi(x−μ)Δ2⇒y=(y1,…,yD)Ty======λiuiIij∑i=1DλiuTiui∑i=1D1λiuiuTi∑i=1Dy2iλiU(x−μ)
其中:
U 第i行为
uTi ,
UTU=I

对于当前的高斯分布,协方差矩阵的特征值 λi 必须严格正(全部大于0),否则不能够合适地规范化,之后我们可能会遇到有些特征值为0的高斯分布,这些分布能够限制在更低的维度空间上。
之前我们考虑的是高斯分布的几何形态,由第一章p18我们知道 p(y)=px(g(y))|g′(y)|,x=g(y) ,那么先求高斯分布 x 关于 y 的导数
yiJij|J|2===uTi(x−μ)∂xi∂xj=Uij|UTU|=|I|=1
而对称矩阵的行列式等于其特征值的连乘:
|Σ|1/2=∏Dj=1λ1/2j ,那么
p(y)=p(x)|J|=∏j=1D12πλj−−−−√exp{−y2j2λj}
多元高斯分布的期望与协方差
E[x]E[xxT]cov[x]==z=x−μ=odd===z=x−μ=odd==yi=uiTz====1(2π)D/2|Σ|1/2∫xexp{−12(x−μ)TΣ−1(x−μ)}dx1(2π)D/2|Σ|1/2∫(z+μ)exp{−12zTΣ−1z}dz1(2π)D/2|Σ|1/2∫μexp{−12zTΣ−1z}dzμ1(2π)D/2|Σ|1/2∫xxTexp{−12(x−μ)TΣ−1(x−μ)}dx1(2π)D/2|Σ|1/2∫(z+μ)(z+μ)Texp{−12zTΣ−1z}dz1(2π)D/2|Σ|1/2∫(μμT+zzT)exp{−12zTΣ−1z}dzμμT+1(2π)D/2|Σ|1/2∫zzTexp{−12zTΣ−1z}dzμμT+1(2π)D/2|Σ|1/2∑i=1D∑j=1DuiuTj∫exp{−∑k=1Dy2k2λk}yiyjdyμμT+∑i=1DλiuiuTiμμT+ΣE[(x−E[x])(x−E[x])T]Σ
μ,Σ 共同控制了高斯分布的形态,在D维空间中,一般情况下,
μ 有D个参数,而
Σ 有
D(D+1)/2 个参数(对称矩阵),那么为了决定一个高斯分布的形态我们要有
D(D+3)/2 个参数。对于低维空间来说这个参数是可以接受的;但是对于非常大的
D ,计算量就会变得十分昂贵(协方差的逆矩阵)。
一个方法是限制协方差矩阵的形态:1. Σ=diag(σ2i) ,此时只有 2D 个参数;2. Σ=σ2I ,此时有 D+1 个参数。

由上图知道,虽然限制协方差矩阵的形态能够使计算协方差矩阵的逆更加快速,但是这也限制了高斯函数的分布从而影响高斯分布拟合数据的能力。
条件高斯分布与边缘高斯分布
条件高斯分布与边缘高斯分布的推导可以参考PRML p86。
xμΣΛ====(xaxb)(μaμb)(ΣaaΣbaΣabΣbb)(ΛaaΛbaΛabΛbb)
p(x)=p(xa,xb) ,当我们固定 xb 就得到 xa 关于 xb 的条件概率
−12(x−μ)TΣ−1(x−μ)=−12(xa−μa)TΛaa(xa−μa)−12(xa−μa)TΛab(xb−μb)−12(xb−μb)TΛba(xa−μa)−12(xb−μb)TΛbb(xb−μb)
由上面的推导我们知道,当 xb 固定时,上式是关于 xa 的二项式,因此 p(xa|xb) 是干死分布。下面介绍知道一个高斯分布的指数的二项式之后,求它的期望与协方差矩阵。
−12(x−μ)TΣ−1(x−μ)=−12xTΣ−1x+xTΣ−1μ+const
上式的const是指与 x 无关的项。根据上式我们就得到 p(xa|xb) 的均值与协方差矩阵
−12(x−μ)TΣ−1(x−μ)⇒Σ−1a|b⇒Σ−1a|bμa|b⇒μa|b=====−12(xa−μa)TΛaa(xa−μa)−12(xa−μa)TΛab(xb−μb)−12(xb−μb)TΛba(xa−μa)−12(xb−μb)TΛbb(xb−μb)−12xTaΛaaxa+xTa(Λaaμaa−Λab(xb−μb))+constΛaaΛaaμaa−Λab(xb−μb)μaa−Λ−1aaΛab(xb−μb)
条件高斯分布 p(xa|xb) 的均值是 xb 的线性函数
至于边缘函数则可以由积分求得: p(xa)=∫p(xa,xb)dxb ,与条件高斯分布的推导基本类似都是,详细请看书P88,下面只给出结果
E[xa]cov[xa]==μaΣaa
高斯条件分布 p(y|x) 的均值是 x 的线性函数那么,
p(x)p(y|x)⇒p(y)⇒p(x|y)Σ=====N(x|μ,Λ−1)N(y|Ax+b,L−1)N(y|Aμ+b,L−1+AΛ−1AT)N(y|Σ{ATL(y−b)+Λμ},Σ)(Σ+ALA)−1
需要注意的是,书中的推导是先求出 p(x,y) ,然后再根据高斯条件分布与高斯边缘分布的结论直接得出 p(y),p(x|y)
高斯分布的最大似然
X={x1,…,xN},{xn} 独立同分布。
lnp(X|μ,Σ)⇒∂lnp∂μ=00⇒μML⇒∂lnp∂Σ=00⇒ΣML=====−ND2ln(2π)−N2ln|Σ|+12∑n=1N(xn−μ)TΣ−1(xn−μ)−12∑n=1T{Σ−1(xn−μ)+{(xn−μ)Σ−1}T}1N∑n=1Nxn−N2Σ−1−12∑n=1T{(xn−μ)(xn−μ)T(−Σ−2)}1N∑n=1N(xn−μML)(xn−μML)T
由于 μML 不依赖于 ΣML ,可以先求 μML 再求 ΣML 。
E[μML]p(x,y)=p(x)p(y)E[μML]p(xm,xn)=p(xn)p(xm),p(x)∼N(x|μ,σ2)E[ΣML]=⇒=⇒=E[1N∑n=1Nxn]E[x+y]=E[x]+E[y]1N∑n=1NE[xn]=μE[xnxm]=μ2+σ2InmN−1NΣ
顺序估计(sequential estimation)
首先对于高斯分布的均值(mean)估计: μML=1N∑Nn=1xn
μNML====1N∑n=1Nxn1NxN+1N∑n=1N−1xn1NxN+N−1NμN−1MLμN−1ML+1N(xN−μN−1ML)
在我们估计了 N−1 个观测值的