基于狄利克雷回归(Dirichlet Regression)的多类概率预测模型
题目描述
在传统的多分类问题中,模型通常预测一个样本的单一类别标签。然而,在许多实际应用中,一个样本可能同时属于多个类别,或者我们更关心样本属于各个类别的概率分布。例如,在文档主题建模中,一个文档可能同时涵盖多个主题,每个主题的占比不同。狄利克雷回归是一种用于建模此类“组合”或“比例”响应变量的统计模型。其响应变量服从狄利克雷分布,输出是一个概率单纯形(即所有分量之和为1的非负向量)。本题目将详细讲解狄利克特回归的模型设定、参数估计(极大似然估计)以及预测过程。
解题过程
1. 问题定义与模型设定
我们有一个数据集,包含 \(N\) 个观测样本。对于第 \(i\) 个样本:
- 特征向量为 \(\mathbf{x}_i \in \mathbb{R}^D\)。
- 响应变量是一个 \(K\) 维的概率向量 \(\mathbf{y}_i = (y_{i1}, y_{i2}, \dots, y_{iK})\),满足 \(y_{ik} > 0\) 且 \(\sum_{k=1}^K y_{ik} = 1\)。例如,在文档主题分析中,\(y_{ik}\) 表示文档 \(i\) 属于主题 \(k\) 的比例。
目标:基于特征 \(\mathbf{x}_i\) 预测概率向量 \(\mathbf{y}_i\)。
狄利克雷分布:
响应变量 \(\mathbf{y}_i\) 被假设服从狄利克雷分布,其概率密度函数为:
\[p(\mathbf{y}_i | \boldsymbol{\alpha}_i) = \frac{1}{B(\boldsymbol{\alpha}_i)} \prod_{k=1}^K y_{ik}^{\alpha_{ik} - 1} \]
其中:
- \(\boldsymbol{\alpha}_i = (\alpha_{i1}, \alpha_{i2}, \dots, \alpha_{iK})\) 是形状参数向量,且 \(\alpha_{ik} > 0\)。
- \(B(\boldsymbol{\alpha}_i) = \frac{\prod_{k=1}^K \Gamma(\alpha_{ik})}{\Gamma(\sum_{k=1}^K \alpha_{ik})}\) 是多变量贝塔函数,\(\Gamma(\cdot)\) 是伽马函数。
狄利克雷分布的期望为:
\[\mathbb{E}[y_{ik}] = \frac{\alpha_{ik}}{\alpha_{i0}}, \quad \text{其中} \quad \alpha_{i0} = \sum_{k=1}^K \alpha_{ik} \]
方差和协方差也由 \(\boldsymbol{\alpha}_i\) 决定。\(\alpha_{i0}\) 称为精度参数,控制分布的集中程度(值越大,分布越集中在均值附近)。
2. 建立回归链接
为了将特征 \(\mathbf{x}_i\) 与响应分布联系起来,我们需要对形状参数 \(\alpha_{ik}\) 建模。常用的参数化方式是:
\[\alpha_{ik} = \exp(\mathbf{x}_i^\top \boldsymbol{\beta}_k) \]
或者更一般地:
\[\alpha_{ik} = \exp(\beta_{0k} + \mathbf{x}_i^\top \boldsymbol{\beta}_k) \]
其中 \(\boldsymbol{\beta}_k \in \mathbb{R}^D\) 是对应于类别 \(k\) 的回归系数向量(包含截距项)。这样确保 \(\alpha_{ik} > 0\)。因此,模型参数是所有 \(\boldsymbol{\beta}_k\) 的集合,记作 \(\mathbf{B} = [\boldsymbol{\beta}_1, \dots, \boldsymbol{\beta}_K]\)。
3. 极大似然估计
给定 \(N\) 个独立同分布的样本,对数似然函数为:
\[\mathcal{L}(\mathbf{B}) = \sum_{i=1}^N \log p(\mathbf{y}_i | \boldsymbol{\alpha}_i(\mathbf{B})) \]
代入狄利克雷密度函数:
\[\mathcal{L}(\mathbf{B}) = \sum_{i=1}^N \left[ \sum_{k=1}^K (\alpha_{ik} - 1) \log y_{ik} - \log B(\boldsymbol{\alpha}_i) \right] \]
其中 \(\alpha_{ik} = \exp(\mathbf{x}_i^\top \boldsymbol{\beta}_k)\)(假设已包含截距项)。
目标:找到 \(\mathbf{B}\) 最大化 \(\mathcal{L}(\mathbf{B})\)。由于对数似然包含伽马函数,没有闭合解,需要使用数值优化方法(如梯度上升、牛顿法、拟牛顿法)。
梯度计算:
对参数 \(\beta_{kj}\)(第 \(k\) 类系数向量的第 \(j\) 个分量)求导:
\[\frac{\partial \mathcal{L}}{\partial \beta_{kj}} = \sum_{i=1}^N \frac{\partial \log p(\mathbf{y}_i | \boldsymbol{\alpha}_i)}{\partial \alpha_{ik}} \cdot \frac{\partial \alpha_{ik}}{\partial \beta_{kj}} \]
其中:
- \(\frac{\partial \alpha_{ik}}{\partial \beta_{kj}} = \alpha_{ik} x_{ij}\)(因为 \(\alpha_{ik} = \exp(\mathbf{x}_i^\top \boldsymbol{\beta}_k)\))。
- 对于狄利克雷分布,有:
\[\frac{\partial \log p(\mathbf{y}_i | \boldsymbol{\alpha}_i)}{\partial \alpha_{ik}} = \log y_{ik} - \psi(\alpha_{ik}) + \psi(\alpha_{i0}) \]
其中 \(\psi(\cdot)\) 是 digamma 函数(伽马函数的对数导数)。
因此,梯度为:
\[\frac{\partial \mathcal{L}}{\partial \beta_{kj}} = \sum_{i=1}^N \left[ \log y_{ik} - \psi(\alpha_{ik}) + \psi(\alpha_{i0}) \right] \cdot \alpha_{ik} x_{ij} \]
优化算法(如 L-BFGS)利用梯度和可能的 Hessian 矩阵信息迭代更新 \(\mathbf{B}\) 直至收敛。
4. 预测过程
训练得到参数估计 \(\hat{\mathbf{B}}\) 后,对于新样本特征 \(\mathbf{x}_*\):
- 计算形状参数估计:
\[\hat{\alpha}_{*k} = \exp(\mathbf{x}_*^\top \hat{\boldsymbol{\beta}}_k) \]
- 预测的概率分布(期望)为:
\[\hat{\mathbf{y}}_* = \left( \frac{\hat{\alpha}_{*1}}{\hat{\alpha}_{*0}}, \frac{\hat{\alpha}_{*2}}{\hat{\alpha}_{*0}}, \dots, \frac{\hat{\alpha}_{*K}}{\hat{\alpha}_{*0}} \right) \]
其中 \(\hat{\alpha}_{*0} = \sum_{k=1}^K \hat{\alpha}_{*k}\)。
此外,我们还可以计算预测分布的精度 \(\hat{\alpha}_{*0}\),它反映了预测的不确定性(精度越高,分布越集中)。
5. 模型特点与应用场景
- 优点:直接建模概率向量,适用于成分数据(如比例、组成);提供不确定性估计;可解释性强(系数表示特征对类别比例的影响)。
- 缺点:假设响应服从狄利克雷分布,可能不适合所有数据;计算复杂度高(涉及特殊函数和大规模优化)。
- 应用:文档主题比例预测、生态学中物种组成建模、经济学中预算份额分析等。
总结
狄利克雷回归通过将特征映射到狄利克雷分布的形状参数,实现对概率向量的条件建模。其核心步骤包括:1) 假设响应服从狄利克雷分布;2) 通过指数链接函数建立特征与形状参数的回归关系;3) 使用极大似然估计拟合回归系数;4) 基于估计系数预测新样本的概率分布。该模型是处理成分数据的强大工具,扩展了广义线性模型框架。