随机变量的混合模型
-
基本概念
混合模型是一种用于描述数据总体由多个不同子总体(或称为“成分”)组成的概率模型。每个子总体有其自身的概率分布,但我们在观测数据时,并不知道某个具体数据点来自哪个子总体。一个有限混合模型的概率分布可以表示为:
P(X) = Σ [k=1 to K] π_k * f_k(X)
其中:K是子总体的个数(即成分的数量)。π_k是第k个子总体的“混合权重”,满足π_k > 0且Σ π_k = 1。它可以解释为随机选择一个数据点来自第k个子总体的先验概率。f_k(X)是第k个子总体的概率密度函数(对于连续变量)或概率质量函数(对于离散变量)。
-
引入潜变量
为了更深刻地理解混合模型的生成过程,我们引入一个离散的潜变量(或称为“隐变量”)Z。这个变量Z的取值范围是{1, 2, ..., K},它指示了当前观测数据点X具体来自于哪一个子总体。- 潜变量
Z的概率分布由混合权重决定:P(Z = k) = π_k。 - 在给定潜变量
Z = k的条件下,观测数据X的分布就是第k个成分的分布:P(X | Z = k) = f_k(X)。
通过引入潜变量,混合模型的生成过程变得非常清晰:首先,根据权重π_k随机生成一个成分标签Z;然后,根据这个标签对应的分布f_k生成观测数据X。
- 潜变量
-
参数估计的挑战与EM算法
混合模型的核心任务是根据一组观测到的数据{x_1, x_2, ..., x_n},来估计模型的所有参数θ = {π_1, ..., π_K, θ_1, ..., θ_K},其中θ_k是第k个成分分布f_k的参数(例如,高斯分布的均值和方差)。
直接使用最大似然估计会非常困难,因为似然函数L(θ) = Π [i=1 to n] Σ [k=1 to K] π_k f_k(x_i | θ_k)中包含了对数函数内部有求和项,导致其形式复杂,没有解析解。
期望最大化算法 是解决这个问题的经典方法。它是一个迭代算法,包含两个步骤:- E步(期望步):在给定当前参数估计值
θ^(old)的情况下,计算每个数据点x_i属于每个成分k的“责任”γ_{ik}。责任是一个概率值,定义为:
γ_{ik} = P(Z_i = k | X_i = x_i; θ^(old)) = [π_k^(old) f_k(x_i | θ_k^(old))] / [Σ_j π_j^(old) f_j(x_i | θ_j^(old))]
这可以理解为,基于当前模型,数据点x_i由第k个成分生成的后验概率。 - M步(最大化步):利用E步计算出的“责任”
γ_{ik}作为权重,来更新模型的参数θ,使得一个新的加权似然函数的期望值达到最大。- 更新混合权重:
π_k^(new) = (Σ_i γ_{ik}) / n - 更新成分分布参数:例如,如果
f_k是高斯分布,则其均值和协方差的更新公式为以γ_{ik}为权重的加权平均。
- 更新混合权重:
- E步(期望步):在给定当前参数估计值
-
经典例子:高斯混合模型
高斯混合模型 是混合模型中最著名和应用最广泛的例子。它的每个成分分布f_k(X)都是一个高斯分布(正态分布)。因此,GMM的概率密度函数是多个高斯分布密度函数的加权和。
P(X) = Σ [k=1 to K] π_k * N(X | μ_k, Σ_k)
GMM具有非常强大的表达能力,理论上,足够多成分的GMM可以以任意精度逼近任何连续的概率分布。它被广泛应用于聚类分析、密度估计、图像分割等领域。 -
模型选择与评估
在实际应用中,一个关键问题是如何确定成分的数量K。这是一个模型选择问题。常用的方法有:- 信息准则:如赤池信息量准则 和贝叶斯信息准则。它们在模型似然度的基础上,增加了对模型复杂度的惩罚项(复杂度通常与参数个数正相关)。我们选择使AIC或BIC值最小的K。
- 似然函数检验:但需注意,常规的似然比检验的某些理论前提在混合模型下不成立。
评估拟合好的模型,可以检查其是否捕捉到了数据的主要特征,以及是否过拟合或欠拟合。