PRML读书笔记(二)

二值变量

伯努利分布

对于 x{0,1},p(x=1|μ)=μ x 的概率分布有

Bern(x|μ)E[x]var[x]===μx(1μ)1xμμ(1μ)

假设一个数据集 D={x1,x2,,xN} xi 服从伯努利分布,并且独立同分布,那么

p(D|μ)=n=1Nμxn(1μ)1xn(1)

我们能够通过最大化似然函数来求解 μ

lnp(D|μ)lnpμμMLμML====n=1Nxnlnμ+(1xn)ln(1μ)01Nn=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μ)Nm(2)

(Nm)E[m]var[m]===N!(Nm)!m!NμNμ(1μ)

以上关于期望与方差的计算可以重新计算,或者用第一章习题1.10的结论直接得出。

贝塔分布

前面我们知道最大似然函数会容易过拟合,那么可以用贝叶斯分析来减小这个问题,但是之前我们先介绍一下贝塔分布

Beta(μ|a,b)=Γ(a+b)Γ(a)Γ(b)μa1(1μ)b1(3)

Γ(x)E[μ]var[μ]===0μx1expμdμaa+bab(a+b)2(a+b+1)

其中 a,b 是超参数,当 a,b 取不同值时,分布图如下所示:

PRML读书笔记(二)_第1张图片

贝叶斯分析

贝叶斯公式: p(y|x)p(x|y)p(y)

为了使过程简化,我们希望后验概率 p(y|x) 与先验概率 p(y) 有同样的形式,这个先验被称为共轭先验(conjugate prior)。对于抛硬币问题(服从伯努利分布),由式(2)我们知道似然函数 p(m|N,μ)μm(1μ)Nm ,那么我们可以取贝塔分布作为共轭先验,那么

