Dirchlet分布

标签: 机器学习 LDA 概率论 Dirchlet分布

1.二项分布

1.1两点分布(伯努利分布)

一个二元随机变量 x{0,1} ,比如x可能描述一个射击实验的结果,x=1表示射中,x=0,表示未射中。x=1的概率被记为参数 μ ,因此有

p(x=1μ)=μ

其中 0μ1 可以得出 p(x=0μ)=1μ ,所以x的概率分布可以写成
Bern(xμ)=μx(1μ)1x

这里说明有时候会看到 p(x=1;μ) 这种概率的表示方法就是频率学派的观点, μ 被看成是真正的未知的参数,是个定值。而 p(x=1μ) 这种记法是贝叶斯学派的观点,把 μ 被看成是未知的随机变量。

1.2二项分布

伯努利实验独立重复多次,获得观测的数据集 ={x1,...xN} 。该数据集是独立的从 p(xμ) 中抽取x的观测值,相同过观测到的数据集(中靶次数)来预测 μ 的值,用最大似然估计,先写出最大似然函数:

p(μ)=n=1Np(xnμ)=n=1Nμxn(1u)1xn

对数似然函数为:
lnp(μ)=n=1Nlnp(xnμ)=n=1N{xnlnμ+(1xn)ln(1μ)}

使得对数似然最大
μML=1Nn=1Nxn

对x=1(中靶次数)的观测数量计数为m,则有
μML=mN

此时如果N=m=3,则 μML=1 显然是不合理的。这是频率学派估计参数的方式,下面来看看贝叶斯学派如何解决这个问题。
正式的二项分布可以是写成
Bin(mN,μ)=(Nm)um(1μ)Nm

2.Beta分布

2.1Beta分布

前文已经说了,贝叶斯学派把 μ 当做是随机变量,自然会思考这个随机变量服从什么样分布,这个分布其实就是通常说的先验分布,先验分布一般会选择我们所求分布的共轭分布。注意到似然函数是某个因子与 μx(1μ)1x 的乘积的形式。如果我们选择一个正比于μ和(1 − μ)的幂指数的先验概率分布, 那么后验概率分布(正比于先验和似然函数的乘积)就会有着与先验分布相同的函数形式。这个性质被叫做共轭性(conjugacy)。Beta分布刚好满足条件,

Beta(μα,β)=Γ(α+β)Γ(α)+Γ(β)μα1(1μ)β1

其中
Γ(x)0μx1eμdμ

有性质 Γ(x+1)=x Γ(x+1)=xΓ(x)
Beta分布前的系数不过是为了让其满足归一性条件。
Beta分布的均值和方差为:

E[μ]=αα+β

var[μ]=αβ(α+β)2(α+β+1)

参数 α β 经常被称为超参数,因为他们控制了参数 μ 的概率分布。

2.2贝叶斯估计

有贝叶斯公式

p(μD)p(Dμ)p(μ)

后验概率为先验与二项似然函数相乘然后归一化,只保留依赖 μ 的因子

p(μD)Bin(mN,μ)Beta(μα,β)

p(μm,l,α,β)μm+α1(1μ)l+β1

其中 l=Nm ,即为未射中的次数。可以看到关 μ 的函数形式与先验分布相同。这反映了先验关于似然函数的共轭性质。实际上,它依然是一个Beta分布,对比Beta分布的公式,得到归一化系数,则
p(μm,l,α,β)=Γ(m+α+l+β)Γ(m+α)Γ(l+β)μm+α1(1μ)l+β1

如果我们的目标是尽可能好地预测下一次试验的输出,那么我们必须估计给定观测数据集 D 的情况下,x的预测分布。则这个预测分布的形式为
p(x=1D)=10p(x=1μ)p(μD)dx=10μp(μD)dμ=E[μD]

后验分布为Beta分布则:
p(x=1D)=m+αm+α+l+β

记住这个结论。这也可以当做参数 μ 的估计值。

2.3重点来了

