2 Probability Distributions
本章主要介绍了机器学习中常用的一些分布,以及分布的性质,包括:二元变量分布、多元变量分布、高斯分布、指数族以及非参方法(核密度方法以及最近邻方法)。
2.1 伯努利分布
设二元变量
x∈0,1
服从伯努利分布,则有伯努利分布:
Bern[x|u]=ux(1−u)1−x
该分布的期望和方差分别为:
E[x]=u
var[x]=u(1−u)
多次伯努利分布叫二项分布,即:
Bin[m|N,u]=(Nm)um(1−u)N−m
其期望和方差分别为:
E[m]=Nu
var[m]=Nu(1−u)
根据贝叶斯公式, P(Y|X)∝P(X|Y)P(Y) ,其中 P(Y) 是先验概率, P(X|Y) 是似然函数, P(Y|X) 是后验概率。为了计算方便或者其他需要,我们有时会希望先验概率和后验概率在形式上相同,因此对于一个给定的后验概率和似然函数,我们希望找出一个先验概率形式和后验概率相同,这样的先验概率叫共轭先验。这里Y一般是控制分布的参数 u ,而
二项分布的共轭先验叫beta分布,形式如下:
Beta(u│a,b)=Γ(a+b)Γ(a)Γ(b)ua−1(1−u)b−1
其中, Γ(a) 是gamma函数,即 Γ(a)=∫∞0ux−1e−udu 。Beta分布的期望和方差如下:
E[x]=aa+b
var[x]=ab(a+b)2(a+b+1)
其中, a 和
2.2 多项分布
将伯努利分布中的随机变量
x
扩展为多个离散值,则可以有如下概率:
其中, u1+u2+⋯+uK=1 且 uk>0 。其期望为:
E[x│u]=u
重复多次该实验,则称为多项分布,其分布如下:
Mult(m1,m2,…mK│N,u)=(Nm1m2…mK)∏Kk=1umkk
其中, m1+m2+⋯+mK=N 。
同二项分布一样,我们也希望为多项分布找到一个共轭先验分布,这个分布是狄利克雷分布。狄利克雷分布如下:
Beta(u│a,b)=Γ(a0)Γ(a1)…Γ(ak)∏Kk=1uak−1k
我们同样可以根据贝叶斯公式计算给定先验和似然函数的后验分布,具体公式略过。
2.3 高斯分布
这本书中高斯分布讲的比较多,主要介绍了高斯分布的性质、统计量、条件分布、边缘分布,并从贝叶斯的角度进行了一些介绍。高斯分布的形式为:
N(x│u,σ)=12π−−√σe−(x−u)22σ2
在多维下的形式为:
N(x│u,Σ)=1(2π)2D1|Σ|1/2exp{−12(x-u)TΣ−1(x-u)}
其中, u 是均值,
另外,高斯分布的期望和方差为:
E[x]=u
cov[x]=σ2
高斯分布常用来作为密度模型来拟合数据,但它也存在很多不足,例如这个分布是单峰的等,有很多其他方法来解决这一问题,例如混合高斯分布等,这将在之后提到。
2.3.1 条件分布
给定一个多维高斯分布 N(x│u,Σ) ,将该高斯分布的分量划分为 a 、
x=(xaxb)
它们的均值和方差为:
u=(uaub)
Σ=(ΣaaΣbaΣabΣbb)
则有:
ua|b=ua+ΣabΣ−1bb(xb−ub)
Σa|b=Σaa−ΣabΣ−1bbΣba
推导过程略。
2.3.2 边缘分布
同样按照2.3.1的划分方式,可以推导出高斯分布的边缘分布:
p(xa)=N(xa|ua,Σaa)
2.3.3 贝叶斯理论在高斯分布中的应用
这一小节主要解决了如下问题:给定
p(x)=N(x|u,Λ−1)
p(y|x)=N(x│Ax+b,L−1)
求 p(y) 和 p(x|y) 的分布。推导过程省略,结果是:
p(y)=N(y|Au+b,L−1+AΛ−1AT)
p(x│y)=N(x|Σ{ATL(y−b)+Λu},Σ)
其中,
Σ=(Λ+ATLA)−1
2.3.4 最大似然估计
对于高斯分布的参数,从频率学派的角度出发,可以使用最大似然估计分布的参数,即先对分布求对数,再对目标参数求导,使求导结果为0,得到解析解:
uML=1N∑Nn=1xn
ΣML=1N∑Nn=1(uML−xn)(uML−xn)T
2.3.5 序贯估计
在在线的情况下,数据不是一次到达的,而是连续地不停地到达,这需要我们在原来参数的基础上根据新来的数据连续不断地更新参数,这叫序贯估计。这里以均值为例,将最后一个数据和之前的数据分开,可以得到以下结果:
x(N)ML=u(N−1)ML+1N(xn−u(N−1)ML)
从这个公式可以看出,变量 x 的均值
这可以看做序贯估计的一个例子,对于一般的其他的参数而言,我们需要一种算法框架来实现序贯估计,其中之一叫Robbins-Monro算法。该算法的核心在于,对于联合分布 p(x,θ) 假设 f(θ) 是 x 的条件期望:
则希望寻找到一个 θ∗ 使得 f(θ∗)=0 ,即求 f(θ) 的根,为此,使用如下的迭代公式迭代:
θ(N)=θ(N−1)+aN−1z(θ(N−1))
例如在高斯分布的均值估计中, f(θ) 即对高斯分布的似然函数求导,并交换计算期望和偏导的次序,由于最大似然估计的目标也是令该式为0,故可使用Robbins-Monro算法框架。需要注意的是 aN 需满足以下条件:
limN→∞aN=0
∑∞N=1aN=∞
∑∞N=1a2N<∞
其中,第一个条件保证了变化会不断变小,最终收敛。第二个条件保证了算法不会收敛不到根的值,第三个条件保证了累积的噪声具有一个有限的方差,不会导致收敛失败。
2.3.6 高斯分布中的贝叶斯推理
该小节主要考虑的是如何寻找高斯分布的共轭先验,如果分布的方差 σ2 是已知的,则选择高斯分布作为高斯分布的共轭先验,如果分布的均值 u 是已知的,则高斯分布的共轭先验是Gamma分布:
Gamma分布的均值和方差为:
E[λ]=ab
var[λ]=ab2
对于指数族而言,把先验分布看做是有效的数据观测点是一个非常有用的假设,有效数据点的数量取决于先验分布的参数。
如果均值和方差都不知道,则高斯分布的共轭先验分布是Gaussian-gamma分布。在多维的情况下,已知方差的先验分布依旧是多维高斯分布,已知均值的先验分布则是Wishart分布,如果两者都不知道,则其共轭先验是Gaussian-Wishart分布。
由于t分布和周期分布在现阶段几乎没有用过,这里略过不做笔记,之后如果有需要再回来看。
2.3.7 混合高斯分布
高斯分布是单峰的,但数据的分布可能是多峰的,因此可以使用一种叫混合分布的方法去拟合这些数据,混合高斯分布的概率分布函数如下:
p(x)=∑Nn=1πnN(un,Σn)
其中, N(un,Σn) 是成员分布, πn 可以看成是权重,并且 ∑Nn=1πn=1 。由于求导的时候可以发现这些参数相互依赖,因此在给定数据的情况下,需要用EM算法求解。
2.4 指数族
指数族指的是这样一类函数,它们拥有如下的分布:
p(x│η)=h(x)g(η)exp{ηTu(x)}
一大批分布都可以写成该形式,包括伯努利分布,多项分布,高斯分布等。在参数估计方面,参数 η 的最大似然估计如下:
之后书上介绍了指数族的先验选取上的一些事,包括共轭先验、无信息先验。一般来说,如果先验分布的方差比较大,则该先验对后验分布的影响比较小。
2.5 非参方法
这里介绍了两种非参的概率密度估计方法,一是最邻近法,而是核方法。首先对概率分布进行离散分箱操作:
pi=niN
对应地,设一个很小的区域(一个区域对应一个箱子)中有 K 个数据点,则对于这个区域内的点而言,其概率分布可以使用期望进行估计:
那么这个区域的密度则为该区域内的所有点的概率分布之和,即区域体积乘以概率分布:
P=p(x)V
带入之前的式子,则:
p(x)=KNV
从直觉上来看,这可以看成是区域内的总概率为 K/N ,将其细分到区域内的每一个点之后得到了每一个点的概率密度。从这个式子出发,我们可以控制 K ,根据对应
2.5.1 核方法
正如上所述,核方法的重点在于在给定的 V 内得到
p(x)=KNV
形象的来说,我们可以令
K=∑Nn=1k(x−xnh)
其中, h 是控制空间大小
2.5.2 近邻方法
根据另一个思路,控制 K ,然后查看