指数分布族 Exponential Family Distributions

如果一类分布可以写成如下形式,我们就说它是指数分布族的:

p(y; η) = b(y)exp (ηTT(y) − a(η))  (3.1)

  • η 被称为该分布的 自然参数 (natural parameter,也称为正则参数 canonical parameter)。
  • T(y)充分统计量 (sufficient statistic)。在我们考虑的分布中,通常有 T(y) = y
  • a(η)对数配分函数 (log partition function)。
  • ea(η) 本质上起到了归一化常数的作用,确保分布 p(y; η)y 的求和或积分等于 1。

一旦固定了 T, ab 的选择,就定义了一个由 η 参数化的分布族;随着我们改变 η,我们就能得到该家族中不同的分布。

伯努利分布(Bernoulli Distribution)

我们现在证明伯努利分布和高斯分布都是指数分布族的例子。均值为 ϕ 的伯努利分布(记作 Bernoulli(ϕ))定义在 y ∈ {0, 1} 上,使得 p(y = 1; ϕ) = ϕp(y = 0; ϕ) = 1 − ϕ。随着 ϕ 的变化,我们得到不同均值的伯努利分布。我们现在通过选择合适的 T, ab,将伯努利分布改写为等式 (3.1) 的形式:

$$ \begin{aligned} p(y; \phi) &= \phi^y (1 - \phi)^{1-y} \\ &= \exp(y \log \phi + (1 - y) \log(1 - \phi)) \\ &= \exp \left( \left( \log \left( \frac{\phi}{1 - \phi} \right) \right) y + \log(1 - \phi) \right) \end{aligned} $$

由此可见,自然参数为 η = log (ϕ/(1 − ϕ))。有趣的是,如果我们反解出 ϕ 关于 η 的函数,可以得到:

$$ \phi = \frac{1}{1 + e^{-\eta}} $$

这就是我们熟悉的 Sigmoid 函数!当我们之后将逻辑回归推导为一种 GLM 时,这一点会再次出现。为了完成伯努利分布的指数族表述,我们还有:

  • T(y) = y
  • a(η) = −log (1 − ϕ) = log (1 + eη)
  • b(y) = 1

这表明伯努利分布可以通过适当选择 T, ab 写成等式 (3.1) 的形式。


高斯分布(Gaussian Distribution)

接下来考虑高斯分布。回顾一下,在推导线性回归时,σ2 的取值对我们最终选择的 θhθ(x) 没有影响。因此,我们可以选择一个任意值给 σ2 而不改变任何结论。为了简化推导,我们设 σ2 = 1。则有:

$$ \begin{aligned} p(y; \mu) &= \frac{1}{\sqrt{2\pi}} \exp \left( -\frac{1}{2}(y - \mu)^2 \right) \\ &= \frac{1}{\sqrt{2\pi}} \exp \left( -\frac{1}{2}y^2 \right) \cdot \exp \left( \mu y - \frac{1}{2}\mu^2 \right) \end{aligned} $$

由此可见,高斯分布也属于指数分布族,其中:

  • η = μ
  • T(y) = y
  • a(η) = μ2/2 = η2/2
  • $b(y) = \frac{1}{\sqrt{2\pi}} \exp(-y^2/2)$

还有许多其他分布也是指数分布族的成员:例如 多项式分布 (我们稍后会看到)、 泊松分布 (用于计数数据建模)、伽马分布指数分布 (用于建模连续的正随机变量,如时间间隔)、Beta 分布狄利克雷分布 (用于概率的分布)等等。在下一节中,我们将描述一种通用的“配方”,用于构建 y(给定 xθ)符合上述任何分布的模型。

构建广义线性模型

假设你想要建立一个模型,根据某些特征 x(如商店促销、近期广告、天气、星期几等)来估算每小时光顾商店的顾客数量 y(或者是你网站的页面浏览量)。我们知道,泊松分布通常能很好地模拟访客数量。既然如此,我们该如何为这个问题建立模型呢?幸运的是,泊松分布属于指数分布族,因此我们可以应用广义线性模型(GLM)。在本节中,我们将介绍一种为这类问题构建 GLM 模型的方法。

