3. 指数族

本章我们介绍一类特殊概率分布,叫做指数族分布(exponential family)。 指数族分布并不是一个具体的概率分布,而是指一类分布, 这类分布具有某些共同的特性,所以它们形成了一个概率分布族(family)。 我们很多常见的概率分布都属于指数族,比如高斯分布、二项分布、多项式分布、 泊松分布、gamma分布、beta分布等等。

3.1. 指数族的定义

一个概率分布的概率密度(质量)函数如果具有如下的形式,那么这个概率分布就属于指数族分布。

(3.1.4)p(x|θ)=1Z(θ)h(x)exp{ϕ(θ)TT(x)}

其中 x 是随机变量的取值, T(x),h(x),ϕ(θ) 都是已知的函数, 通常 h(x) 被称为基础度量值(base measure), T(x) 是充分统计量(sufficient statistic), θ 是分布的未知参数。 θT(x) 可以是向量也可以是标量。 如果两个都是标量(scalar-value), θTT(x) 就是两者的数值乘积;如果是向量(vector-value), θTT(x) 就是两者的內积。不管两者是标量还是向量, θTT(x) 的结果都是一个实数数值。

函数 Z(θ) 是这个分布的配分函数(partition function), 使得这个函数是一个合法的概率密度(质量)函数, Z(θ) 就是对分子的积分。

(3.1.5)Z(θ)=lnh(x)exp{ϕ(θ)TT(x)}dx

备注

配分函数(partition function)通常出现在概率密度(质量)函数中,是为了使得这个函数的输出值符合概率约束, 即使得函数的输出值在 [0,1] 范围内。所以,通常配分函数作为唯一的分母,其值是分子的积分。

通常 公式(3.1.4) 有多种变式,比如,我们令 g(θ)=1Z(θ) , 这样可以使得式子变得更加整洁。

(3.1.6)p(x|θ)=h(x)g(θ)exp{ϕ(θ)TT(x)}

有时还会把 Z(θ) 移到指数的内部, 其中 A(θ)=lnZ(θ) ,通常被称为对数配分函数(log-partition function)。

(3.1.7)p(x|θ)=h(x)exp{ϕ(θ)TT(x)A(θ)}

也有一些资料会把 h(x) 也移到指数内部,其中 S(x)=lnh(x)

(3.1.8)p(x|θ)=exp{ϕ(θ)TT(x)+S(x)A(θ)}

这些不同的表示都是同一个公式的变型而已,所以它们是等价的。 为了表示方便,我们定义一个新的参数 η=ϕ(θ) , 参数 η 通常叫做自然参数(natural parameter)或者标准参数(canonical parameter)。

备注

“canonical parameter” 没有找到的统一的翻译,有多种翻译:标准参数、规范参数、典范参数等等。

(3.1.9)p(x|η)=exp{ηTT(x)+S(x)A(η)}

备注

因为 A(θ) 是对数配分函数,它是分子分积分,所以当分子中定义了 η=ϕ(θ)A(θ) 一定能转化成 A(η)

在指数族中函数 ϕ() 总是单调连续的(存在逆函数),所以自然参数 η 和原始参数 θ 是存在一一映射关系的。 使用标准参数(canonical parameter) η 表示的公式形式称为指数族分布的标准形式(canonical form), 在标准形式下,分布的参数是 η 。指数族中有部分分布的函数 ϕ() 是恒等函数, 也就是 η=ϕ(θ)=θ ,这样的分布天然具有指数族的标准形式。 事实上,对于指数族中的任意分布,都可以通过参数转化函数 ϕ(θ) 把原始参数 θ 转化成标准参数 η ,然后以 η 作为模型参数,进而得到标准形式(canonical form)。 下面我们列举一些属于指数族分布的例子。

3.1.1. 伯努利分布

伯努利分布的概率质量函数为:

(3.1.10)p(x|μ)=μx(1μ)1x

其中 μ 表示这个概率分布的参数, 我们可以把右侧改写一下:

(3.1.11)p(x|μ)=μx(1μ)1x=exp{ln[μx(1μ)1x]}=exp{xlnμ+(1x)ln(1μ)}=exp{xln(μ1μ)+ln(1μ)}

公式(3.1.9) 对比下,可以发现有:

(3.1.12)η=ϕ(μ)=ln(μ1μ)T(x)=xA(η)=ln(1μ)=ln(1+eη)S(x)=0

函数 ln(μ1μ) 被称为logit函数:

(3.1.13)η=ϕ(μ)=logit(μ)=ln(μ1μ)

logit函数的反函数是sigmoid函数。

(3.1.14)μ=sigmoid(η)=eη1+eη=11+eη

sigmoid函数又被称为逻辑函数(logistic function),在以后的章节中还会再遇到它。

