机器学习——指数族分布


指数族是一类分布,包括 高斯分布伯努利分布二项分布泊松分布Beta分布Dirichlet分布Gamma分布等一系列分布。
指数族分布可以写为统一的形式:
p ( x ∣ η ) = h ( x ) exp ⁡ ( η T ϕ ( x ) − A ( η ) ) = 1 exp ⁡ ( A ( η ) ) h ( x ) exp ⁡ ( η T ϕ ( x ) ) p(x|\eta)=h(x)\exp(\eta^T\phi(x)-A(\eta))=\frac{1}{\exp(A(\eta))}h(x)\exp(\eta^T\phi(x)) p(xη)=h(x)exp(ηTϕ(x)A(η))=exp(A(η))1h(x)exp(ηTϕ(x))
其中, η \eta η是参数向量, A ( η ) A(\eta) A(η)是对数配分函数(归一化因子)。
在这个式子中, ϕ ( x ) \phi(x) ϕ(x)叫做充分统计量,包含样本集合所有的信息,例如高斯分布中的均值和方差。充分统计量在在线学习中有应用,对于一个数据集,只需要记录样本的充分统计量即可。
对于一个模型分布假设(似然),那么我们在求解中,常常需要寻找一个共轭先验,使得先验与后验的形式相同,例如选取似然是二项分布,可取先验是Beta分布,那么后验也是Beta分布。指数族分布常常具有共轭的性质,于是我们在模型选择以及推断具有很大的便利。
共轭先验的性质便于计算,同时,指数族分布满足最大熵的思想(无信息先验),也就是说对于经验分布利用最大熵原理导出的分布就是指数族分布。
观察到指数族分布的表达式类似线性模型,事实上,指数族分布很自然地导出广义线性模型:
y = f ( w T x ) y ∣ x ∼ E x p F a m i l y y=f(w^Tx)\\ y|x\sim Exp Family y=f(wTx)yxExpFamily
在更复杂的概率图模型中,例如在无向图模型中,指数族分布也扮演着重要作用。
在推断的算法中,例如变分推断中,指数族分布也会大大简化计算。

一维高斯分布

一维高斯分布可以写成:
p ( x ∣ θ ) = 1 2 π σ e x p ( − ( x − μ ) 2 2 σ 2 ) p(x|\theta)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x-\mu)^2}{2\sigma^2}) p(xθ)=2π σ1exp(2σ2(xμ)2)
将这个式子改写:
1 2 π σ 2 exp ⁡ ( − 1 2 σ 2 ( x 2 − 2 μ x + μ 2 ) ) = exp ⁡ ( log ⁡ ( 2 π σ 2 ) − 1 / 2 ) exp ⁡ ( − 1 2 σ 2 ( − 2 μ 1 ) ( x x 2 ) − μ 2 2 σ 2 ) \frac{1}{\sqrt{2\pi\sigma^2}}\exp(-\frac{1}{2\sigma^2}(x^2-2\mu x+\mu^2))\\ =\exp(\log(2\pi\sigma^2)^{-1/2})\exp(-\frac{1}{2\sigma^2}\begin{pmatrix}-2\mu&1\end{pmatrix}\begin{pmatrix}x\\x^2\end{pmatrix}-\frac{\mu^2}{2\sigma^2}) 2πσ2 1exp(2σ21(x22μx+μ2))=exp(log(2πσ2)1/2)exp(2σ21(2μ1)(xx2)2σ2μ2)
所以:
η = ( μ σ 2 − 1 2 σ 2 ) = ( η 1 η 2 ) \eta=\begin{pmatrix}\frac{\mu}{\sigma^2}\\-\frac{1}{2\sigma^2}\end{pmatrix}=\begin{pmatrix}\eta_1\\\eta_2\end{pmatrix} η=(σ2μ2σ21)=(η1η2)
于是对数配分函数 A ( η ) A(\eta) A(η):
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 ) exp ⁡ ( η T ϕ ( x ) ) d x exp(A(\eta))=\int h(x)\exp(\eta^T\phi(x))dx exp(A(η))=h(x)exp(ηTϕ(x))dx
两边对参数求导:
exp ⁡ ( A ( η ) ) A ′ ( η ) = ∫ h ( x ) exp ⁡ ( η T ϕ ( x ) ) ϕ ( x ) d x ⟹ A ′ ( η ) = E p ( x ∣ η ) [ ϕ ( x ) ] \exp(A(\eta))A'(\eta)=\int h(x)\exp(\eta^T\phi(x))\phi(x)dx\\ \Longrightarrow A'(\eta)=\mathbb{E}_{p(x|\eta)}[\phi(x)] exp(A(η))A(η)=h(x)exp(ηTϕ(x))ϕ(x)dxA(η)=Ep(xη)[ϕ(x)]
类似的:
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 } \mathcal{D}=\{x_1,x_2,\cdots,x_N\} D={x1,x2,,xN}
η M L E = a r g m a x η ∑ i = 1 N log ⁡ p ( x i ∣ η ) = a r g m a x η ∑ i = 1 N ( η T ϕ ( x i ) − A ( η ) ) ⟹ A ′ ( η M L E ) = 1 N ∑ i = 1 N ϕ ( x i ) \eta_{MLE}=\mathop{argmax}_\eta\sum\limits_{i=1}^N\log p(x_i|\eta)\\ =\mathop{argmax}_\eta\sum\limits_{i=1}^N(\eta^T\phi(x_i)-A(\eta))\\ \Longrightarrow A'(\eta_{MLE})=\frac{1}{N}\sum\limits_{i=1}^N\phi(x_i) ηMLE=argmaxηi=1Nlogp(xiη)=argmaxηi=1N(ηTϕ(xi)A(η))A(ηMLE)=N1i=1Nϕ(xi)
由此可以看到,为了估算参数,只需要知道充分统计量就可以。