更一般地,考虑一个分类或回归问题,我们希望预测某个随机变量 y 关于 x 的值。为了推导该问题的 GLM,我们将对给定 xy 的条件分布以及我们的模型做出以下 三个假设

  1. y|x; θ ∼ ExponentialFamily(η) 。即:在给定 xθ 的情况下,y 的分布服从某个以 η 为自然参数的指数分布族
  2. 给定 x,我们的目标是预测 T(y) 在给定 x 下的期望值。在大多数例子中,我们有 T(y) = y,这意味着我们希望学习到的假设函数 h 输出的预测值 h(x) 满足 h(x) = E[y|x] 。(注意,在逻辑回归和线性回归中,对 hθ(x) 的选择都满足这一假设。例如在逻辑回归中,hθ(x) = p(y = 1|x; θ) = 0 ⋅ p(y = 0|x; θ) + 1 ⋅ p(y = 1|x; θ) = E[y|x; θ]。)
  3. 自然参数 η 与输入 x 呈线性关系: η = θTx 。(如果 η 是向量,则 ηi = θiTx。)

普通最小二乘法 (Ordinary Least Squares)

为了展示普通最小二乘法是 GLM 家族的一个特例,考虑目标变量 y(在 GLM 术语中也称为 响应变量 )是连续的,并且我们将给定 xy 的条件分布建模为高斯分布 𝒩(μ, σ2)(此处 μ 可能依赖于 x)。因此,我们令上述指数分布族为高斯分布。正如我们之前所见,在高斯分布的指数族形式中,有 μ = η。因此:

$$ \begin{aligned} h_\theta(x) &= E[y|x; \theta] \\ &= \mu \\ &= \eta \\ &= \theta^T x \end{aligned} $$

第一个等号根据假设 2;第二个等号根据 y|x; θ ∼ 𝒩(μ, σ2) 及其期望值为 μ;第三个等号根据假设 1(以及之前推导的高斯分布中 μ = η);最后一个等号根据假设 3。


逻辑回归 (Logistic Regression)

现在考虑逻辑回归。这里我们关注二元分类,所以 y ∈ {0, 1}。既然 y 是二值化的,选择伯努利分布族来建模给定 xy 的条件分布是很自然的。在伯努利分布的指数族形式中,我们有 ϕ = 1/(1 + eη)。此外,如果 y|x; θ ∼ Bernoulli(ϕ),那么 E[y|x; θ] = ϕ。遵循与普通最小二乘法类似的推导:

$$ \begin{aligned} h_\theta(x) &= E[y|x; \theta] \\ &= \phi \\ &= 1/(1 + e^{-\eta}) \\ &= 1/(1 + e^{-\theta^T x}) \end{aligned} $$

这给出了形式为 hθ(x) = 1/(1 + eθTx) 的假设函数。如果你之前好奇我们是如何得出逻辑函数 1/(1 + ez) 这种形式的,这就是答案:一旦我们假设 y 在给定 x 下服从伯努利分布,它就是 GLM 定义和指数分布族属性的必然结果。

再引入一些术语:将分布的均值表示为自然参数的函数(g(η) = E[T(y); η])称为 正则响应函数 (canonical response function) 。它的反函数 g−1 称为 正则联系函数 (canonical link function) 。因此,高斯分布族的正则响应函数是恒等函数;而伯努利分布族的正则响应函数是逻辑函数(Sigmoid 函数)。


Softmax 回归 (Softmax Regression)

让我们再看一个 GLM 的例子。考虑一个分类问题,响应变量 y 可以取 k 个值中的任意一个,即 y ∈ {1, 2, …, k}。例如,我们可能想将电子邮件分为三类:垃圾邮件、个人邮件和工作相关邮件,而不仅仅是二元分类。响应变量仍然是离散的,但现在可以取两个以上的值。因此,我们将建模它服从 多项式分布 (Multinomial Distribution)

我们要为多项式数据推导一个 GLM。首先,将多项式分布表示为指数分布族。

为了参数化具有 k 种可能结果的多项式分布,可以使用 k 个参数 ϕ1, …, ϕk 来指定每个结果的概率。然而,这些参数是冗余的(因为 $\sum_{i=1}^k \phi_i = 1$,知道其中 k − 1 个就能确定最后一个)。因此,我们只用 k − 1 个参数 ϕ1, …, ϕk − 1,其中 ϕi = p(y = i; ϕ)$p(y=k; \phi) = 1 - \sum_{i=1}^{k-1} \phi_i$