3.1.2. 类别分布

伯努利分布是只有两个取值的离散随机变量的概率分布,当随机变量的取值扩展到多个(大于2个并且有限集)的时候,就是称为类别分布, 也可以认为是单一观测(一个样本,一次实验)的多项式分布。 其概率质量函数为:

(3.1.15)p(x|θ)=k=1mθkxk

其中m表示变量有m种取值,注意 xk{0,1} ,表示变量是否为第k个值, 当变量值是第k个值时 xk=1 ,否则为0。 θk 表示 xk=1 的概率,并且有 k=1mθk=1

同样我们需要把上式变型成指数族形式。

(3.1.16)p(x|θ)=k=1mθkxk=exp{k=1mxklnθk}

然而我们注意到,其中m个参数 θk 是冗余的,因为有 k=1mθk=1 , 其中 θm 可以用 θm=1k=1m1θk 表示, 模型只需要m-1个参数,而不需要m个参数。

(3.1.17)p(x|θ)=exp{k=1mxklnθk}=exp{k=1m1xklnθk+(1k=1m1xk)ln(1k=1m1θk)}=exp{k=1m1xkln(θk1j=1m1θj)+ln(1k=1m1θk)}=exp{k=1m1xkln(θkθm)+ln(1k=1m1θk)}=exp{ϕ(θ)TT(x)A(θ)}

上式中的 k=1m1xkln(θkθm) 可以看做是向量 ϕ(θ)=[ϕ(θ1),,ϕ(θk),,ϕ(θm1)] 和向量 T(x)=[x1,,xk,,xm1] 的內积。 和 公式(3.1.9) 对比下,可以发现有:

(3.1.18)η=ϕ(θ)=[ϕ(θ1),,ϕ(θk),,ϕ(θm1)],ϕ(θk)=ln(θkθm)T(x)=[x1,,xk,,xm1]A(η)=ln(1k=1m1θk)=ln(k=1meηk)S(x)=0

η 表示 θ 有:

(3.1.19)θk=eηkj=1meηj

这个函数被称为softmax函数。

3.1.3. 泊松分布

泊松(Poisson)分布的概率质量函数为:

(3.1.20)p(x|θ)=θxeθx!

我们同样对它进行改写:

(3.1.21)p(x|θ)=exp{ln[θxeθ]}x!=exp{xlnθθ}x!=exp{xlnθθlnx!}

公式(3.1.9) 对比可得:

(3.1.22)η=ϕ(θ)=lnθT(x)=xA(η)=θ=eηS(x)=lnx!

ηθ 的关系为:

(3.1.23)θ=eη

3.1.4. 高斯分布

这里我们只考虑单维高斯模型,高斯模型有两个参数,分别是均值参数 μ 和方差参数 σ2 ,高斯分布的概率密度函数为:

(3.1.24)p(x|μ,σ2)=12πσ2exp{12σ2(xμ)2}

我们将其转化成指数族的标准形式。

(3.1.25)p(x|μ,σ2)=12πσ2exp{12σ2(xμ)2}=exp{12σ2x2+μσ2x12σ2μ2lnσ12ln(2π)}

公式(3.1.9) 对比可得:

(3.1.26)η=ϕ(θ)=[μ/σ2,1/2σ2]T(x)=[x,x2]A(η)=μ22σ2+lnσ=η124η212ln(2η2)S(x)=12ln(2π)

注意单变量高斯模型是含有两个参数的,所以 ηT(x) 都是一个长度为2的向量。 多维高斯模型同样也属于指数族,可以自己推导下。

3.1.5. 其它常见指数族

请参考:维基百科 https://en.wikipedia.org/wiki/Exponential_family#Table_of_distributions

3.2. 指数族的期望与方差

在数学和统计学中,矩(moment)是对变量分布和形态特点的一组度量。 n阶矩被定义为一变量的n次方与其概率密度函数(Probability Density Function, PDF)之积的积分。 在文献中n阶矩通常用符号 μn 表示,直接使用变量计算的矩被称为原始矩(raw moment), 移除均值后计算的矩被称为中心矩(central moment)。 变量的一阶原始矩等价于数学期望(expectation)、二至四阶中心矩被定义为方差(variance)、偏度(skewness)和峰度(kurtosis)。

—摘自百度百科

通俗的讲,矩(moment)是描述一个随机变量的一系列指标,变量的期望(Expectation,或者叫均值,Mean)和方差(Variance)属于其中最简单的两个指标,我们这里只讨论这两种。

指数族有一个特点,就是我们可以通过对 A(η) 求导来得到 T(x) 的矩, 比如其一阶导数是 T(x) 的期望,二阶导数是 T(x) 的方差。 在指数族分布中 A(η)=lnh(x)exp{ηTT(x)}dx ,其一阶导数为:

