机器学习笔记之指数族分布

机器学习笔记之指数族分布

文章目录

  • 机器学习笔记之指数族分布
    • 背景介绍
    • 一维高斯分布改写指数分布形式
    • 对数配分函数与统计量的关系
    • 极大似然估计与充分统计量
    • 最大熵角度看指数族分布

背景介绍

​ 指数族分布是一类分布,包括高斯分布,伯努利分布,二项分布,泊松分布,Beta分布,Dirichlet 分布,Gamma分布等等,指数族分布的标准形式为
X ∣ η = h ( x ) e x p ( η T ϕ ( x ) − A ( η ) ) = 1 e x p ( A ( η ) ) h ( x ) e x p ( η T ϕ ( x ) ) X|\eta=h(x)exp(\eta^T\phi(x)-A(\eta))=\frac{1}{exp(A(\eta))}h(x)exp(\eta^T\phi(x)) Xη=h(x)exp(ηTϕ(x)A(η))=exp(A(η))1h(x)exp(ηTϕ(x))
​ 其中, η \eta η为参数向量, x ∈ R P x\in\R^P xRP

A ( η ) A(\eta) A(η)称为log partition function,对于形式 P ( X ∣ θ ) = 1 Z P ^ ( X ∣ θ ) P(X|\theta)=\frac{1}{Z}\hat{P}(X|\theta) P(Xθ)=Z1P^(Xθ),我们称Z为变分函数,通过对式子两边求积分,我们求出 Z = ∫ x P ^ ( x ∣ θ ) d x Z=\int_x\hat{P}(x|\theta)dx Z=xP^(xθ)dx,类比指数族分布,我们发现 A ( η ) = log ⁡ Z A(\eta)=\log{Z} A(η)=logZ,故将 A ( η ) A(\eta) A(η)称为log的配分函数。

ϕ ( x ) \phi(x) ϕ(x)​叫做充分统计量,包含样本集合所有的信息,例如高斯分布中的均值和方差。对于一个数据集,只需要记录样本的充分统计量即可表示样本的分布。

​ 指数族分布具有共轭的特点,对于后验概率 P ( Z ∣ X ) = P ( X ∣ Z ) P ( Z ) ∫ Z P ( X ∣ Z ) P ( Z ) d Z P(Z|X)=\frac{P(X|Z)P(Z)}{\int_ZP(X|Z)P(Z)dZ} P(ZX)=ZP(XZ)P(Z)dZP(XZ)P(Z)​,通常 ∫ Z P ( X ∣ Z ) P ( Z ) d Z \int_ZP(X|Z)P(Z)dZ ZP(XZ)P(Z)dZ​难以求解,我们会利用共轭的形式简化运算,即对于 P ( Z ∣ X ) ∝ P ( X ∣ Z ) P ( Z ) P(Z|X)\propto{P(X|Z)P(Z)} P(ZX)P(XZ)P(Z)​​​,如果似然有一个共轭的先验,其效果就是先验与后验具有相同的分布形式。同时,指数族分布满足最大熵的思想(无信息先验),也就是说对于经验分布利用最大熵原理导出的分布就是指数族分布。

​ 观察到指数族分布的表达式类似线性模型,事实上,指数族分布很自然地导出广义线性模型,广义模型为线性模型的扩展,广义模型定义如下:

​ 假设因变量 Y 1 , Y 2 , . . . , Y n Y_1, Y_2,...,Y_n Y1,Y2,...,Yn是n个独立的观测,服从指数族分布, x 1 , x 2 , . . . , x n x_1, x_2, ...,x_n x1,x2,...,xn是其对应p维向量的观测值,计 η i = x i T β \eta_i=x_i^T\beta ηi=xiTβ,假设 E [ Y i ] = μ i E[Y_i]=\mu_i E[Yi]=μi,并且 μ i \mu_i μi η i \eta_i ηi具有关系
η i = g ( μ i ) , i = 1 , 2 , . . . , n \eta_i=g(\mu_i),i=1, 2, ..., n ηi=g(μi),i=1,2,...,n
​ 称如此定义的模型为广义线性模型, g ( . ) g(.) g(.)称为link function,其是激活函数的反函数。

​ 在更复杂的概率图模型中,例如在无向图模型中如受限玻尔兹曼机中,指数族分布也扮演着重要作用。在推断的算法中,例如变分推断中,指数族分布也会大大简化计算。

一维高斯分布改写指数分布形式

