# 参数估计基础
参数估计是统计学和机器学习中的核心问题,旨在从观测数据中推断未知参数的值。
-
最大似然估计 (Maximum Likelihood Estimation, MLE)
似然函数的定义
假设我们有一个由参数集 控制的密度函数 (通常我们已经知道 的确切形式)。似然函数 是通过交换 和 的角色得到的函数,即我们将 视为变量, 视为给定信息:
最大似然估计的定义
在最大似然方法中,我们试图找到参数 的一个值 ,使得对于 中的每个 , 达到最大。这里 称为 的最大似然估计量(maximum likelihood estimator)。
独立同分布假设下的似然函数
给定观测值 , 的似然函数为:
假设这些数据是独立同分布(independent and identically distributed, i.i.d.)的,则样本的联合密度可以写为:
对数似然函数
根据定义,我们试图找到最可能产生观测数据的参数值,这导致优化问题:
注意到自然对数函数 是严格递增的。如果 的最大值存在,它将出现在与 相同的点。这个函数称为对数似然函数(log likelihood function),在许多情况下比似然函数更容易处理,因为密度 通常具有乘积结构。
单参数情况
如果 可微,我们通过令(为什么?)
得到解 ,并检查
多参数情况
对于 个参数的情况,如果 可微,我们通过令
得到解 ,并检查关联的 Hessian 矩阵 是负定的:
例子:Poisson 分布
对于观测到的 Poisson 过程 ,其概率密度函数为:
对数似然函数为:
研究 的导数,我们找到最大值:
由于 ,这暗示了下面的估计量:
即 Poisson 分布参数 的最大似然估计是样本均值。
例子:正态分布
对于观测过程 ,假设其服从正态分布:
在 i.i.d. 假设下,对数似然函数为:
对 和 求偏导并令其为零,可以得到:
即正态分布的均值和方差的最大似然估计分别是样本均值和样本方差。
-
带独立同分布噪声的线性测量 (Linear Measurements with iid Noise)
考虑线性测量模型:
其中 是未知参数向量, 是已知的测量向量, 是独立同分布的噪声项。
高斯噪声情况
如果噪声 是独立同分布的高斯噪声,则观测 的条件分布为:
对数似然函数为:
最大似然估计等价于最小二乘问题:
其解析解为:
其中 ,。
一般噪声分布
对于一般的噪声分布 ,最大似然估计为:
这通常是一个凸优化问题(如果 是凸函数)。
-
带独立同分布噪声的非线性测量 (Nonlinear Measurements with iid Noise)
考虑非线性测量模型:
其中 是非线性函数, 是独立同分布的噪声项。
最大似然估计
如果噪声 的概率密度函数为 ,则最大似然估计为:
高斯噪声情况
如果噪声是高斯噪声 ,则最大似然估计等价于非线性最小二乘问题:
这通常是一个非凸优化问题,需要使用迭代优化方法(如 Gauss-Newton 方法、Levenberg-Marquardt 方法等)求解。
凸优化情况
如果 是仿射函数,或者问题可以转化为凸优化问题,则可以使用凸优化方法求解。
# EM 估计
EM(Expectation-Maximization)算法是一种用于从不完整数据中估计参数的最大似然方法。它通过迭代地执行期望步骤(E-step)和最大化步骤(M-step)来找到参数的最大似然估计。
-
高斯混合模型参数估计 (GMM Parameter Estimation)
高斯混合模型 (Gaussian Mixture Model, GMM)
高斯混合模型假设数据来自 个高斯分布的混合:
其中:
- 是混合权重,满足 ,
- 是第 个高斯分布的均值
- 是第 个高斯分布的协方差矩阵
- 是参数集
完整数据与不完整数据
- 完整数据:如果知道每个样本 来自哪个高斯分量(即隐变量 ),则可以直接使用最大似然估计
- 不完整数据:在实际应用中,我们只观测到 ,不知道其对应的 ,这称为不完整数据
隐变量模型
引入隐变量 表示样本 来自哪个高斯分量:
- 表示 来自第 个高斯分布
对数似然函数
对于观测数据 ,对数似然函数为:
由于对数内部有求和,直接最大化这个函数很困难。
-
EM 算法理论 (The Theory of EM)
EM 算法的基本思想
EM 算法通过引入隐变量,将不完整数据的最大似然估计问题转化为完整数据的最大似然估计问题。
算法步骤
E-step(期望步骤):
- 给定当前参数估计 ,计算隐变量的后验分布:
- 这称为责任(responsibility)或后验概率
M-step(最大化步骤):
- 给定隐变量的后验分布,最大化完整数据的对数似然函数的期望:
- 对于 GMM,更新公式为:
算法流程
- 初始化参数
- 重复直到收敛:
- E-step:计算
- M-step:更新参数
- 返回最终参数估计
辅助函数
EM 算法最大化辅助函数(也称为 Q 函数):
这个函数是完整数据对数似然函数关于隐变量后验分布的期望。
- 给定当前参数估计 ,计算隐变量的后验分布:
-
EM 算法的理论保证
单调性定理
EM 算法保证对数似然函数在每次迭代中单调递增:
证明思路
通过 Jensen 不等式和 KL 散度的性质,可以证明:
其中 。由于 KL 散度非负,最大化 会使得对数似然函数增加。
收敛性
- EM 算法保证收敛到局部最大值(不是全局最大值)
- 收敛速度通常是线性的
- 收敛速度取决于数据的信息量和初始值的选择
-
EM 算法的优势与局限性
优势
- 适用于不完整数据的参数估计
- 算法简单,易于实现
- 保证对数似然函数单调递增
- 适用于多种概率模型(GMM、隐马尔可夫模型等)
局限性
- 只能找到局部最优解,不能保证全局最优
- 收敛速度可能较慢
- 对初始值敏感
- 需要知道隐变量的形式
-
EM 算法的应用
高斯混合模型
- 聚类分析
- 密度估计
- 图像分割
隐马尔可夫模型 (HMM)
- 语音识别
- 序列标注
其他应用
- 因子分析
- 主成分分析(概率 PCA)
- 缺失数据填充
-
EM 算法的变种
广义 EM 算法 (Generalized EM)
- M-step 不需要完全最大化,只需要增加 Q 函数即可
增量 EM 算法
- 每次只处理一个或少量样本
- 适用于在线学习场景
变分 EM 算法
- 使用变分推断近似后验分布
- 适用于复杂模型
# K-L 散度
Kullback-Leibler 散度(Kullback-Leibler Divergence,KL 散度)是衡量两个概率分布之间差异的重要工具,在信息论、统计学和机器学习中有广泛应用。
-
KL 散度的定义
离散分布情况
对于两个离散概率分布 和 ,KL 散度定义为:
其中 和 分别是分布 和 在事件 上的概率。
连续分布情况
对于两个连续概率分布 和 ,KL 散度定义为:
条件 KL 散度
对于条件分布,条件 KL 散度定义为:
-
KL 散度的性质
非负性
- KL 散度总是非负的:
- 等号成立当且仅当 (几乎处处)
- 这可以通过 Gibbs 不等式或 Jensen 不等式证明
非对称性
- KL 散度不是对称的:
- 因此 KL 散度不是真正的距离度量(不满足三角不等式)
- 有时使用对称版本:
不满足三角不等式
- KL 散度不满足距离的三角不等式
- 因此不是真正的度量(metric)
-
KL 散度的解释
信息论解释
- KL 散度可以理解为:使用分布 来编码来自分布 的数据所需的额外比特数
- 衡量了用 近似 的信息损失
统计学解释
- KL 散度衡量了两个概率分布之间的"距离"
- 在最大似然估计中,最小化 KL 散度等价于最大化似然函数
-
KL 散度在 EM 算法中的应用
在 EM 算法中,KL 散度用于证明算法的单调性:
其中 。由于 KL 散度非负,最大化 会使得对数似然函数增加。
-
KL 散度的应用
变分推断
- 在变分贝叶斯方法中,通过最小化 KL 散度来近似后验分布
模型选择
- 用于比较不同模型的拟合优度
信息论
- 衡量信息量和编码效率
# 概率主成分分析 PPCA
概率主成分分析(Probabilistic Principal Component Analysis, PPCA)是主成分分析(PCA)的概率扩展,提供了 PCA 的概率解释和更灵活的框架。
-
PPCA 的模型
生成模型
PPCA 假设观测数据 由低维隐变量 ()通过线性变换生成:
其中:
- 是载荷矩阵(loading matrix)
- 是均值向量
- 是隐变量(潜在变量)
- 是噪声项
概率分布
给定隐变量 ,观测变量 的条件分布为:
隐变量的先验分布为:
观测变量的边缘分布为:
-
PPCA 与 PCA 的关系
最大似然估计
对于观测数据 ,PPCA 的参数可以通过最大似然估计得到:
与 PCA 的等价性
当噪声方差 时,PPCA 的最大似然解收敛到标准 PCA:
- 的列向量是数据协方差矩阵的前 个主特征向量
- 是数据的样本均值
优势
- PPCA 提供了 PCA 的概率解释
- 可以处理缺失数据
- 可以自然地扩展到更复杂的模型(如因子分析)
-
PPCA 的参数估计
EM 算法求解
PPCA 可以使用 EM 算法求解:
E-step:计算隐变量的后验分布
其中 。
M-step:更新参数
解析解
对于 PPCA,存在解析的最大似然解:
- 其中 是数据协方差矩阵的前 个特征向量
- 是对应的特征值矩阵
- 是任意正交矩阵
-
PPCA 的应用
- 降维:与 PCA 类似,用于数据降维
- 缺失数据填充:利用概率模型处理缺失值
- 数据生成:可以生成新的数据样本
- 异常检测:利用概率模型检测异常值
# 联合估计
联合估计(Joint Estimation)是指同时估计多个相关参数的问题,在测试任务难度估计和测试者排名等应用中有重要作用。
-
联合估计问题
问题设定
考虑联合估计问题:同时估计测试任务的难度参数 和测试者的能力参数 。
观测数据
观测数据为 ,表示测试者 在任务 上的表现(成功或失败)。
概率模型
假设每个测试者-任务对 有一个潜在的成功概率 ,且 服从 Beta 分布:
观测数据 服从伯努利分布:
边缘分布
通过积分消除隐变量 ,得到 的边缘分布:
-
最大似然估计
似然函数
对于所有观测数据,似然函数为:
对数似然函数
对数似然函数为:
优化问题
最大似然估计等价于:
注意:这不是一个凸优化问题,因此需要使用迭代优化方法。
-
坐标下降算法
算法思想
使用坐标下降(coordinate descent)算法来寻找局部最优参数集 和 。
算法步骤
-
固定 :对于每个 ,使用梯度下降算法数值求解局部最优解 ,使得在 固定且考虑 的约束下, 达到最大。然后设置 。
-
固定 :对于每个 ,使用梯度下降算法数值求解局部最优解 ,使得在 固定且考虑 的约束下, 达到最大。然后设置 。
-
终止条件:当所有 和 收敛,或达到最大迭代次数 时终止。
-
-
应用场景
测试任务难度估计和测试者排名
- 在测试数据较少时,使用 Beta 分布型的先验假设,有助于同时估计测试任务的难度和测试系统的智能程度
- 可以解释为任务 的难度参数
- 可以解释为测试者 的能力参数
- 通过联合估计,可以同时推断任务难度和测试者能力
优势
- 利用任务和测试者之间的关联信息
- 在数据稀疏时仍能进行有效估计
- 提供概率解释和不确定性量化