参数估计
事实上,概率模型的训练过程就是参数估计(parameter estimation)过程。对于参数估计,统计学界的两个学派分别提供了不同的解决方案:
- 频率主义学派(Frequentist)认为模型参数虽然未知,但却是客观存在的固定常数。因此,可通过优化似然函数等准则来确定参数值;
- 贝叶斯学派(Bayesian)则认为模型参数是未观察到的随机变量,并且服从某种先验分布。可基于观测到的数据来计算参数的后验分布。
对于一个未知参数的分布我们往往可以采用生成一批观测数据,通过这批观测数据做参数估计的做法来估计参数。最常用的有最大似然估计、矩估计、最大后验估计、贝叶斯估计等。
极大似然估计
基本形式
极大似然估计(Maximum Likelihood Estimate, MLE) 是根据数据采样来估计概率分布参数的经典方法。MLE认为当前发生的事件是概率最大的事件。因此就可以给定的数据集,使得该数据集发生的概率最大来求得模型中的参数。
给定包含 N 个样本的数据集
D={x1,x2,⋯,xN}
假设这些样本是独立同分布的,分布函数为 P(x;θ)。样本的联合概率,即似然函数(likelihood)
L(θ;D)=P(D∣θ)=i=1∏NP(xi∣θ)
MLE认为参数是一个常数,希望在 θ 的所有可能的取值中,找出最大化产生观测数据的参数。似然函数中的连乘操作易造成下溢,通常使用对数似然(log-likelihood)
logL(θ;D)=i=1∑NlogP(xi∣θ)
此时参数 θ 的极大似然估计为
θMLE=argθmaxi=1∑NlogP(xi∣θ)
KL散度
KL 散度:极大似然估计也可看作最小化数据集上的经验分布 P(x∣θ^)和实际分布间 P(x∣θ)的差异。两者之间的差异程度可以通过 KL 散度度量
KL(P∥P^)=i=1∑NP(xi∣θ)logP(xi∣θ^)P(xi∣θ)=i=1∑NP(xi∣θ)[logP(xi∣θ)−logP(xi∣θ^)]
由于实际概率分布 P(x∣θ) 是个确定值。于是最小化 KL 散度
θ^=argθminKL(P∥P^)=argθmini=1∑N−logP(xi∣θ)=argθmaxi=1∑NlogP(xi∣θ)
这等价于极大似然估计。
正态分布
假设 x 为连续特征,服从正态分布。概率密度函数
N(x;μ,Σ)=(2π)pdetΣ1exp(−21(x−μ)TΣ−1(x−μ))
则参数的对数似然函数
lnL(μ,Σ)=i=1∑NlnN(xi;μ,Σ)=−21i=1∑N(xi−μ)TΣ−1(xi−μ)−21ln(2π)pdetΣ
首先对 μ 求导,并取值为零
∂μ∂lnL(μ,Σ)=i=1∑NΣ−1(xi−μ)=Σ−1(i=1∑Nxi−Nμ)=0
再对 Σ 求导,并取值为零
∂Σ∂lnL(μ,Σ)=21i=1∑NΣ−1(xi−μ)(xi−μ)TΣ−1−21NΣ−1=0
则参数 μ 和 Σ 的极大似然估计为
μ^=xˉ=N1i=1∑NxiΣ^=N1i=1∑N(xi−xˉ)(xi−xˉ)T
也就是说,通过极大似然法得到的正态分布均值和方差是一个符合直觉的结果。对于离散特征,也可通过类似的方式估计。
伯努利分布
假设二分类特征 x∈{0,1},服从伯努利分布
P(x∣θ)=θx(1−θ)1−x={θ,1−θ,if x=1if x=0
则参数 θ 的对数似然函数
logL(θ)=i=1∑Nlogθxi(1−θ)1−xi=i=1∑Nxilogθ+i=1∑N(1−xi)log(1−θ)
对数似然函数求导,并取值为零
∂θ∂logL(θ)=θ1i=1∑Nxi−1−θ1i=1∑N(1−xi)=0
则参数 θ 的极大似然估计为
θ^=N1i=1∑Nxi=xˉ
即为 x=1 的频率。
离散特征分布率
假离散特征有 K 个可能值 x∈{c1,c1,⋯,cK},分布率为
P(x=ck∣θ)=θk,k=1,2,⋯,Ks.t. k=1∑Kθk=1
假设 x=ck 出现的次数为 Nk,即∑k=1KNk=N。则参数向量的对数似然函数
logL(θ)=logk=1∏KθkNk=k=1∑KNklogθk
考虑约束条件,拉格朗日函数为
L(θ)=k=1∑KNklogθk+α(1−k=1∑Kθk)
先对 θk 求导
∂θk∂L(θ)=θkNk−α=0
于是
θk=αNk
考虑
k=1∑Kθk=k=1∑KαNk=αN=1
所以参数 θk 的极大似然估计为
θ^k=NNk
即为特征 x=ck 的频率。
贝叶斯估计
贝叶斯派认为被估计的参数是一个随机变量,服从某种分布。在获得观测数据之前,我们设定一个先验概率分布,在有观测数据之后,由贝叶斯公式计算出一个后验概率分布,这样估计出来的结果往往会更合理。
最大后验估计
最大后验估计(Maximum A Posteriori,MAP)认为最优参数为后验概率最大的参数。
给定包含 N 个样本的数据集
D={x1,x2,⋯,xN}
假设这些样本是独立同分布的,分布函数为 P(x;θ)。引入贝叶斯定理:
(1) 若θ 为离散变量,分布率为
P(θi∣D)=∑jP(D∣θj)P(θj)P(D∣θi)P(θi)
(2) 若θ 为连续变量,概率密度函数为
p(θ∣D)=∫Θp(D∣θ)p(θ)dθp(D∣θ)p(θ)
预估的参数为 θ,条件概率 p(θ∣D) 为参数 θ 的后验概率(posterior probability)密度,p(θ) 为引入的先验概率(prior probability)密度,在给定参数的前提下,观测数据的概率分布为p(D∣θ),也就是似然函数(likelihood)。
后续统一考虑θ 为连续变量的情况。由于分母为边缘分布
p(D)=∫Θp(D∣θ)p(θ)dθ
该值不影响对 θ的估计,在求最大后验概率时,可以忽略分母。
p(θ∣D)∝p(D∣θ)p(θ)=i=1∏Np(xi∣θ)p(θ)
于是参数 θ 的最大后验估计为
θMAP=argθmaxi=1∏Np(xi∣θ)p(θ)
同样为了便于计算,对两边取对数
logp(θ∣D)∝i=1∑Nlogp(xi∣θ)+logp(θ)
于是参数 θ 的最大后验估计为
θMAP=argθmax{i=1∑Nlogp(xi∣θ)+logp(θ)}
与极大似然估计比较发现,当先验概率为均匀分布时,最大后验估计也就是极大似然估计。
贝叶斯估计
贝叶斯估计(Bayesian Estimation)是最大后验估计的进一步扩展,同样假定参数是一个随机变量,但贝叶斯估计并不是直接估计出参数的某个特定值,而是通过贝叶斯定理估计参数的后验概率分布。
p(θ∣D)=∫Θp(D∣θ)p(θ)dθp(D∣θ)p(θ)
从上面的公式中可以看出,贝叶斯估计的求解非常复杂,因此选择合适的先验分布就非常重要。一般来说,计算积分 ∫Θp(D∣θ)p(θ)dθ 是不可能的,如果使用共轭先验分布,就可以更好的解决这个问题。
后验概率分布确定后,可以通过后验风险最小化获得点估计。一般常使用后验分布的期望作为最优估计,称为后验期望估计,它也被简称为贝叶斯估计。
假设 L(θ^,θ) 是估计值为 θ^ 的损失函数,则样本为 x 下的条件风险(期望损失)为
R(θ^∣x)=∫ΘL(θ^,θ)p(θ∣x)dθ
则整个样本空间 x∈X 的风险为
R=∫XR(θ^∣x)p(x)dx
由于 R(θ^∣x)>0,求 R 最小即求 R(θ^∣x) 最小。所以,最优估计
θBE=argθ^minR(θ^∣x)
通常采用平方误差损失函数
L(θ^,θ)=21(θ−θ^)2
对条件风险求导,并置为0 [^int]
dθ^dR(θ^∣x)=====dθ^d∫Θ21(θ−θ^)2p(θ∣x)dθ∫Θ(θ^−θ)p(θ∣x)dθθ^∫Θp(θ∣x)dθ−∫Θθp(θ∣x)dθθ^∣x−E(θ∣x)0
可得到最优估计
θ^∣x=E(θ∣x)=∫Θθp(θ∣x)dθ
同理可得,在给定样本集 D 下,θ 的贝叶斯估计
θ^∣D=E(θ∣D)=∫Θθp(θ∣D)dθ
概率分布的核:如果数据 D 和参数 θ 的联合概率密度正比于概率密度g(θ;τ) 的核 κ(θ;τ)
p(D∣θ)p(θ)∝g(θ;τ)∝k(θ;τ)
则 θ 的后验概率密度
p(θ∣D)=g(θ;τ)
证明:假设联合概率密度
p(D∣θ)p(θ)=h(D)g(θ;τ)=Ch(D)κ(θ;τ)
其中 Ch(D) 与 θ 无关, g(θ;τ) 是由参数 τ 控制的概率密度函数,即
∫Θg(θ;τ)dθ=1
由于边缘分布为
p(D)=∫Θp(D∣θ)p(θ)dθ=∫ΘCh(D)κ(θ;τ)dθ=h(D)∫Θg(θ;τ)dθ=h(D)
因此
p(θ∣D)=p(D)p(D∣θ)p(θ)=h(D)h(D)g(θ;τ)=g(θ;τ)
共轭分布
先验分布的选择通常是需要有一些技巧性的。在贝叶斯统计中,如果后验分布与先验分布属于同类(分布形式相同),则先验分布与后验分布被称为共轭分布(conjugate distribution),而先验分布被称为似然函数的共轭先验(conjugate prior)。
共轭先验可以简化计算。因为后验分布和先验分布形式相近,只是参数有所不同,这意味着当我们获得新的观察数据时,我们就能直接通过参数更新,获得新的后验分布,此后验分布将会在下次新数据到来的时候成为新的先验分布。如此一来,我们更新后验分布就不需要通过大量的计算,十分方便。
常用的共轭先验分布如下:
(1) 当样本来自正态分布,方差已知时,估计均值的共轭先验是正态分布,记为 X∼N(μ,σ2)。概率密度函数为
f(x;μ,σ2)=2πσ1exp(−2σ2(x−μ)2)
数学特征如下
E(X)=μ;var(X)=σ2;mode(X)=μ
(2) 当样本来自正态分布,均值已知时,估计方差的共轭先验是逆Gamma分布(Inverse Gamma),记为X∼IGamma(α,β),定义域为 x>0。概率密度函数为
f(x;α,β)=Γ(α)βα(x1)α+1e−β/x
其中
Γ(α)=∫0+∞tα−1e−tdt
数学特征如下
E(X)=α−1β;var(X)=(α−1)2(α−2)β2;mode(X)=α+1β
(3) 当样本来自正态分布,方差和均值均未知时,共轭先验分布为Normal-Inverse Gamma分布,形式过于复杂。
(4) 当样本来自伯努利分布B(1,θ),共轭先验是Beta分布,记为 X∼Beta(α,β),定义域为 [0,1]。概率密度函数为
f(x;α,β)=B(α,β)1xα−1(1−x)β−1
其中 B(α,β) 为Beta函数
B(α,β)=∫01tα−1(1−t)β−1dt=Γ(α+β)Γ(α)Γ(β)
数学特征如下
E(X)=α+βα;var(X)=(α+β+1)(α+β)2αβ;mode(X)=α+β−2α−1
(5) 当样本来自离散分布,共轭先验是狄利克雷分布(Dirichlet Distribution),是Beta分布的多元推广。表示为 X∼D(α1,⋯,αK),随机变量 X=(X1,⋯,XK),xk>0且满足 ∑k=1Kxk=1。概率密度函数为
f(x1,⋯,xK;α1,⋯,αK)=B(α1,⋯,αK)1k=1∏Kxkαk−1
其中
B(α1,⋯,αK)=Γ(∑k=1Kαk)∏k=1KΓ(αk)
数学特征如下
E(Xk)=α0αk;var(Xk)=α02(α0+1)αk(α0−αk);mode(Xk)=α0−Kαk−1
其中α0=∑k=1Kαk
(6) 当样本来自Poisson分布 P(λ),估计参数 λ 的共轭先验是Gamma分布,记为X∼Gamma(α,β),定义域为 x>0。概率密度函数为
f(x;α,β)=Γ(α)βαxα−1e−βx
其中
Γ(α)=∫0+∞tα−1e−tdt
数学特征如下
E(X)=βα;var(X)=β2α;mode(X)=βα−1
(7) 当样本来自指数分布 Exp(λ),估计参数 λ 的共轭先验是Gamma分布,记为X∼Gamma(α,β),定义域为 x>0。
(8) 当样本来自均匀分布 U(0,θ),估计参数 θ 的共轭先验是帕累托分布(Pareto distribution),记为X∼Pareto(α,β),定义域为 x>β>0。概率密度函数为
f(x;α,β)=xα+1αβα
数学特征如下
E(X)=α−1β;var(X)=(α−1)(α−2)αβ2;mode(X)=β
正态分布
假设连续特征 X 服从正态分布 X∼N(μ,σ2)。概率密度函数
p(x∣μ,σ2)=2πσ1exp(−2σ2(x−μ)2)
似然函数
p(D∣μ,σ2)=(2πσ1)Ni=1∏Nexp(−2σ2(xi−μ)2)
(1) 若方差 σ2 已知,均值的共轭先验分布为正态分布μ∼N(μ0,τ02),则
p(μ)∝exp(−2τ02(μ−μ0)2)
联合概率密度
p(μ)p(D∣μ)∝exp(−2τ02(μ−μ0)2)i=1∏Nexp(−2σ2(xi−μ)2)=exp(−2τ02(μ−μ0)2−i=1∑N2σ2(xi−μ)2)∝exp(−21((τ021+σ2N)μ2−2(τ02μ0+σ2Nxˉ)μ))∝exp(−2τ12(μ−μ1)2)
其中 μ1=Nτ02+σ2Nxˉτ02+σ2μ0,τ12=Nτ02+σ2σ2τ02
于是得到均值的后验分布服从正态分布
μ∣D∼N(Nτ02+σ2Nxˉτ02+σ2μ0,Nτ02+σ2σ2τ02)
均值的最大后验估计和贝叶斯估计均为
μ^=Nτ02+σ2Nxˉτ02+σ2μ0
注意到后验均值
μ^=Nτ02+σ2σ2μ0+Nτ02+σ2Nτ02xˉ
是先验均值和样本均值的加权平均。后验精度(后验方差的倒数) Nτ02+σ2 是先验精度与样本精度之和,因为精度大于0,后验整合了先验和样本的信息,提高了精度(降低了方差)。
(2) 若均值 μ 已知,方差的共轭先验分布为逆Gamma分布 σ2∼IGamma(α,β),则
p(σ2)∝(σ21)α+1exp(−σ2β)
联合概率密度
p(μ)p(D∣μ)∝(σ21)α+1exp(−σ2β)(σ21)N/2i=1∏Nexp(−2σ2(xi−μ)2)=(σ21)α+N/2+1exp(−σ21(β+21i=1∑N(xi−μ)2))
于是得到方差的后验分布服从逆Gamma分布
σ2∣D∼IGamma(α+2N,β+21i=1∑N(xi−μ)2)
方差的最大后验估计为
σMAP2=2α+N+22β+∑i=1N(xi−μ)2
方差的贝叶斯估计为
σBE2=σMAP2=2α+N−22β+∑i=1N(xi−μ)2
伯努利分布
假设二分类特征 x∈{0,1},服从伯努利分布
P(x∣θ)=θx(1−θ)1−x={θ,1−θ,if x=1if x=0
参数 θ 的似然函数为
p(D∣θ)=i=1∏Nθxi(1−θ)1−xi
参数 θ 的共轭先验为Beta分布,θ∼Beta(α,β),则
p(θ)∝θα−1(1−θ)β−1
联合概率密度
p(θ)p(D∣θ)∝θα−1(1−θ)β−1i=1∏Nθxi(1−θ)1−xi∝θα+N1−1(1−θ)β+N0−1
其中N1=∑i=1Nxi为正类x=1的样本数,N0=N−N1为负类x=0的样本数。
于是得到参数 θ 的后验分布同样服从Beta分布
θ∣D∼Beta(α+N1,β+N0)
最大后验估计
θMAP=N+α+β−2N1+α−1
贝叶斯估计
θBE=E(θ∣D)=N+α+βN1+α
离散分布
假设离散特征有 K 个可能值 x∈{c1,c1,⋯,cK},分布率为
P(x=ck∣θ)=θk,k=1,2,⋯,Ks.t. k=1∑Kθk=1
若 x=ck 出现的次数为 Nk,即∑k=1KNk=N。则参数向量的似然函数
p(D∣θ)=k=1∏KθkNk
参数 θ 的共轭先验为狄利克雷分布,θ∼D(α1,⋯,αK),则
p(θ)∝k=1∏Kθkαk−1
联合概率密度
p(θ)p(D∣θ)∝k=1∏Kθkαk−1k=1∏KθkNk=k=1∏Kθkαk+Nk−1
后验分布同样服从狄利克雷分布
θ∣D∼D(α1+N1,⋯,αK+NK)
(1) 联合概率对数形式为
logp(θ)p(D∣θ)=C+k=1∑K(αk+Nk−1)logθk
考虑约束条件,拉格朗日函数为
L(θ)=C+k=1∑K(αk+Nk−1)logθk+λ(1−k=1∑Kθk)
对上式求导,并置为0
∂θk∂L(θ)=θk1(αk+Nk−1)−λ=0
于是
θk=λNk+αk−1
考虑
k=1∑Kθk=k=1∑KλNk+αk−1=λN−K+∑k=1Kαk=1
所以参数 θk 的最大后验估计
θkMAP=N−K+∑k=1KαkNk+αk−1
(2) 对 θ 的后验分布求期望可获得贝叶斯估计
θkBE=∑k=1K(Nk+αk)Nk+αk=N+∑k=1KαkNk+αk
如果先验分布中我们预先认为每个类别出现的概率是一致的,即 α1=α2=⋯=αK=α,此时有
θ^k=N+KαNk+α
称 α>0 为先验平滑因子。
- 当 α=0 时,就是极大似然估计;
- 当 α=1 时,称为拉普拉斯平滑(Laplaces moothing),也意味着参数服从的是均匀分布 U(0,1),也是狄利克雷分布的一种情况。
- 当 α<1 时,称为Lidstone平滑。
在贝叶斯分类算法中,类条件概率常使用贝叶斯估计。假设特征 xj 有Sj个可能值 xj∈{aj1,aj2,⋯,ajSj} ,则类条件概率的贝叶斯估计为
P^α(xj=ajs∣ck)=Nk+αSjNks+α
其中 Nks=∑i=1NI(xij=ajs,yi=ck) 是类别为ck 样本中特征值 ajs 出现的次数。Nk为类别为ck的样本个数。如果数据集中类别 ck没有样本,即Nk=0,则 P^(xj=ajs∣ck)=1/Sj ,即假设类别 ck中的样本均匀分布。
显然,先验平滑因子避免了因训练集样本不充分而导致概率估值为零的问题, 并且在训练集变大时,修正过程所引入的先验知识的影响也会逐渐变得可忽略,使得估值渐趋向于实际概率值。
泊松分布
假设特征 x 服从泊松分布
P(x∣λ)=x!λxe−λ
参数 λ 的似然函数为
p(D∣λ)=exp(−Nλ)i=1∏Nxi!λxi
参数 λ 的共轭先验为Gamma分布,λ∼Gamma(α,β),则
p(λ)∝λα−1exp(−βλ)
联合概率密度
p(λ)p(D∣λ)=λα−1exp(−βλ)exp(−Nλ)i=1∏Nxi!λxi∝λα+Nxˉ−1exp(−(β+N)λ)
其中xˉ=N1∑i=1Nxi为样本均值。于是得到参数 λ 的后验分布同样服从Gamma分布
λ∣D∼Gamma(α+Nxˉ,β+N)
最大后验估计
λMAP=β+Nα+Nxˉ−1
贝叶斯估计
λBE=E(λ∣D)=β+Nα+Nxˉ
指数分布
假设特征 x 服从指数分布
P(x∣λ)=λe−λx
参数 λ 的似然函数为
p(D∣λ)=λNi=1∏Nexp(−λxi)
参数 λ 的共轭先验为Gamma分布,λ∼Gamma(α,β),则
p(λ)∝λα−1exp(−βλ)
联合概率密度
p(λ)p(D∣λ)=λα−1exp(−βλ)λNi=1∏Nexp(−λxi)=λα+N−1exp(−(β+Nxˉ)λ)
其中xˉ=N1∑i=1Nxi为样本均值。于是得到参数 λ 的后验分布同样服从Gamma分布
λ∣D∼Gamma(α+N,β+Nxˉ)
最大后验估计
λMAP=β+Nxˉα+N−1
贝叶斯估计
λBE=E(λ∣D)=β+Nxˉα+N
均匀分布
假设特征 x 服从均匀分布
p(x∣θ)=θ1,x∈[0,θ]
参数 θ 的似然函数为
p(D∣θ)=θ−N
参数 θ 的共轭先验为Pareto分布,θ∼Pareto(α,β),则
p(θ)∝θ−(α+1)
联合概率密度
p(θ)p(D∣θ)∝θ−(α+1)θ−N∝θ−(α+N+1)
于是得到参数 θ 的后验分布同样服从Pareto分布
θ∣D∼Pareto(α+N,β′)
注意 β′=max{x1,⋯,xN,β}
最大后验估计
θMAP=β′
贝叶斯估计
θBE=E(θ∣D)=N+α−1β′