​ 对于一维高斯分布
P ( x ∣ θ ) = 1 x π σ e − ( x − μ ) 2 2 σ 2 P(x|\theta)=\frac{1}{\sqrt{x\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}} P(xθ)=xπ σ1e2σ2(xμ)2
​ 对其进行改写
P ( x ∣ θ ) = 1 2 π σ 2 e x p { − 1 2 σ 2 ( x 2 − 2 μ x + μ 2 } P(x|\theta)=\frac{1}{\sqrt{2\pi\sigma^2}}exp\{-\frac{1}{2\sigma^2}(x^2-2\mu{x}+\mu^2\} P(xθ)=2πσ2 1exp{2σ21(x22μx+μ2}
= e x p { l o g 1 2 π σ 2 } e x p { − 1 2 σ 2 ( x 2 − 2 μ x + μ 2 } \qquad\qquad\qquad\quad=exp\{log\frac{1}{\sqrt{2\pi\sigma^2}}\}exp\{-\frac{1}{2\sigma^2}(x^2-2\mu{x}+\mu^2\} =exp{log2πσ2 1}exp{2σ21(x22μx+μ2}
= e x p { ( μ σ 2 − 1 2 σ 2 ) ( x 1 x 2 ) T − ( μ 2 2 σ 2 + 1 2 l o g ( 2 π σ 2 ) ) } \qquad\qquad\qquad\quad=exp\{\left(\frac{\mu}{\sigma^2}\quad-\frac{1}{2\sigma^2}\right)\left({x_1\quad x_2}\right)^T-(\frac{\mu^2}{2\sigma^2}+\frac{1}{2}log(2\pi\sigma^2))\} =exp{(σ2μ2σ21)(x1x2)T(2σ2μ2+21log(2πσ2))}
​ 可以看出
η = ( η 1 η 2 ) T = ( μ σ 2 − 1 2 σ 2 ) T \eta=\left(\eta_1\quad\eta_2\right)^T=\left(\frac{\mu}{\sigma^2}\quad-\frac{1}{2\sigma^2}\right)^T η=(η1η2)T=(σ2μ2σ21)T
ϕ ( x ) = ( x 1 x 2 ) T \phi(x)=\left(x_1\quad x_2\right)^T ϕ(x)=(x1x2)T
​ 于是
A ( η ) = − η 1 2 4 η 2 + 1 2 log ⁡ ( − π η 2 ) A(\eta)=-\frac{\eta_1^2}{4\eta_2}+\frac{1}{2}\log{(-\frac{\pi}{\eta_2})} A(η)=4η2η12+21log(η2π)

对数配分函数与统计量的关系

​ 由指数分布的函数推出
e x p { A ( η ) } = ∫ h ( x ) e x p { η T ϕ ( x ) } d x exp\{A(\eta)\}=\int{h(x)exp\{\eta^T\phi(x)\}dx} exp{A(η)}=h(x)exp{ηTϕ(x)}dx
​ 两边对 η \eta η求导,有
e x p { A ( η ) } A ‘ ( η ) = ∫ h ( x ) e x p { η T ϕ ( x ) } ϕ ( x ) d x A ‘ ( η ) = ∫ 1 e x p { A ( η ) } h ( x ) e x p { η T ϕ ( x ) } ϕ ( x ) d x = ∫ P ( x ∣ η ) ϕ ( x ) d x = E P ( x ∣ η ) [ ϕ ( x ) ] exp\{A(\eta)\}A^`(\eta)=\int{h(x)exp\{\eta^T\phi(x)\}\phi(x)dx}\\ A^`(\eta)=\int{\frac{1}{exp\{A(\eta)\}}h(x)exp\{\eta^T\phi(x)\}\phi(x)dx}\\ =\int{P(x|\eta)\phi(x)dx}=E_{P(x|\eta)}[\phi(x)] exp{A(η)}A(η)=h(x)exp{ηTϕ(x)}ϕ(x)dxA(η)=exp{A(η)}1h(x)exp{ηTϕ(x)}ϕ(x)dx=P(xη)ϕ(x)dx=EP(xη)[ϕ(x)]
​ 于是
A ‘ ( η ) = E P ( x ∣ η ) [ ϕ ( x ) ] A^`(\eta)=E_{P(x|\eta)}[\phi(x)] A(η)=EP(xη)[ϕ(x)]
​ 实际上,对 η \eta η再次求二阶导,有
A ‘ ‘ ( η ) = V a r P ( x ∣ η ) [ ϕ ( x ) ] A^{``}(\eta)=Var_{P(x|\eta)}[\phi(x)] A(η)=VarP(xη)[ϕ(x)]
​ 并且, A ( η ) A(\eta) A(η)是凸函数

极大似然估计与充分统计量

​ 对于观测量 D = ( x 1 , x 2 , . . . , x N ) D=(x_1, x_2, ..., x_N) D=(x1,x2,...,xN),未知参数的最大似然估计量
η M L E = a r g m a x η log ⁡ P ( D ∣ η ) = a r g m a x η ∑ i = 1 N log ⁡ P ( x i ∣ η ) = a r g m a x η log ⁡ [ h ( x i ) e x p { η T ϕ ( x i ) − A ( η ) } ] = a r g m a x η ∑ i = 1 N [ log ⁡ h ( x i ) + η T ϕ ( x i ) − A ( η ) ] = a r g m a x η ∑ i = 1 N [ η T ϕ ( x i ) − A ( η ) ] = a r g m a x η ∑ i = 1 N η T ϕ ( x i ) + N A ( η ) \eta_{MLE}=\mathop{argmax}_\eta\log{P(D|\eta)}\\ \qquad\qquad=\mathop{argmax}_\eta\sum_{i=1}^N\log{P(x_i|\eta)}\\ \qquad\qquad\qquad\qquad\qquad\quad=\mathop{argmax}_\eta\log{[h(x_i)exp\{\eta^T\phi(x_i)-A(\eta)\}]}\\ \qquad\qquad\qquad\qquad\qquad\quad=\mathop{argmax}_\eta\sum_{i=1}^N[\log{h(x_i)}+\eta^T\phi(x_i)-A(\eta)]\\ \qquad\qquad\qquad=\mathop{argmax}_\eta\sum_{i=1}^N{[\eta^T\phi(x_i)-A(\eta)]}\\ \qquad\qquad\qquad=\mathop{argmax}_\eta\sum_{i=1}^N\eta^T\phi(x_i)+NA(\eta) ηMLE=argmaxηlogP(Dη)=argmaxηi=1NlogP(xiη)=argmaxηlog[h(xi)exp{ηTϕ(xi)A(η)}]=argmaxηi=1N[logh(xi)+ηTϕ(xi)A(η)]=argmaxηi=1N[ηTϕ(xi)A(η)]=argmaxηi=1NηTϕ(xi)+NA(η)
​ 令
∂ ∂ η ∑ i = 1 N η T ϕ ( x i ) + N A ( η ) = 0 \frac{\partial}{\partial{\eta}}\sum_{i=1}^N\eta^T\phi(x_i)+NA(\eta)=0 ηi=1NηTϕ(xi)+NA(η)=0
​ 即
∑ i = 1 N ϕ ( x i ) − N A ‘ ( η ) = 0 \sum_{i=1}^N\phi(x_i)-NA^`(\eta)=0 i=1Nϕ(xi)NA(η)=0
​ 于是
A ‘ ( η ) = 1 N ∑ i = 1 N ϕ ( x i ) A^`(\eta)=\frac{1}{N}\sum_{i=1}^N\phi(x_i) A(η)=N1i=1Nϕ(xi)
​ 由此可以看到, A ‘ ( η ) A^`(\eta) A(η)是关于 η \eta η​的函数,只要求其反函数就可以求得参数,故只需要知道充分统计量就可以估算参数。

最大熵角度看指数族分布

​ 对于概率P,信息量的定义为 − log ⁡ P -\log{P} logP,熵定义为信息量的期望,即 H [ P ] = E P ( x ) [ P ( x ) ] H[P]=E_{P(x)}[P(x)] H[P]=EP(x)[P(x)]​。

​ 对于连续型分布, H [ P ] = ∫ − P ( x ) log ⁡ P ( x ) d x H[P]=\int{-P(x)\log{P(x)}dx} H[P]=P(x)logP(x)dx

​ 对于离散型分布, H [ p ] = ∑ X p ( x ) log ⁡ P ( x ) H[p]=\sum_X{p(x)\log{P(x)}} H[p]=Xp(x)logP(x)

​ 最大熵等价于随机变量等可能分布,我们假设变量的离散的,对于数据 x 1 , x 2 , . . . , x K x_1, x_2, ...,x_K x1,x2,...,xK,其概率为 P 1 , P 2 , . . . , P K P_1, P2, ...,P_K P1,P2,...,PK,概率满足 ∑ i = 1 K P i = 1 \sum_{i=1}^K{P_i}=1 i=1KPi=1,求最大熵
m a x H [ P ) ] = m a x − ∑ i = 1 K P i log ⁡ P i ⟺ m i n ∑ i = 1 K P i log ⁡ P i s . t , ∑ i = 1 K P i = 1 maxH[P)]=max-\sum_{i=1}^KP_i\log{P_i}\Longleftrightarrow{min\sum_{i=1}^KP_i\log{P_i}}\quad{s.t},\sum_{i=1}^KP_i=1 maxH[P)]=maxi=1KPilogPimini=1KPilogPis.t,i=1KPi=1
​ 于是
P i ^ = a r g m i n ∑ i = 1 K P i log ⁡ P i \hat{P_i}=argmin\sum_{i=1}^KP_i\log{P_i} Pi^=argmini=1KPilogPi
​ 引入拉格朗日函数
L ( P , λ ) = ∑ i = 1 K P i log ⁡ P i + λ ( 1 − ∑ i = 1 K P i ) L(P,\lambda)=\sum_{i=1}^KP_i\log{P_i}+\lambda(1-\sum_{i=1}^KP_i) L(P,λ)=i=1KPilogPi+λ(1i=1KPi)
​ 令
∂ L ∂ P i = log ⁡ P i + 1 − λ = 0 \frac{\partial{L}}{\partial{P_i}}=\log{P_i}+1-\lambda=0 PiL=logPi+1λ=0
​ 求出
P i ^ = e λ − 1 \hat{P_i}=e^{\lambda-1} Pi^=eλ1
​ 可以看出,当变量满足均匀分布时,求得最大熵。

​ 对于观测数据 D a t a = ( x 1 , x 2 , . . . , x n ) Data=(x_1,x_2, ...,x_n) Data=(x1,x2,...,xn),在这个数据集上的经验分布定义为 P ^ X = x = C o u n t ( x ) N \hat{P}_{X=x}=\frac{Count(x)}{N} P^X=x=NCount(x),实际不可能满足所有数据的经验概率相同,于是在上面的最大熵原理中还需要加入这个经验分布的约束。

​ 对于任意一个函数 f ( x ) f(x) f(x),经验期望为
E p ^ [ f ( x ) ] = Δ E_{\hat{p}}[f(x)]=\Delta Ep^[f(x)]=Δ
​ 最大熵原理等价于求
m i n ∑ X P ( x ) log ⁡ P ( x ) s . t . ∑ X P ( x ) = 1 , E P [ f ( x ) ] = E p ^ [ f ( x ) ] = Δ min\sum_XP(x)\log{P(x)}\\ \qquad\qquad\qquad\qquad\qquad\qquad s.t.\sum_XP(x)=1,E_P[f(x)]=E_{\hat{p}}[f(x)]=\Delta minXP(x)logP(x)s.t.XP(x)=1,EP[f(x)]=Ep^[f(x)]=Δ
​ 定义拉格朗日函数
L ( P , λ 0 , λ ) = ∑ i = 1 K p i log ⁡ p i + λ 0 ( 1 − ∑ i = 1 K p i ) + λ T ( Δ − E P [ f ( x ) ] ) L(P,\lambda_0,\lambda)=\sum_{i=1}^Kp_i\log{p_i}+\lambda_0(1-\sum_{i=1}^Kp_i)+\lambda^T(\Delta-E_P[f(x)]) L(P,λ0,λ)=i=1Kpilogpi+λ0(1i=1Kpi)+λT(ΔEP[f(x)])
​ 令
∂ L ∂ p i = ∑ i = 1 K [ p i + 1 ] − ∑ i = 1 K λ 0 − ∑ i = 1 K λ T f ( x ) = ∑ i = 1 K [ p i + 1 − λ 0 − λ T f ( x ) ] = 0 \frac{\partial{L}}{\partial{p_i}}=\sum_{i=1}^K[p_i+1]-\sum_{i=1}^K\lambda_0-\sum_{i=1}^K\lambda^Tf(x)\\ =\sum_{i=1}^K[p_i+1-\lambda_0-\lambda^Tf(x)]=0 piL=i=1K[pi+1]i=1Kλ0i=1KλTf(x)=i=1K[pi+1λ0λTf(x)]=0
​ 于是
p i + 1 − λ 0 − λ T f ( x ) = 0 p_i+1-\lambda_0-\lambda^Tf(x)=0 pi+1λ0λTf(x)=0
​ 求得
p ^ = e x p { λ T f ( x ) − ( 1 − λ o ) } \hat{p}=exp\{{\lambda^Tf(x)-(1-\lambda_o)}\} p^=exp{λTf(x)(1λo)}
​ 上面的式子可以改写为 p ^ = e x p { η T ϕ ( x ) − A ( η ) } \hat{p}=exp\{\eta^T\phi(x)-A(\eta)\} p^=exp{ηTϕ(x)A(η)}​​这就是指数族分布。

你可能感兴趣的:(机器学习笔记,机器学习,线性回归,算法)