1. 指数族分布
到目前为止,我们已认识:
实际上,这两种方法都是更广泛的模型族——广义线性模型(GLMs)的特例。
我们首先定义指数族分布:
如果某类分布的概率密度函数可以写成以下形式,我们就说它属于指数族:
p(y;η)=b(y)exp(ηTT(y)−a(η))(1)
上式中, y 是上式给出的概率分布试图建模的数据。
主要组成部分:
- η 称为自然参数(natural parameter)或者规范参数(canonical parameter)
- T(y) 称为充分统计量(对于我们考虑的大多数分布,通常 T(y)=y)
- a(η) 是对数配分函数(量 e−a(η) 本质上起到归一化常数的作用)
- b(y) 是基测度
T、a 和 b 的一种固定选择定义了一个由 η 参数化的分布族(或集合),当我们改变 η 时,我们在这个家族中得到不同的分布。
许多分布都可以写成指数族形式。最著名的有正态分布、Beta 分布、Gamma 分布等。
2. 指数族示例
2.1 伯努利分布
均值为 ϕ 的伯努利分布 Bernoulli(ϕ) 指定了 y∈{0,1} 上的分布,使得
p(y=1;ϕ)=ϕ
p(y=0;ϕ)=1−ϕ
当我们改变 ϕ 时,我们得到具有不同均值的伯努利分布。
我们现在展示这个伯努利分布类在指数族中,即存在 T、a 和 b 的选择方程 (1) 恰好成为伯努利分布。
我们将伯努利分布写为:
p(y;ϕ)=ϕy(1−ϕ)1−y=exp(ylogϕ+(1−y)log(1−ϕ))=exp((log1−ϕϕ)y+log(1−ϕ))
可以见到:
- 自然参数 η=log(ϕ/(1−ϕ))
- 充分统计量 T(y)=y
- 对数配分函数 a(η)=−log(1−ϕ)=log(1+eη)
- 基测度 b(y)=1
值得注意的是,对于自然参数的表达式,若用 η 求解 ϕ ,我们可以得到
ϕ=1/(1+e−η)=1+e−η1
正好是我们熟悉的 Sigmoid 函数!
2.2 高斯分布
由于我们在推导线性回归时,σ2 的值对我们最终选择 θ 和 hθ(x) 没有影响(即其缩放不影响优化)。因此,我们可以任意选择 σ2 的值而不改变任何东西。为简化下面的推导,令 σ2=1 ,那么我们有:
p(y;μ)=2π1exp(−21(y−μ)2)=2π1exp(−21y2)⋅exp(μy−21μ2)
可以见到:
- 自然参数 η=μ
- 充分统计量 T(y)=y
- 对数配分函数 a(η)=μ2/2=η2/2
- 基测度 b(y)=2π1exp(−21y2)
同样注意到,反解自然参数的表达式,可以得到
μ=η
这是一个恒等函数!
提示
如果我们将 σ2 作为一个变量,高斯分布也可以展示为在指数族中,其中 η∈R2 ,是一个依赖于 μ 和 σ 的二维向量。
然而,对于 GLM 的目的,σ2 参数也可以通过考虑更一般的指数族定义来处理:p(y;η,τ)=b(a,τ)exp((ηTT(y)−a(η))/c(τ))。这里,τ 称为离散参数,对于高斯分布,c(τ)=σ2;但由于我们的简化,对于这里考虑的示例,我们不需要更一般的定义。
3. 对指数族的简单理解
对于指数族分布的概率密度函数统一形式:
p(y;η)=b(y)⋅exp(η⊤T(y)−a(η))
固定选择 T、a、b 后,改变 η 能得到族内不同的分布(得到由 η 参数化的一族)。
3.1 自然参数
自然参数(Natural Parameter)特指将概率分布表示为指数族(Exponential Family)标准形式时,与充分统计量(Sufficient Statistic)线性相乘的那个参数。
所谓自然参数,是指该参数是原始的,未经约束的参数,其代表了模型中所有未知的参数。
自然参数通常与概率分布的参数相关。对于指数族来说,通常有两个参数:
- 代表位置(location)的参数:通常与分布的期望相关
- 代表尺度(scale)的参数:通常与分布的方差相关
3.2 充分统计量
查阅维基百科可知:
在统计学中,一个关于一个统计模型和相关的未知母数(参数)的充分统计量是指 “没有任何其他可以以同一样本中计算得出的统计量可以提供任何有关未知参数的额外讯息”。
也就是说,充分统计量压缩了样本中关于未知参数的全部信息,任何其他的统计量都无法在此基础上提供更多关于未知参数的信息,即:
T(y):Y→Rd
上式表示 T 接受数据点 y(在输出空间 Y 中)并将其映射到一个 d 维实数向量。
充分统计量的数学定义如下:
设统计量为 t=T(X),未知参数为 θ。如果在已知统计量 T(X) 的值的情况下,原始数据 X 的条件概率分布与参数 θ 无关,那么 T(X) 就是 θ 的充分统计量。即:
Pr(x∈A∣t,θ)=Pr(x∈A∣t)
上式表明,一旦知道了 T(X) 的值,数据的其他随机性就与 θ 无关了。
即对于预测 θ 这件事,T(X) 和 X 包含的信息的量是一致的,X 包含的信息无法帮助我们了解更多关于 θ 的信息。
提示
为什么对于我们考虑的大多数分布,通常 T(y)=y ?
- 对于我们前述探讨的分布,样本都是独立同分布(i.i.d.)的,且只预测一个标量。
- 对于这单个样本 y,它的充分统计量恰好就是它自己。
- 对于整个数据集(指数族),它的充分统计量是 ΣiT(yi)
满足 T(y)=y 的指数族称为自然指数族。
信息
在一定的正则条件下,指数族是唯一拥有"有限规模充分统计量"(finite-dimensional sufficient statistics,即统计量维数不随样本数增长)的分布族。
3.3 对数配分函数
a(η):D→R 是对数配分函数。它通过对配分函数取对数得到:
a(η)=log∫Yb(y)exp(η⊤T(y))dy
配分函数(partition function)本身是归一化常数,保证分布积分为 1:
∫p(y;η)dy=1⟺ea(η)=∫b(y)eη⊤T(y)dy
对数配分函数因指数族结构,产生了很多好用的性质。其在指数族分布中几个作用如下:
3.4 基测度
基测度(base measure) b(y) 是一个仅与数据 y 有关,而与参数 η 无关的非负函数。
基测度这个名字来源于测度论,常见两种测度:
- 计数测度是可以定义在任意集合上的测度,它将每个集合含有的元素个数作为这个集合的测度。
- 勒贝格测度(Lebesgue measure)是欧几里得空间上的标准测度(如通常的长度、面积和体积)。
在指数族分布中,令自然参数 η=0,那么有
p(y;η=0)=b(y)⋅exp(0)∝b(y)
可见基测度表现的是当自然参数为零的分布情况。
4. 指数族性质
4.1 封闭性
假设我们有一个指数族,两种不同参数化 η1 和 η2 :
p1(y)⋅p2(y)=b(y)exp(η1⊤T(y)−a(η1))⋅b(y)exp(η2⊤T(y)−a(η2))
=e−a(η1)exp((η1+c)T(y))⋅e−a(η2)exp((η2+c)T(y))
∝e−a(ηextra)b(y)⋅exp(η′T(y))
结果再次是同一个指数族的形式。除法也有类似结果。
说明指数族对乘法和除法是封闭的,对于自然参数 η 则是加减法。这意味着可以通过简单的加法来更新分布参数。
4.2 共轭性(Conjugacy)
贝叶斯推断通过贝叶斯定理进行:
p(θ∣X)=p(X)p(X∣θ)p(θ)=∫p(X∣θ)p(θ)p(X∣θ)p(θ)=证据似然⋅先验
一般来说,两个概率分布的乘积不会以闭式形式产生新的概率分布(因为作为证据的积分项往往算不出准确的数值)。因此必须用近似或昂贵的采样策略来得到后验密度。
根据维基百科,在贝叶斯统计中,如果后验分布与先验分布属于同类,则先验分布与后验分布被称为共轭分布,而先验分布被称为似然函数的共轭先验(Conjugate prior)。
当先验分布与似然共轭时,后验与先验形式相同,其参数可以闭式更新。大多数分布彼此不共轭,但对常用的似然函数,一般都存在一个指数族共轭先验。
例:伯努利似然有 Beta 共轭先验
- 似然(伯努利):p(y∣ϕ)=ϕy(1−ϕ)1−y
- 先验(贝塔分布):p(ϕ)∝ϕα−1(1−ϕ)β−1
先验参数为 (α,β),看完样本数据后有
- 后验:p(ϕ∣y)∝ϕα+∑yi−1(1−ϕ)β+n−∑yi−1
即更新规则:
α′=α+i∑yi,β′=β+n−i∑yi
4.3 矩计算(Moment Calculation)
指数族的矩可以通过对对数配分函数 a(η) 求导来计算。
根据指数族的性质,矩计算直接等价于:
- 一阶矩(均值/期望)
E [ T(y)∣η ]=∇a(η)
- 二阶中心矩(协方差/方差)
Var [ T(y)∣η ]=∇2a(η)
一般地,随机变量 y 的矩生成函数(Moment Generating Function, MGF)是:
MX(t):=E[etX],t∈R
对离散型变量:MX(t)=∑xetxp(x)
对连续型变量:MX(t)=∫−∞∞etxf(x)dx
注意到只要期望存在 MX(0) 总是存在且为 1,因为概率密度积分必须为 1。
通过矩生成函数,可以得到所有阶的矩。
矩生成函数的对数称为累积量生成函数(Cumulant Generating Function, CGF)
KX(t)=log MX(t),t∈R
对指数族,充分统计量 T(y) 的 MGF 是:
MT(y)(u)=E[eu⊤T(y)∣η]=∫yb(y)exp((η+u)⊤T(y)−a(η))dy=exp(a(η+u)−a(η))
(因为需要归一化,所以 ∫b(y)exp{(η+u)TT(x)−a(η+u)}dx=1)
取对数,得到 CGF:
KT(y)(u)=a(η+u)−a(η)
对 K(u) 关于 u 求导然后令 u=0,通过生成函数可知上述结论。
4.4 矩匹配(Moment Matching)
假设有两个分布 p(y) 和 q(y),其中 p 是任意固定分布,q 是指数族成员。
可以证明,两个分布之间的 KL 散度 KL(p∥q) 通过匹配它们的矩来最小化。
KL 散度
又称为相对熵(Relative Entropy)。
对于离散随机变量,其概率分布 P 和 Q 的 KL 散度定义为下式(可由信息熵推导)
DKL(P∥Q)=−i∑P(i)lnP(i)Q(i)
等价于
DKL(P∥Q)=i∑P(i)lnQ(i)P(i)
对于连续随机变量,其概率分布P和Q的KL散度可按积分方式定义为
DKL(P∥Q)=∫−∞∞p(x)lnq(x)p(x)dx
其中 p 和 q 分别表示分布 P 和 Q 的密度。
KL 散度衡量的是用错误的分布 Q 去编码来自真实分布 P 的数据时,每个符号平均多浪费了多少比特。需要注意,DKL(P∥Q)=DKL(Q∥P)。
e.g. 把 p(y) 的均值和方差设为 q(y) 的(匹配前两项矩),基于指数族的性质,这只要调整自然参数 η 就行了。
推导如下:
KL(p∣∣q)=∫p(y)logq(y)p(y)dy=∫p(y)logp(y)dy−∫p(y)logq(y)dy
从而有 DKL(p∥q)=Ep[logp]−Ep[logq]
因为 q(y) 是指数族:logq(y)=logh(y)+ηT(y)−a(η)
把它代入 KL(p∥q)=Ep[logp]−Ep[logq],得到: KL=Ep[logp]−Ep[logh(y)]−Ep[ηT(y)]+Ep[a(η)]
通过找到合适的 η 来最小化上式 KL 散度,因此将上式简化为 η 的函数:
KLη=−η⋅Ep[T(y)]+a(η)
要最小化这个函数,对 η 求一阶导:
∇ηKLη=−Ep[T(y)]+∇ηa(η)=0
移项得
∇ηa(η)=Ep[T(y)]
即
Eq[T(y)]=Ep[T(y)]
参考
- https://cs229.stanford.edu/main_notes.pdf
- https://aman.ai/cs229/glm/#the-exponential-family
A (visual) Tutorial on Exponential Families
https://www.mariushobbhahn.com/2021-06-10-ExpFam_tutorial/
维基百科-充分统计量
https://zh.wikipedia.org/wiki/%E5%85%85%E5%88%86%E7%BB%9F%E8%AE%A1%E9%87%8F
张振虎的博客
https://www.zhangzhenhu.com/glm/source/%E5%B9%BF%E4%B9%89%E7%BA%BF%E6%80%A7%E6%A8%A1%E5%9E%8B/content.html#equation-eq-glm-08
维基百科-共轭先验
https://zh.wikipedia.org/wiki/%E5%85%B1%E8%BD%AD%E5%85%88%E9%AA%8C