最大熵

信息熵记为:
E n t r o p y = ∫ − p ( x ) log ⁡ ( p ( x ) ) d x Entropy=\int-p(x)\log(p(x))dx Entropy=p(x)log(p(x))dx
一般地,对于完全随机的变量(等可能),信息熵最大。
我们的假设为最大熵原则,假设数据是离散分布的,k个特征的概率分别为 p k p_k pk,最大熵原理可以表述为:
max ⁡ { H ( p ) } = min ⁡ { ∑ k = 1 K p k log ⁡ p k }   s . t .   ∑ k = 1 K p k = 1 \max\{H(p)\}=\min\{\sum\limits_{k=1}^Kp_k\log p_k\}\ s.t.\ \sum\limits_{k=1}^Kp_k=1 max{H(p)}=min{k=1Kpklogpk} s.t. k=1Kpk=1
利用Lagrange乘子法:
L ( p , λ ) = ∑ k = 1 K p k log ⁡ p k + λ ( 1 − ∑ k = 1 K p k ) L(p,\lambda)=\sum\limits_{k=1}^Kp_k\log p_k+\lambda(1-\sum\limits_{k=1}^Kp_k) L(p,λ)=k=1Kpklogpk+λ(1k=1Kpk)
于是可得:
p 1 = p 2 = ⋯ = p K = 1 K p_1=p_2=\cdots=p_K=\frac{1}{K} p1=p2==pK=K1
因此等可能的情况熵最大。
一个数据集 D \mathcal{D} D,在这个数据集上的经验分布为 p ^ ( x ) = C o u n t ( x ) N \hat{p}(x)=\frac{Count(x)}{N} p^(x)=NCount(x),实际不可能满足所有的经验概率相同,于是在上面的最大熵原理中还需要加入这个经验分布的约束。
对任意一个函数,经验分布的经验期望可以求得为:
E p ^ [ f ( x ) ] = Δ \mathbb{E}_{\hat{p}}[f(x)]=\Delta Ep^[f(x)]=Δ
于是:
max ⁡ { H ( p ) } = min ⁡ { ∑ k = 1 N p k log ⁡ p k }   s . t .   ∑ k = 1 N p k = 1 , E p [ f ( x ) ] = Δ \max\{H(p)\}=\min\{\sum\limits_{k=1}^Np_k\log p_k\}\ s.t.\ \sum\limits_{k=1}^Np_k=1,\mathbb{E}_p[f(x)]=\Delta max{H(p)}=min{k=1Npklogpk} s.t. k=1Npk=1,Ep[f(x)]=Δ
Lagrange函数为:
L ( p , λ 0 , λ ) = ∑ k = 1 N p k l o g p k + λ 0 ( 1 − ∑ k = 1 N p k ) + λ T ( Δ − E p [ f ( x ) ] ) L(p,\lambda_0,\lambda)=\sum_{k=1}^Np_klogp_k+\lambda_0(1-\sum_{k=1}^Np_k)+\lambda^T(\Delta-\mathbb{E}_p[f(x)]) L(p,λ0,λ)=k=1Npklogpk+λ0(1k=1Npk)+λT(ΔEp[f(x)])
求导得到:
∂ ∂ p ( x ) L = ∑ k = 1 N ( log ⁡ p ( x ) + 1 ) − ∑ k = 1 N λ 0 − ∑ k = 1 N λ T f ( x ) ⟹ ∑ k = 1 N log ⁡ p ( x ) + 1 − λ 0 − λ T f ( x ) = 0 \frac{\partial}{\partial p(x)}L=\sum\limits_{k=1}^N(\log p(x)+1)-\sum\limits_{k=1}^N\lambda_0-\sum\limits_{k=1}^N\lambda^Tf(x)\\ \Longrightarrow\sum\limits_{k=1}^N\log p(x)+1-\lambda_0-\lambda^Tf(x)=0 p(x)L=k=1N(logp(x)+1)k=1Nλ0k=1NλTf(x)k=1Nlogp(x)+1λ0λTf(x)=0
由于数据集是任意的,对数据集求和也意味着求和项里面的每一项都是0:
p ( x ) = e x p ( λ T f ( x ) + λ 0 − 1 ) p(x)=exp(\lambda^Tf(x)+\lambda_0-1) p(x)=exp(λTf(x)+λ01)
这就是指数族分布

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值