(3.2.22)dAdη=ddη{lnh(x)exp{ηTT(x)}dx}=T(x)exp{ηTT(x)}h(x)dxexp{ηTT(x)}h(x)dx=T(x)exp{ηTT(x)A(η)}h(x)dx=E[T(x)]

我们看到 A(η) 的一阶导数正好等于 T(x) 的期望(均值),对于伯努利分布、多项分布、泊松分布、高斯分布等这些 T(x)=x 的分布来说,T(x) 的均值就是分布的均值。

比如上面的示例中,对于伯努利分布,有 A(η)=ln(1+eη) , 其一阶导数为:

(3.2.23)dAdη=ddηln(1+eη)=eη1+eη=11+eη=μ

对于高斯分布有:

(3.2.24)A(η)=η124η212ln(2η2)

其中,η1=μ/σ2,η2=1/2σ2 ,我们计算 η1 的偏导数:

(3.2.25)Aη1=η12η2=μ/σ21/σ2=μ

现在我们看下 A(η) 的二阶导数:

(3.2.26)d2Adη2=T(x)exp{ηT(x)A(η)} (T(x)A(η))h(x)dx=T(x)exp{ηT(x)A(η)}(T(x)E[T(x)])h(x)dx=T(x)2exp{ηT(x)A(η)}h(x)dxE[T(x)]T(x)exp{ηT(x)A(η)}h(x)dx=E[T(x)2](E[T(x)])2=Var[T(x)]

A(η) 的二阶导数正好是 T(x) 的方差,对于 T(x)=x 的分布,就是分布的方差。

比如对于高斯分布,对于 η1 的二阶偏导数为:

(3.2.27)Aη1=12η2=σ2

总结一下,对于指数族分布, 我们可以通过对 Aη 求导来计算分布中 T(x) 期望和方差, 当然通过高阶导数还能计算出更多的矩(Moment)。

此外,我们发现函数 Aη 的二阶导数是 T(x) 的方差,我们都知道方差肯定是大于等于0的, 一个函数的二阶导数大于等于0,证明这个函数是一个凸函数(convex,碗状的), 对于凸函数,一阶导数和参数 η 之间是一一对应关系,并且这种对应关系是可逆的。 我们定义 A(η) 的一阶导数用符号 μ 表示,则有 uE[T(x)]μη 之间的关系可以用如下函数表示:

(3.2.28)μ=dAdη

并且这个函数是可逆的,也就是说已知 μ 就能求出 η ; 反过来,已知 η 就能求出 μ 。 比如对于伯努利分布:

(3.2.29)η=μ1μμ=11+eη (logistic function)

对于多项式分布:

(3.2.30)ηi=ln(μi1i=1m1)μi=eηij=1meηj (softmax function)

由于 μη 是可逆的,所以对于指数族分布,也可以用 μ 去定义分布模型,也就是用 μ 去当做模型的参数。事实上,我们常见的分布都是这么做的,比如伯努利分布、高斯分布等等。

3.3. 最大似然估计

现在我们讨论下指数族的最大似然估计, 我们知道指数族的自然参数 η 和特定分布的原始参数 θ 是一一对应的,二者是存在可逆关系的, 所有只要我们能估计出自然参数 η ,就一定能通过逆函数 ϕ()1 得到分布的真实参数 θ 的估计值,也就是说对于指数族,我们只需要推导自然参数的估计量 eta^ 即可。

我们用符号 D 表示随机变量的一个观测样本集,样本集的规模是N, 并且样本集是满足IID(独立同分布)的。

首先回顾一下指数族分布的标准形式:

(3.3.28)p(x|η)=exp{ηTT(x)A(η)+S(x)}

我们知道样本的似然就是所有样本发生的联合概率:

(3.3.29)L(η;D)=p(D|η)=p(x1,,xN|η)=i=1Np(xi|η)=i=1Nexp{ηTT(xi)A(η)+S(xi)}=exp{ηTi=1NT(xi)NA(η)+i=1NS(xi)}

对比一下,我们发现指数族分布的联合概率仍然是指数族:

(3.3.30)T(x)i=1NT(xi)A(η)NA(η)S(x)i=1NS(xi)

现在我们为似然函数加上对数,得到对数似然函数:

(3.3.31)(η;D)=lnL(η;D)=ηTi=1NT(xi)NA(η)+i=1NS(xi)

我们对参数 η 求导:

(3.3.32)η=i=1NT(xi)NηA(η)

上述公式中的 ηA(η) 表示对函数 A(η) 关于 η 求导, 这里函数 A(η) 是一个关于 η 的函数。 我们令这个导数为0,可得:

(3.3.33)ηA(η)=1Ni=1NT(xi)

