指数族分布
Published:
介绍指数族分布的常见性质等,从充分统计量出发,到指数族分布的共轭先验分布和其最大熵性质,以及指数族分布在EM算法中的应用。
Sufficient Statistics
充分统计量可以看作是反映样本未知参数信息的统计量,由于我们通常希望根据样本$x$估计出隐藏在样本背后的未知参数$\theta$,如果给定统计量$t=t(x)$,使得只要知道$t$的情况与直到$\theta$的情况相同,也即
\[\begin{align} p(x \vert t) &= p(x \vert t, \theta) \\ \text{Or } p(x \vert t,\theta) &\perp \theta \end{align}\]根据因子分解定理,上式的充要条件为,
\[p(x \vert \theta) = h(\theta, t) g(x),\exists h,g\]对于必要性,若成立$p(x \vert t) = p(x \vert t, \theta)$,
\(\begin{align} p(x \vert \theta) &= p(x \vert t,\theta) p(t \vert \theta) \\ &= p(x \vert t) p(t \vert \theta) \\ &= p(x \vert t(x)) p(t \vert \theta) \\ &= g(x) h(\theta,t) \end{align}\) 对于充分性,若成立$p(x \vert \theta) = h(\theta, t) g(x)$, 对两边同时对$t$积分可以得到,
\[\begin{align} p(t \vert \theta) &= h(\theta, t) G(t),\text{With } G(t) = \int_{t = t(x)} g(x) \\ p(x \vert \theta,t) &= \frac{p(x,t \vert \theta)}{p(t \vert \theta)} \\ &=\frac{p(x\vert \theta)}{p(t \vert \theta)} \\ &=\frac{g(x) h(\theta,t)}{p(t \vert \theta)} \\ &= \frac{g(x)}{G(t)} \text{ Witch is Independent of } \theta \end{align}\]本质上,充分统计量刻画了Bayes估计,在已知$\theta$的先验分布的前提下,给定样本$x$和给定样本$x$的充分统计量$t$所得到的$\theta$的后验分布将是相同的,因此充分统计量可以作为样本$x$的压缩版本而不损失对于参数$\theta$的信息。
根据充分统计量的定义, \(\begin{align} p(x \vert t) &= p(x \vert t, \theta) \\ \frac{p(x)}{p(t)} &= \frac{p(x,\theta)}{p(t,\theta)} \\ \end{align}\) 而我们又知道,根据Bayes推断,
\(\begin{align} p(\theta \vert t) &= p(\theta \vert x) \\ \frac{p(\theta,t)}{p(t)} &= \frac{p(\theta,x)}{p(x)} \\ \end{align}\) 比较两式可以发现两者是等价的。
Exponential Familiy
指数族分布是一类极为重要的分布族,常见的分布大多为指数族,其分布形式为,
\[p(x\vert \theta) = h(x) g (\theta) \exp(h(x) \phi(\theta))\]其充分统计量是显然的,
\(\begin{align} p(x_1,x_2,...,x_n \vert \theta) &= [h(x)g(\theta)]^{n} \exp (\phi(\theta)\sum_{i=1}^n h (x_i)) \\ &= g(\theta)^{n} \exp (\phi(\theta)\sum_{i=1}^n h (x_i)) h(x)^n \\ &= G(t,\theta) H(x) \\ \text{With } G(t,\theta) &= (\theta)^{n} \exp (\phi(\theta)\sum_{i=1}^n h (x_i)),\\ H(x) &= h(x)^n, t = [n,\sum_{i=1}^n h(x_i)] \end{align}\) 很多常用的分布都属于指数族分布,下面简要列出一些分布,
Bernoulli
\[\begin{align} p(x \vert \theta) &= \theta^x (1- \theta)^{1-x} \\ &=(1-\theta) \exp(x \log\frac{\theta}{1-\theta}) \end{align}\]Binomial
\[\begin{align} p(x \vert \theta) &= C_{n}^x \theta^x (1- \theta)^{n-x} \\ &= C_n^x (1-\theta)^n \exp(x \log \frac{\theta}{1-\theta}) \end{align}\]Poison
\[\begin{align} p(x \vert \theta) &= \frac{\theta^x \exp(-\theta)}{x!}\\ &= \frac{\exp(-\theta)}{x!} \exp(x \log \theta) \end{align}\]Geometry
\[\begin{align} p(x \vert \theta) &= \theta(1-\theta)^{x-1} \\ &= \frac{\theta}{1-\theta} \exp(x \log (1-\theta)) \end{align}\]Negative Binomial
\[\begin{align} p(x \vert \theta) &= C_{n-1}^{x-1} \theta^x (1-\theta)^{n-x} \\ &= C_{n-1}^{x-1} \theta^n \exp(x \log \frac{\theta}{1-\theta}) \end{align}\]Exponential
\[\begin{align} p(x \vert \theta) &= \theta \exp(-\theta x) \\ \end{align}\]上述仅为单参数的指数族,更加常见的是$K$参数的指数族分布,
\(p(x\vert \theta) = h(x) g (\theta) \exp(\sum_{i=1}^K h_i(x) \phi_i(\theta))\) 其充分统计量为,
\[t = [n, \sum_{i=1}^N h_1(x),...,\sum_{i=1}^N h_K(x)]\]Natural Exponential Family
可以通过变换将其变形为自然指数族分布的形式,令$y$为充分统计量,
\[\begin{align} p(y \vert \phi) &= h(y) \exp(y^T\varphi -A(\varphi)) \\ \text{With } \varphi_i &= \phi_i(x), y_i = h_i(x),A(\varphi) = \log g(\theta) \end{align}\]例如对于正态分布,
\(\begin{align} \mathcal{N}(x \vert \mu,\sigma^2) &= (2\pi \sigma^2)^{-\frac{1}{2}}\exp(-\frac{(x - \mu)^2}{2 \sigma^2}) \\ &= (2\pi \sigma^2)^{-\frac{1}{2}} \exp(-\frac{\mu^2}{2\sigma^2}) \exp(-\frac{1}{2\sigma^2} x^2 + \frac{\mu}{\sigma^2}x) \end{align}\) 因此正态分布的充分统计量为,$t = [n,\bar x,S]$, 也即样本个数、样本均值、样本方差。
将指数族分布写成自然指数族的形式的好处是可以直接看出其期望和方差,对下式两边同时求一阶导数,
\(\begin{align} h(y) \exp(y^T\varphi -A(\varphi)) &= p(y \vert \phi) \\ \int h(y) \exp(y^T\varphi -A(\varphi)) &= 1 \\ \int y p(y \vert \varphi ) - \nabla A(\varphi) &= 0 \\ \end{align}\) 因此可以得到期望和一阶导数相关, \(E[y] = \nabla A(\varphi)\)
同时求二阶导数则可以得到,
\(\begin{align} \int p(y \vert \varphi) (y - \nabla A(\varphi))(y - \nabla A(\varphi))^T - \nabla^2 A(\varphi) &= 0 \\ \end{align}\) 因此方差和二阶导数相关, \(Var[y] = \nabla^2 A(\varphi)\)
Conjunctive Prior
指数族分布的另一个很好的性质是其共轭先验分布可以直接得到,
\[\begin{align} p(x\vert \theta) &= h(x) g (\theta) \exp(\sum_{i=1}^K h_i(x) \phi_i(\theta)) \\ L(x_1,...,x_n \vert \theta) &= h(x)^n g(\theta)^n \exp(\sum_{i=1}^K \phi_i(\theta) \sum_{j=1}^N h_i(x_j)) \end{align}\]只需要根据充分统计量,取共轭先验分布为,
\[\begin{align} \pi(\theta \vert t_0,t_1,...t_K) &= K g(\theta)^{t_0} \exp(\sum_{i=1}^K \phi_i(\theta) t_i) \end{align}\]其中$K$为归一化常数,对应的后验分布为,
\(\begin{align} p(\theta \vert x) &= K g(\theta)^{t_0+n} \exp(\sum_{i=1}^K \phi_i(\theta) (t_i +\sum_{j=1}^Nh_i(x_j)) \\ &= \pi(\theta \vert t_0+n ,...,t_K+ \sum_{i=1}^N h_K(x_i)) \end{align}\) 类似地可以得到很多常见分布的共轭先验分布,例如Bernoulli分布的共轭先验为Beta分布,指数分布的共轭先验分布为Gamma分布。
正态分布的均值的先验分布仍为正态分布,而其方差的分布为逆Gamma分布。
可以参见 知乎‘指数族的共轭先验分布, 其中总结了常见指数分布族参数的共轭先验分布及其推导。
Maximum Entropy
当给定某些限制条件的时候,例如已知均值方差或类似的条件,给定一个分布$f$,希望求解在KL散度度量下距离$f$最近的分布$p$,改问题可以转化为,
\[\begin{align} \text{min } KL(p \vert f) &= \int p \log\frac{p}{f} \\ \text{s.t. } \int h_i p &=m_i, \int p =1 \end{align}\]使用变分法求解最优的$p$,加上Lagrange乘子并且对目标函数在方向$t$上求方向导数,
\(\begin{align} &\lim_{a \rightarrow0}\frac{\int (p+at) \log\frac{p+at}{f}-\int p \log \frac{p}{f}}{a} - \sum_{i=1}^K\phi_i\frac{\int h_i (p+at) - \int h_i p}{a}- \lambda \frac{\int p+ at - \int p}{a} \\ =& \lim_{a \rightarrow0}\int t \log p -\int t- \int t \log f -\sum_{i=1}^K \phi_i \int h_i t -\lambda \int t \\ =& \lim_{a \rightarrow0} \int t(\log \frac{p}{f}- \sum_{i=1}^K \phi_ih_i-\lambda -1)=0 ,\forall t \\ &\log \frac{p}{f}- \sum_{i=1}^K \phi_i h_i -\lambda -1=0 \\ &p(x) = K f(x) \exp(\sum_{i=1}^K \phi_i(x) h_i(x)), \text{With a Constant }K \end{align}\) 可见其解为指数族分布,又当$f=c$的时候,最小化KL散度等价于最大化熵,因此也可以认为指数族分布是给定条件下最大化熵的分布。
上述的特例是给定均值$\mu$和方差$\Sigma$的情况下, 正态分布是熵最大化的分布,由于给定均值和方差相当于
\(h_1(x) = x,h_2(x) = x^2\) 因此根据上面的结果易得正态分布为熵最大化的分布。
下面直接从熵的定义出发推出该式子,对于任意满足条件的分布$g$, 对于正态分布$f \sim \mathcal{N}(\mu,\Sigma)$
\[\begin{align} -\int g \log f &= \frac{1}{2} \int \log(2 \pi \det \Sigma) g +\frac{1}{2}\int tr((x-\mu)^T \Sigma^{-1} (x-\mu))g\\ &=\frac{1}{2} \log (2 \pi \det \Sigma) + \frac{1}{2}tr (\Sigma^{-1}\int (x-\mu)^T (x-\mu))g)\\ &= \frac{1}{2} \log (2 \pi \det \Sigma) + \frac{1}{2}tr I_n)\\ &= \frac{1}{2} \log (2 \pi \det \Sigma) + \frac{n}{2} \\ &= H(f) \end{align}\]其中$H$表示分布的熵,
\(H(f) = -\int f \log f\) 根据KL散度的非负性,
\[\begin{align} KL(g \vert f) &= \int g \log \frac{g}{f} \ge 0 \\ \int g \log g & \ge \int g \log f \\ H(f) &\le H(g) \end{align}\]另一个显然的结论是,没有任何限制条件是,均匀分布是熵最大的分布,其证明是显然的,此处暂略。
EM Algorithm
著名EM算法在指数族分布上可以被简化,关于EM算法,可以参见EM算法的理论:ELBO , EM算法的应用:GMM与PLSA
考虑完全数据$y$服从指数族分布的情况,其中$S(y)$为充分统计量,
\[p(y \vert \theta) = f(y) g(\theta) \exp(\theta^T S(y))\]根据概率密度函数的性质可以得到,对等式两边同时求导,
\[\begin{align} \int f(y) g(\theta) \exp(\theta^T S(y)) &= 1 \\ \int f(y) (g(\theta)+ g'(\theta) S(y) )\exp(\theta^T S(y)) &= 0 \\ \frac{g(\theta)}{g'(\theta)} + \int S(y) p(y \vert \theta) &= 0 \\ \frac{g(\theta)}{g'(\theta)} + E_{y}[S(y)] &= 0 \\ \end{align}\]而对于Q函数求导,并且令其为0,
\[\begin{align} Q &= E_{z \vert x,\theta'}[\log f(y) + \log g(\theta) + \theta^T S(y)]\\ \nabla Q &= E_{z \vert x,\theta'}[\frac {g'(\theta)}{g(\theta)} + S(y)] \\ 0 &= \frac {g'(\theta)}{g(\theta)} + E_{z \vert x,\theta'}[S(y)] \end{align}\]比较上述两个式子,发现在E步中不需要计算整个分布,只需要计算在观测到显变量的前提下充分统计量$S(y)$的条件期望,而M步只需要求解一个关于充分统计量$S(y)$的方程即可,总结为如下步骤:
E-Step 计算$E_{z \vert x,\theta’}[S(y)]$
M-Step 解方程$E_{z \vert x,\theta’}[S(y)] = E_{y \vert \theta}[S(y)]$ 得到$\theta$
这也是使得EM算法在混合高斯模型(GMM,Gaussian Mixture Model)等具有简洁表达式的原因。