1 高斯模型
1.1 单高斯模型
当样本数据 X X X 是一维数据时, X X X 服从高斯分布是指其概率密度函数(Probability Density Function)可以用下面的式子表示:
P ( x ∣ θ ) = 1 2 π σ exp ( − ( x − μ ) 2 2 σ 2 ) P(x|\theta)=\frac{1}{\sqrt{2\pi} \sigma} \exp (-\frac{(x-\mu)^2}{2\sigma^2}) P(x∣θ)=2πσ1exp(−2σ2(x−μ)2)
其中, μ \mu μ 为数据均值(期望), σ \sigma σ 为数据标准差(Standard Deviation)。
当样本数据 X X X 是多维数据时, X X X 服从高斯分布是指其概率密度函数(Probability Density Function)可以用下面的式子表示:
P ( x ∣ θ ) = 1 ( 2 π ) D 2 ∣ Σ ∣ 1 2 exp ( − ( x − μ ) T Σ − 1 ( x − μ ) 2 ) P(x|\theta)=\frac{1}{(2\pi)^{\frac{D}{2}} |\Sigma|^{\frac{1}{2}}} \exp (-\frac{(x-\mu)^T \Sigma^{-1} (x-\mu)}{2}) P(x∣θ)=(2π)2D∣Σ∣211exp(−2(x−μ)TΣ−1(x−μ))
其中, μ \mu μ 为数据均值(期望), σ \sigma σ 为数据标准差(Standard Deviation), D D D 为数据维度。
1.2 高斯模型混合模型
高斯混合模型可以看做是由 K K K 个单高斯模型组合而成的模型,其定义为:
高斯混合模型是指具有如下形式的概率分布模型:
P ( x ∣ θ ) = ∑ k = 1 K α k ϕ ( x ∣ θ k ) P(x|\theta)=\sum_{k=1}^{K}\alpha_k \phi(x|\theta_k) P(x∣θ)=k=1∑Kαkϕ(x∣θk)
其中, α k \alpha_k αk 是系数, α k ≥ 0 \alpha_k \geq 0 αk≥0, ∑ k = 1 K α k = 1 \sum_{k=1}^{K}\alpha_k=1 ∑k=1Kαk=1, ϕ ( x ∣ θ k ) \phi(x|\theta_k) ϕ(x∣θk) 是高斯分布, θ k = ( μ k , Σ k 2 ) \theta_k=(\mu_k,\Sigma_k^2) θk=(μk,Σk2)
ϕ ( x ∣ θ k ) = 1 ( 2 π ) D 2 ∣ Σ k ∣ 1 2 exp ( − ( x − μ k ) T Σ k − 1 ( x − μ k ) 2 ) \phi(x|\theta_k)=\frac{1}{(2\pi)^{\frac{D}{2}} |\Sigma_k|^{\frac{1}{2}}} \exp (-\frac{(x-\mu_k)^T \Sigma_k^{-1} (x-\mu_k)}{2}) ϕ(x∣θk)=(2π)2D∣Σk∣211exp(−2(x−μk)TΣk−1(x−μk))
称为第 k k k 个分模型
高斯混合模型是一个生成式模型,可以这样理解数据的生成过程:假设一个最简单的情况,即只有两个一维标准高斯分布的分模型 N ( 0 , 1 ) N(0,1) N(0,1) 和 N ( 2 , 1 ) N(2,1) N(2,1) ,这两个分布的权重分别为 0.7 和 0.3,那么在生成一个数据点时,先按照 0.7 和 0.3 的概率随机选择一个分布,比如选择的是第一个分布 N ( 0 , 1 ) N(0,1) N(0,1),那么下一步就是按照 N ( 0 , 1 ) N(0,1) N(0,1) 生成一个数据点。每一个点的生成过程都是互相独立的,不断循环,就生成了所有的数据点。
2 高斯混合模型与 EM 算法
2.1 基本思想
高斯混合模型的核心思想是: 假设数据可以看作是从多个高斯分布中生成出来的,在该假设下,每个单独的分模型都是标准高斯模型,其均值 μ k \mu_k μk 和方差 σ k \sigma_k σk 是待估计的参数,每个分模型还有一个需要求解的参数 α k \alpha_k αk,可以理解为该分布的权重或生成数据的概率。
通常,高斯混合模型的求解是在给定一系列数据点的情况下,求得最佳的 K K K 个高斯分模型。因为问题的本质,是求解最佳的均值 μ \mu μ、方差 σ \sigma σ 和权重 α \alpha α,这类问题通常是用最大似然估计来求解的,但在这里,如果直接用最大似然估计,得到的是一个复杂的非凸函数,目标函数是和的对数,难以展开和求偏导。
高斯混合模型通常是用 EM 算法来求解该优化问题的,EM 算法的基本思想是:
- 先固定一个变量使整体函数变为凸优化函数,求导得到最值
- 固定步骤 1 中求得的最优参数,通过最优化方法更新步骤 1 中固定的变量
- 若达到停止条件,则停止更新;否则,重复步骤 1 和步骤 2
将 EM 算法用于高斯混合模型,其基本步骤为:
- 初始随机选择各参数的值
- E 步骤:根据当前的参数,计算每个数据点由每个分模型生成的概率
- M 步骤:根据 E 步骤生成的概率,来优化每个分模型的均值 μ \mu μ、方差 σ \sigma σ 和权重 α \alpha α
- 重复 E 步骤和 M 步骤直到收敛。
2.2 求解过程
1、引入隐变量
首先,我们定义隐变量 γ j k \gamma_{jk} γjk,它的取值只能是 1 或者 0,其具体含义如下:
- 取值为 1:第 j j j 个数据来自于第 k k k 个高斯分布
- 取值为 0:第 j j j 个数据不来自于第