基于狄利克雷分布的多项式模型(Dirichlet-Multinomial Model)的参数估计与预测过程
题目描述
在许多实际场景中,如文本分类、主题建模、多项式计数数据建模等,我们经常需要处理服从多项式分布的离散数据。然而,多项式分布自身的参数(即各类别的概率)通常未知,需要从数据中估计。当我们在估计这些概率时,如果直接使用多项式分布的最大似然估计(即类别频率),可能会导致过拟合,尤其是在数据稀疏的情况下。
为了解决这个问题,我们可以为多项式分布的参数引入一个狄利克雷分布作为先验分布,从而构建一个狄利克雷-多项式模型(Dirichlet-Multinomial Model),这是一个典型的共轭先验模型。在这个贝叶斯框架下,我们可以计算参数的后验分布,并进行更稳健的预测。
本题将详细讲解:
- 狄利克雷-多项式模型的基本设定:多项式分布与狄利克雷分布。
- 模型参数的贝叶斯推断:如何计算后验分布。
- 后验预测分布的计算:如何对新数据进行预测。
- 超参数的影响与估计。
解题过程
第一步:理解基本分布——多项式分布与狄利克雷分布
- 多项式分布:
假设我们有 \(K\) 个类别,一次试验的结果是一个 \(K\) 维的独热向量(one-hot vector),表示观察到的类别。进行 \(N\) 次独立同分布的试验后,我们得到观测数据 \(\mathbf{x} = (x_1, x_2, \dots, x_K)\),其中 \(x_k\) 表示类别 \(k\) 出现的次数,满足 \(\sum_{k=1}^K x_k = N\)。
多项式分布的概率质量函数为:
\[ P(\mathbf{x} \mid \boldsymbol{\theta}) = \frac{N!}{\prod_{k=1}^K x_k!} \prod_{k=1}^K \theta_k^{x_k} \]
其中 \(\boldsymbol{\theta} = (\theta_1, \theta_2, \dots, \theta_K)\) 是参数向量,满足 \(\theta_k \geq 0\) 且 \(\sum_{k=1}^K \theta_k = 1\),表示每个类别的概率。
- 狄利克雷分布:
狄利克雷分布是定义在 \((K-1)\) 维概率单纯形上的一个连续分布,是多项式分布参数的共轭先验。其概率密度函数为:
\[ P(\boldsymbol{\theta} \mid \boldsymbol{\alpha}) = \frac{\Gamma(\sum_{k=1}^K \alpha_k)}{\prod_{k=1}^K \Gamma(\alpha_k)} \prod_{k=1}^K \theta_k^{\alpha_k - 1} \]
其中 \(\boldsymbol{\alpha} = (\alpha_1, \alpha_2, \dots, \alpha_K)\) 是超参数向量,且 \(\alpha_k > 0\)。\(\Gamma(\cdot)\) 是伽马函数。
- 当所有 \(\alpha_k = 1\) 时,狄利克雷分布退化为均匀分布。
- 狄利克雷分布的期望为:\(\mathbb{E}[\theta_k] = \frac{\alpha_k}{\sum_{j=1}^K \alpha_j}\)。
第二步:建立狄利克雷-多项式模型并进行贝叶斯推断
模型设定:
- 先验分布:\(\boldsymbol{\theta} \sim \text{Dir}(\boldsymbol{\alpha})\)。
- 似然函数:给定参数 \(\boldsymbol{\theta}\),观测数据 \(\mathbf{x}\) 服从多项式分布 \(\mathbf{x} \mid \boldsymbol{\theta} \sim \text{Mult}(N, \boldsymbol{\theta})\)。
根据贝叶斯定理,参数的后验分布为:
\[P(\boldsymbol{\theta} \mid \mathbf{x}, \boldsymbol{\alpha}) \propto P(\mathbf{x} \mid \boldsymbol{\theta}) P(\boldsymbol{\theta} \mid \boldsymbol{\alpha}) \]
代入多项式分布和狄利克雷分布的具体形式:
\[P(\boldsymbol{\theta} \mid \mathbf{x}, \boldsymbol{\alpha}) \propto \left( \prod_{k=1}^K \theta_k^{x_k} \right) \cdot \left( \prod_{k=1}^K \theta_k^{\alpha_k - 1} \right) = \prod_{k=1}^K \theta_k^{x_k + \alpha_k - 1} \]
我们发现,后验分布与狄利克雷分布的形式完全一致:
\[\boldsymbol{\theta} \mid \mathbf{x}, \boldsymbol{\alpha} \sim \text{Dir}(\boldsymbol{\alpha} + \mathbf{x}) \]
其中 \(\boldsymbol{\alpha} + \mathbf{x} = (\alpha_1 + x_1, \alpha_2 + x_2, \dots, \alpha_K + x_K)\)。
这表明,后验分布也是一个狄利克雷分布,其参数是先验参数 \(\alpha_k\) 加上观测到的计数 \(x_k\)。这就是共轭性的体现:先验和后验属于同一分布族,计算非常简单。
第三步:计算后验预测分布
在贝叶斯框架中,我们通常关注后验预测分布,即给定已有数据 \(\mathbf{x}\),预测下一次试验结果(一个 \(K\) 维独热向量 \(\mathbf{y}\))的概率。
后验预测分布为:
\[P(\mathbf{y} \mid \mathbf{x}, \boldsymbol{\alpha}) = \int P(\mathbf{y} \mid \boldsymbol{\theta}) P(\boldsymbol{\theta} \mid \mathbf{x}, \boldsymbol{\alpha}) \, d\boldsymbol{\theta} \]
因为 \(\mathbf{y}\) 是独热向量(只有一个维度为1,其余为0),设 \(y_k = 1\) 表示类别 \(k\) 被观察到,则 \(P(y_k=1 \mid \boldsymbol{\theta}) = \theta_k\)。
于是:
\[P(y_k=1 \mid \mathbf{x}, \boldsymbol{\alpha}) = \int \theta_k \cdot \text{Dir}(\boldsymbol{\theta} \mid \boldsymbol{\alpha} + \mathbf{x}) \, d\boldsymbol{\theta} \]
根据狄利克雷分布的性质,其边际分布的期望为:
\[\mathbb{E}[\theta_k] = \frac{\alpha_k + x_k}{\sum_{j=1}^K (\alpha_j + x_j)} \]
因此:
\[P(y_k=1 \mid \mathbf{x}, \boldsymbol{\alpha}) = \frac{\alpha_k + x_k}{\sum_{j=1}^K (\alpha_j + x_j)} \]
这意味着,后验预测概率是后验分布的期望。它相当于在最大似然估计(即频率 \(x_k/N\))的基础上,加上了伪计数 \(\alpha_k\) 进行平滑。当数据量 \(N\) 较小时,先验的影响较大,可以防止概率估计为0(即避免了零概率问题);当 \(N\) 很大时,数据主导,后验预测趋近于经验频率。
第四步:超参数的影响与估计
超参数 \(\boldsymbol{\alpha}\) 控制着先验的强度。常见设定方法:
-
对称先验:设所有 \(\alpha_k = \alpha\)(一个正标量)。
- 当 \(\alpha = 1\) 时,先验是均匀分布,表示我们对各类别没有先验偏好。
- 当 \(\alpha > 1\) 时,先验倾向于各类别概率更均匀(平滑)。
- 当 \(\alpha < 1\) 时,先验倾向于某些类别概率接近0或1(稀疏)。
-
经验贝叶斯估计:如果有多个独立的数据集(如多个文档),我们可以通过最大化边际似然 \(P(\mathbf{x} \mid \boldsymbol{\alpha})\) 来估计 \(\boldsymbol{\alpha}\)。边际似然可以通过积分消去 \(\boldsymbol{\theta}\) 得到:
\[ P(\mathbf{x} \mid \boldsymbol{\alpha}) = \int P(\mathbf{x} \mid \boldsymbol{\theta}) P(\boldsymbol{\theta} \mid \boldsymbol{\alpha}) \, d\boldsymbol{\theta} = \frac{\Gamma(\sum_k \alpha_k)}{\Gamma(N + \sum_k \alpha_k)} \cdot \frac{\prod_k \Gamma(x_k + \alpha_k)}{\prod_k \Gamma(\alpha_k)} \]
然后可以通过梯度上升等数值方法优化 \(\boldsymbol{\alpha}\)。
- 完全贝叶斯方法:进一步为 \(\boldsymbol{\alpha}\) 设置超先验(如伽马分布),然后进行层次贝叶斯推断。
总结
狄利克雷-多项式模型通过引入狄利克雷先验,为多项式分布的概率参数提供了贝叶斯估计框架。其核心优势在于:
- 共轭性使得后验计算和后验预测都有解析解,非常简单高效。
- 先验的伪计数 \(\alpha_k\) 起到了平滑作用,尤其在数据稀疏时能提供更稳健的估计。
- 模型是许多更复杂模型的基础组件,如潜在狄利克雷分布(LDA)主题模型就建立在狄利克雷-多项式共轭结构之上。
通过以上步骤,我们完整地描述了该模型的构建、推断和预测过程。