1.似然函数乘上先验Beta分布后,变成的新的Beta分布是在原来Beta分布的基础上使得 α 的值变大了 m β的值变大了 l 。而m l 分别为数据集中x=1(射中)和x=0(未射中)的次数。那么完全可以把先验Beta分布的α β 看成是x=1(射中)和x=0(未射中)的次数。用这样的观点来看,就完全可以处理流式的数据(或者将大量数据不必一次性训练,而是分批导入内存训练),获得了一部分观察值后原来的后验概率就可以当做是先验分布,而新获得的数据作为似然函数,相乘的结果仍然是Beta分布,每个阶段都是Beta分布,每个阶段每当观察到一次x=1就把 α 的值增加1,而观测到x=0就把 β 增加1。从最后的公式来看,当数据越来越多,最初先验 α β 的影响也就越来越小,估计也就越来越接近真实情况(前提是原有分布不变化,采样越多越接近真实情况)。
2.从Beta分布的方差公式来看,当 α 或者 β 的方差就趋近于零,那么是不是贝叶斯学习能够有这样的性质:随着观测到是数据越来越多,后验概率表示的不确定性将持续下降。通过证明,答案是:平均情况来看是这样的,而对于特定的数据集,有可能会后验方差大于先验方差。
3.第二种理解,就是把 α β 看成是拉普拉斯平滑项。拉普拉斯平滑常见的应用场景是在朴素贝叶斯估计的时候为防止某个因素因为在训练集中未出现而导致概率为零。这里如果没有 α β 时,如果 m 为零或者l为零则会出现上文例子中提到的极端情况,而这些极端情况通常是因为数据量不足而导致的,从而导致不能够预测真实情况。所以从结果上看, α β 相当于拉普拉斯平滑项。多提一句,在LDA主题模型中,用吉布斯采样求解的方法,最后的结果其实就可以看成是加了拉普拉斯平滑后的数词。

3.多项式分布

这其实就是二项分布的推广而已

3.1多点分布

两点分布是用射击,只能取两种可能值。多点分布就是在扔骰子,它有6种互斥的可能取值。用一个向量来表示,该随机变量。假设某次特定的观测恰好对应于 x3=1 (投出了点数3)的状态,那么 x⃗  可以表示为:

x⃗ =(0,0,1,0,0,0)T

这里满足 Kk=1xk=1 ,用 μk 表示 xk=1 的概率那么 x⃗  的分布就是
p(x⃗ μ⃗ )=k=1Kμxkk

其中 μ⃗ =(u1,...,uk)T 参数 μk 要满足 uk0 kuk=1
求期望为:
E[x⃗ μ⃗ ]=xp(x⃗ μ⃗ )x⃗ =(u1,u2,...,uk)T=μ⃗ 

3.2多项分布

同二项分布一样,多点分布独立重复N次就是多项分布。(其实有时可以不必区分这么严格)
μ⃗  做参数估计,肯定是要对让多点分布独立重复N次,得到观测数据集 D 观测值分别为 x1,x2,...xN 。对应的似然函数的形式为

p(Dμ⃗ )=n=1Nk=1Kμxnkk=k=1Ku(nxnk)k=k=1Kμmkk

其中 mk=nxnk 表示 xk=1 的观测次数,这被称为这个分布的充分统计量(sufficient statistics)
为找到 μ⃗  的最大似然解,需要是关于 uk 的函数 lnp(Dμ) 最大,并且限制 μk 和必须等于1。通过拉格朗日乘子法,即最大化:
k=1Kmklnμk+λ(k=1Kμk1)

令其关于 μk 的导数等于0,则有: μk=mKλ ,有限制 kμk=1 ,则 λ=N ,因此得到最大似然解:
μMLk=mkN

就是N次观测中 xk=1 的观测所占的比例。
多项分布可以写成:
Mult(m1,m2,....,mkμ,N)=(Nm1m2...mk)k=1Kμmkk

4.Dirchlet分布

Dirchlet分布其实是Beta分布的推广,直接给出其分布形式:

Dir(μ⃗ α⃗ )=Γ(α1+α2..+αK)Γ(α1)Γ(α2)...Γ(αk)k=1Kμak1k

还是用似然函数乘以先验,得到参数 {μk} 的后验分布,形式为:
p(μ⃗ D,α⃗ )k=1Kμαk+mk1k

后验分布又成了Dirchlet分布的形式。确定归一化系数有:
p(μ⃗ D,α⃗ )=Dir(μ⃗ α⃗ +m⃗ =Γ(α1+...+αK+N)Γ(α1+m1)......Γ(αK+mK)k=1Kμαk+mk1k

其中 m⃗ =(m1,m2,....mk)T ,与Beta分布类似,Dirchlet分布的参数 αk 可以看成 xk=1 的有效观测数。
同beta分布一样,
p(xk=1D)=mk+αkm1+α1+....+mK+αK=mk+αkα1+α2+...+αK+N

该值也被当做 μk 的估计值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值