为了将多项式分布表达为指数分布族,我们定义 T(y) ∈ ℝk − 1 如下(独热编码形式):

T(1) = [1, 0, 0, …, 0]T, T(2) = [0, 1, 0, …, 0]T, …, T(k − 1) = [0, 0, 0, …, 1]T, T(k) = [0, 0, 0, …, 0]T

这里 T(y) 是一个 k − 1 维向量。我们使用指示函数 1{⋅},可以写成 (T(y))i = 1{y = i}。此外,E[(T(y))i] = P(y = i) = ϕi

经过代数推导(详见原文公式),多项式分布可以写成:

p(y; ϕ) = b(y)exp (ηTT(y) − a(η))

其中,自然参数为:

ηi = log (ϕi/ϕk)

反解出 ϕ 关于 η 的函数(响应函数),我们得到:

$$ \phi_i = \frac{e^{\eta_i}}{\sum_{j=1}^k e^{\eta_j}} $$

这个从 ηϕ 的映射函数被称为 Softmax 函数。

根据假设 3,令 ηi = θiTx,我们的模型假设条件概率为:

$$ p(y = i|x; \theta) = \frac{e^{\theta_i^T x}}{\sum_{j=1}^k e^{\theta_j^T x}} $$

这个模型被称为 Softmax 回归。它是逻辑回归的推广。

最后,关于参数拟合,我们可以通过最大化对数似然函数 (θ) 来学习参数 θi

$$ \ell(\theta) = \sum_{i=1}^n \log \prod_{l=1}^k \left( \frac{e^{\theta_l^T x^{(i)}}}{\sum_{j=1}^k e^{\theta_j^T x^{(i)}}} \right)^{1\{y^{(i)}=l\}} $$

我们可以使用梯度上升法或牛顿法来求解使该式最大化的参数。

统一梯度上升法

在 GLM 中,所有分布都可以写成:

p(y; η) = b(y)exp (ηTT(y) − a(η))

那么,通用的对数似然函数直接就是:

$$ \ell(\eta) = \sum_{i=1}^n [ \log b(y^{(i)}) + \eta^{(i)T} T(y^{(i)}) - a(\eta^{(i)}) ] $$

第一步:利用链式法则拆解

对于第 i 个样本的对数似然 (i),我们有:

$$ \frac{\partial \ell^{(i)}}{\partial \theta_j} = \frac{\partial \ell^{(i)}}{\partial \eta} \cdot \frac{\partial \eta}{\partial \theta_j} $$

第二步:对 η 求导

观察对数似然公式:(i) = log b(y(i)) + ηTT(y(i)) − a(η)

  1. log b(y(i))η 无关,导数为 0
  2. ηTT(y(i))η 求导,结果是 T(y(i))
  3. a(η)η 求导,这是指数分布族的一个 核心性质 : > 性质: 对数配分函数 a(η) 的一阶导数等于充分统计量的期望值。 > > $$ > \frac{da}{d\eta} = E[T(y) | x; \theta] > $$ >

所以:

$$ \frac{\partial \ell^{(i)}}{\partial \eta} = T(y^{(i)}) - E[T(y^{(i)}) | x^{(i)}; \theta] $$

第三步:对 θ 求导

根据假设 $\eta = \theta^T x = \sum_{j=0}^d \theta_j x_j$,那么:

$$ \frac{\partial \eta}{\partial \theta_j} = x_j $$

第四步:合并结果

将上述两步合并:

$$ \frac{\partial \ell^{(i)}}{\partial \theta_j} = \left( T(y^{(i)}) - E[T(y^{(i)}) | x^{(i)}; \theta] \right) x_j^{(i)} $$

在大多数常见模型(线性回归、逻辑回归)中,T(y) = y,且根据 GLM 假设,期望值 E[y|x] 就是我们的预测函数 hθ(x)

所以公式简化为:

$$ \frac{\partial \ell^{(i)}}{\partial \theta_j} = (y^{(i)} - h_\theta(x^{(i)})) x_j^{(i)} $$