p(μ|m,l,a,b)m+lp(μ|m,l,a,b)p(x=1|D)======μm+a1(1μ)l+b1NΓ(a+b+l+m)Γ(a+m)Γ(b+l)μa+m1(1μ)b+l110p(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 越来越大时,先验知识就会被逐渐弱化, limNa+ma+m+b+lmN ,最大后验与最大似然具有相同的预测值。但是对于数据量较少的应用,使用最大后验往往会比最大似然要好。

而且最大后验能够充当下一次观测数据的先验知识,从而达到顺序学习(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+m01(1μ)b0+l01Beta(μ|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+m11(1μ)b0+l0+l11Beta(μ|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=1Nk=1Kμxnkkk=1KμNn=1(xnk)kk=1Kμmkk

求其最大值与二值变量是基本类似的,只是多了一个约束条件 Kk=1μk=1 ,我们可以用拉格朗日乘子法来进行求解

L(μ,λ)Lμkmkμk+λμkLλλμk=======k=1Kmklnμk+λ(k=1Kμk1)00mk/λ0NmkN

多项式分布

Mult(m1,m2,,mK|μ,N)(Nm1m2K)k=1Kmk=N==(Nm1m2K)k=1KμmkkN!m1!m2!mK!

 狄利克雷(Dirichlet)分布

多项分布的共轭先验是狄利克雷分布,如下

p(μ|α)Dir(μ|α)α0==k=1Kμαk1kΓ(α0)Γ(α1)Γ(αK)k=1Kμαk1kk=1Kαk

那么多项分布的后验

p(μ|D,α)p(μ|D,α)=p(D|μ)p(μ|α)k=1Kμαk+mk1kΓ(α0+N)Γ(α1+m1)Γ(αK+mK)k=1Kμαk+mk1k

以上都是离散变量的分布,下面介绍连续型变量中最常用的分布,高斯(Gaussian)分布

高斯分布

对于单一变量: N(x|μ,σ2)=12πσ2exp{(xμ)22σ2}

对于D维向量 x N(x|μ,Σ)=1(2π)D/2|Σ|1/2exp{12(xμ)TΣ1(xμ)} ,其中 μ,Σ 分别是D维均值向量和 D×D 协方差矩阵, |Σ| 是协方差矩阵的行列式。

对于单一变量,使其熵最大化的分布是高斯分布(PRML p54),这个性质同样适用于多元(multivariate)高斯分布。中心极限定理告诉我们独立同分布的随机变量序列的和近似高斯分布。

PRML读书笔记(二)_第2张图片

下面考虑一下高斯分布的几何形态

Δ2=(xμ)TΣ1(xμ)

概率相等的点分布在一个 x 空间的曲面上。 需要注意的是 Σ 是一个对称矩阵,那么其特征向量形成一个正交向量集

ΣuiuTiujΣΣ1yi=uTi(xμ)Δ2y=(y1,,yD)Ty======λiuiIiji=1DλiuTiuii=1D1λiuiuTii=1Dy2iλiU(xμ)

其中: U 第i行为 uTi UTU=I

PRML读书笔记(二)_第3张图片

对于当前的高斯分布,协方差矩阵的特征值 λi 必须严格正(全部大于0),否则不能够合适地规范化,之后我们可能会遇到有些特征值为0的高斯分布,这些分布能够限制在更低的维度空间上。

之前我们考虑的是高斯分布的几何形态,由第一章p18我们知道 p(y)=px(g(y))|g(y)|,x=g(y) ,那么先求高斯分布 x 关于 y 的导数

yiJij|J|2===uTi(xμ)xixj=Uij|UTU|=|I|=1

而对称矩阵的行列式等于其特征值的连乘: |Σ|1/2=Dj=1λ1/2j ,那么
p(y)=p(x)|J|=j=1D12πλjexp{y2j2λj}

多元高斯分布的期望与协方差

E[x]E[xxT]cov[x]==z=xμ=odd===z=xμ=odd==yi=uiTz====1(2π)D/2|Σ|1/2xexp{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/2xxTexp{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/2zzTexp{12zTΣ1z}dzμμT+1(2π)D/2|Σ|1/2i=1Dj=1DuiuTjexp{k=1Dy2k2λk}yiyjdyμμT+i=1DλiuiuTiμμT+ΣE[(xE[x])(xE[x])T]Σ

μ,Σ 共同控制了高斯分布的形态,在D维空间中,一般情况下, μ 有D个参数,而 Σ D(D+1)/2 个参数(对称矩阵),那么为了决定一个高斯分布的形态我们要有 D(D+3)/2 个参数。对于低维空间来说这个参数是可以接受的;但是对于非常大的 D ,计算量就会变得十分昂贵(协方差的逆矩阵)。

一个方法是限制协方差矩阵的形态:1. Σ=diag(σ2i) ,此时只有 2D 个参数;2. Σ=σ2I ,此时有 D+1 个参数。

PRML读书笔记(二)_第4张图片

由上图知道,虽然限制协方差矩阵的形态能够使计算协方差矩阵的逆更加快速,但是这也限制了高斯函数的分布从而影响高斯分布拟合数据的能力。

条件高斯分布与边缘高斯分布

条件高斯分布与边缘高斯分布的推导可以参考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,L1)N(y|Aμ+b,L1+AΛ1AT)N(y|Σ{ATL(yb)+Λμ},Σ)(Σ+ALA)1

需要注意的是,书中的推导是先求出 p(x,y) ,然后再根据高斯条件分布与高斯边缘分布的结论直接得出 p(y),p(x|y)

高斯分布的最大似然

X={x1,,xN},{xn} 独立同分布。

lnp(X|μ,Σ)lnpμ=00μMLlnpΣ=00ΣML=====ND2ln(2π)N2ln|Σ|+12n=1N(xnμ)TΣ1(xnμ)12n=1T{Σ1(xnμ)+{(xnμ)Σ1}T}1Nn=1NxnN2Σ112n=1T{(xnμ)(xnμ)T(Σ2)}1Nn=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[1Nn=1Nxn]E[x+y]=E[x]+E[y]1Nn=1NE[xn]=μE[xnxm]=μ2+σ2InmN1NΣ

顺序估计(sequential estimation)

首先对于高斯分布的均值(mean)估计: μML=1NNn=1xn

μNML====1Nn=1Nxn1NxN+1Nn=1N1xn1NxN+N1NμN1MLμN1ML+1N(xNμN1ML)

在我们估计了 N1 个观测值的

你可能感兴趣的:(机器学习)