公式(3.2.22) 我们知道 A(η) 的一阶导数等于 T(x) 的期望 E[T(x)] , 即 ηA(η)=E[T(x)] 。 我们令 μηA(η)=E[T(x)] , 结合公式 公式(3.3.33) 有:

(3.3.34)μML=E[T(x)]=1Ni=1NT(x)

公式(3.3.34) 可以看出,指数族分布理论期望值(均值参数)等于样本的期望值(平均值)。 均值参数的最大似然估计值,只和样本的统计量 i=1NT(x) 有关, 而不再依赖样本的其它信息,所以 i=1NT(x) (或者说 T(x) )是指数族的充分统计量。 对于满足 T(x)=x 的分布,比如伯努利分布、多项式分布、泊松分布等等,样本的均值就是 T(x) 的均值, 样本的均值就是均值参数的最大似然估计值 。 同理,对于单变量的高斯分布,样本的方差就是方差参数的最大似然估计值。

我们知道 μη 是一一对应的,可以通过一个函数进行互相计算,最大似然估计给出了 μML 的估计值,我们就是可以换算出 ηML 。 前文说过,事实上对于很多常见分布是直接用 μ 作为参数的,所以有了最大似然的估计值 μML 就直接是模型的参数估计值。 公式(3.3.34) 也直接说明了当样本数量趋近无穷大时,最大似然估计值和 μ 的真实值是一致的。

3.4. 最大似然估计与KL散度的关系

本节我们讨论一下指数族的最大似然估计和KL散度的关系,在开始前我们先回顾一下KL散度的定义。

KL散度(Kullback–Leibler divergence)

KL散度(Kullback–Leibler divergence,简称KLD),在信息系统中称为相对熵(relative entropy), 在连续时间序列中称为randomness,在统计模型推断中称为信息增益(information gain), 也称信息散度(information divergence)。 KL散度是两个概率分布P和Q差别的 非对称性 的度量,可以理解成是用来度量两个分布的相似性。 一般用符号 DKL(PQ) 表示。

对于离散随机变量,概率分布P和Q的KL散度按照下式定义:

(3.4.35)DKL(PQ)=iP(i)lnP(i)Q(i)

或者:

(3.4.36)DKL(PQ)=iP(i)lnQ(i)P(i)

即按照概率P求得P和Q的对数商的平均值(期望),其中对数的底可以是任意的。 KL散度仅当概率P和Q各自总和均为1,且对于任何i皆满足 Q(i)>0,P(i)>0 时才有定义。 式中出现 0ln0 的情况,其值按0处理。

对于连续随机变量,其概率分布P和Q可按积分方式定义为:

(3.4.37)DKL(PQ)=P(x)lnP(x)Q(x)dx

相对熵的值为非负数 DKL(PQ)0 , 由吉布斯不等式可知,当且仅当P = Q时 DKL(PQ) 为零。 尽管从直觉上KL散度是个度量或距离函数, 但是它实际上并不是一个真正的度量或距离。 因为KL散度不具有对称性:从分布P到Q的距离通常并不等于从Q到P的距离。

(3.4.38)DKL(PQ)DKL(QP)

我们可以根据信息理论量重写对数似然函数,其中 xm 为随机变量的一个可能取值, p^D(xm) 表示在样本中变量值为 xm 的样本出现的比例,乘以N后就是出现的次数。 我们用 p^D(xm) 表示从样本中的到的经验分布。 此外,定义 nm 表示样本中 xm 出现的次数,则有 nm=Np^D(xm)

(3.4.39)(η;D)=i=1Nlogp(x(i);η)=xmXlogp(xm;η)nm=NxmXp^D(xm)logp(xm;η)=NxmXp^D(xm)[logp(xm;η)logp^D(xm)+logp^D(xm)]=NxmXp^D(xm)[logp(xm;η)p^D(xm)+logp^D(xm)]=NxmXp^D(xm)logp(xm;η)p^D(xm)负的KL散度+NxmXp^D(xm)logp^D(xm)经验分布的信息熵=N(H(p^D)D(p^Dp(x;η)))

我们可以忽略熵项,因为它是经验分布的函数,与参数 η 无关,在极大化过程中其值是固定值。 因此,最大化似然等同于最小化经验分布与真实分布的信息差异 D(p^Dp(;η))

回想一下,当两个分布是相同的分布时,KL散度为零。 在多项式情况下, 由于我们在有限空间 X 上优化了所有分布的集合,我们可以精确地匹配分布,例如, 令 p(;η)=p^D ,即可使KL散度为零,得到精确匹配。 然而,在大多数有趣的问题中,我们无法完全匹配数据分布(如果可以,我们只会过度拟合)。 相反,我们通常优化由 η 参数化的受限类分布,来得到近似解。