混合模型和期望最大化 Mixture Models and the Expectation-Maximization Algorithm

解释混合模型、高斯混合模型与 EM 算法的 E 步骤和 M 步骤。

混合模型和期望最大化 Mixture Models and the Expectation-Maximization Algorithm

现在有一些观测值 xj\mathbf{x}_j,我们假设它们符合某种概率分布,并且这个概率分布的 概率密度函数 Probability Density Function,PDF

f(xj,Θ)f(\mathbf{x}_j,\Theta)

那么,我们可以使用称为 混合模型 Mixture Models无监督学习 方法,将这个概率分布表示为多个概率分布的加权和,也就是说,观测数据由多个不同的概率分布混合而成,每个分布对应数据中的一个 潜在模式生成机制

  1. 潜在模式: 每个分布可以看作是数据中的一个模式,这个模式代表了某一类具有相似特征的样本,例如,在图像识别中,不同的模式可能对应于不同的物体;在市场分析中,不同的模式可能对应于不同的消费群体,在一个简单的例子中,如果有一组人群的身高数据,而我们不知道这些人是否属于不同的种族或性别类别,那么每个分布可能代表了一个种族或性别的群体,通过 混合模型,我们可以识别出数据中可能存在的不同类别 (如男性和女性) ,尽管这些类别在原始数据中并没有明确标注
  2. 生成机制: 假设我们有一组传感器数据,这些数据可能由不同的环境条件或机器状态生成,那么每个分布代表一种特定的状态或条件,这些状态或条件的存在可能导致了观测数据的不同特征,混合模型 可以帮助我们识别出这些不同的状态或条件,尽管我们一开始并不知道它们的存在

这个过程可以描述为

f(xj,Θ)=p=1kαpfp(xj,Θp)f(\mathbf{x}_j,\Theta) = \sum_{p=1}^{k}\alpha_{p}f_{p}(\mathbf{x}_j,\Theta_{p})
  • f(xj,Θ)f(\mathbf{x}_j,\Theta) 是我们想知道的观测值的概率密度函数 PDF
  • fp(xj,Θp)f_{p}(\mathbf{x}_j,\Theta_{p}) 是第 pp混合成分PDF
  • kk混合成分 的总数
  • αp\alpha_{p} 是每个 混合成分 的权重,且满足 α1+α2++αk=1\alpha_{1} + \alpha_{2} + \cdots + \alpha_{k} = 1

我们的目标就是根据观测数据,找到每个 混合成分 的权重 αp\alpha_{p} 以及每个分布 fp(xj,Θp)f_{p}(\mathbf{x}_j,\Theta_{p}) 的参数 Θp\Theta_{p}

混合模型 的一种方法是使用 高斯分布 作为 混合成分 的概率分布,这称为 高斯混合模型 Gaussian Mixture Models,GMM,这意味着每个模型的参数向量 Θp\Theta_p 只有两个分量,均值 μp\mu_p 和 方差 σp\sigma_p,并且由于使用 正态分布 normally distribution,我们可以将上面的式子表示为

f(xj,Θ)=p=1kαpNp(xj,μp,σp)f(\mathbf{x}_j,\Theta) = \sum_{p=1}^{k}\alpha_{p}\mathcal{N}_p(\mathbf{x}_j,\mu_p,\sigma_p)

由于现在只有一组有限的参数,因此这提供了一个更易于处理的框架,因此,一旦设置了混合模型的数量 kk,那么剩下的任务就是确定每个被混合分布的参数 μp\mu_pσp\sigma_p,以及其权重系数 αp\alpha_{p}

需要注意的是,除了高斯分布之外,还有许多其他分布可以应用,但 GMM 很常见,因为在没有先验知识的情况下,我们通常会假设高斯分布

参数向量 Θ\Theta 的估计可以使用 最大似然估计 MLE,其通过下列等式计算

L(Θ)Θ=0\frac{\partial L(\Theta)}{\partial \Theta} = 0

其中 LL 是对数似然函数

L(Θ)=j=1nlogf(xjΘ)L(\Theta) = \sum_{j=1}^{n}\log{f(\mathbf{x}_j|\Theta)}

其中求和是对所有的数据向量 xj\mathbf{x}_j 进行求和

这个等式是一个 优化问题,它的解 (也就是满足偏导数为零的参数) 将产生局部最大值,由于导数不能直接以解析形式计算,因此这个最大值通常通过 EM 算法 (期望最大化 Expectation-Maximization,EM) 来计算,它由 DempsterLairdRubin 提出,旨在找到统计模型的最大似然参数,这些估计的参数是无法直接求解的,EM 算法通过交替和迭代的方式,从初始猜测开始,不断递归估计最优参数,它的过程类似于 k-means算法,先为假定的 kk 个分布给出 均值方差 的初始猜测,然后算法递归地更新每个 混合成分 的权重和参数,直到算法收敛为止

在任何迭代算法中,解是否会收敛,以及其是否是一个好的解并不总是显而易见,因为算法通常会收敛到局部极值,然而,在这种情况下,我们可以证明算法确实会收敛,并且在收敛点处,似然函数的导数接近于零,这意味着该点要么是一个极值,要么是一个鞍点

通常,可能会出现多个局部最大值,而不能保证找到全局最大值,此外,有些似然函数还存在奇异点,即非理性的最大值,例如,在 混合模型 中,EM 算法 可能找到一个解,其中某个成分的 方差 为零,且 均值 等于某个数据点,为了减轻因算法初始化不佳而导致的常见问题,交叉验证 通常有所帮助

EM 算法 首先假设参数向量 Θ\Theta 的初始估计值 (初始猜测值),然后我们用初始猜测进一步估计数据点 xj\mathbf{x}_j 属于第 pp 个分布的 后验概率 τp(xj,Θ)\tau_p(\mathbf{x}_j,\Theta)

后验概率 表示在考虑了新的数据之后,我们对某个事件或假设成立的更新后的信心

其公式如下

τp(xj,Θ)=αpfp(xj,Θp)f(xj,Θ)\tau_p(\mathbf{x}_j,\Theta) = \frac{\alpha_{p}f_{p}(\mathbf{x}_j,\Theta_{p})}{f(\mathbf{x}_j,\Theta)}

这个 后验概率 表示数据点 xj\mathbf{x}_j 属于第 pp 个分布的概率,EM 算法E 步骤 使用这些后验概率来计算每个数据点的成员资格,即数据点 xj\mathbf{x}_j 属于某个混合成分的概率

E 步骤 具体的计算方式如下: 给定 Θ\Thetaαp\alpha_p 的初始化参数,计算 后验概率 τp(k)(xj)\tau_p^{(k)}(\mathbf{x}_j)

τp(k)(xj)=αp(k)Np(xj,μp(k),σp(k))f(xj,Θ(k))\tau_p^{(k)}(\mathbf{x}_j) = \frac {\alpha_{p}^{(k)}\mathcal{N}_p(\mathbf{x}_j,\mu_p^{(k)},\sigma_p^{(k)})} {f(\mathbf{x}_j,\Theta^{(k)})}
  • 这里,Np(xj,μp(k),σp(k))\mathcal{N}_p(\mathbf{x}_j,\mu_p^{(k)},\sigma_p^{(k)}) 是第 pp高斯分布 的概率密度函数,参数为 μp(k)\mu_p^{(k)}σp(k)\sigma_p^{(k)}
  • f(xj,Θ(k))f(\mathbf{x}_j,\Theta^{(k)}) 是根据当前混合情况计算的总概率密度

这一步骤是为了更新模型中每个数据点的 成员资格 Membership,也就是数据点属于某个特定分布的可能性或概率,然后,M 步骤 利用这些成员资格来更新每个高斯分布的参数 (均值、方差) 以及各个分布的权重,从而逐步优化模型的拟合度

首先更新第 pp 个混合成分的权重 αp(k+1)\alpha_p^{(k+1)}

αp(k+1)=1nj=1nτp(k)(xj)\alpha_p^{(k+1)} = \frac{1}{n}\sum_{j=1}^{n}\tau_p^{(k)}(\mathbf{x}_j)

其次更新第 pp 个混合成分的均值 μp(k+1)\mu_p^{(k+1)}

μp(k+1)=j=1nxjτp(k)(xj)j=1nτp(k)(xj)\mu_p^{(k+1)} = \frac{\sum_{j=1}^{n} \mathbf{x}_j \tau_p^{(k)}(\mathbf{x}_j)}{\sum_{j=1}^{n} \tau_p^{(k)}(\mathbf{x}_j)}
  • 这是通过对每个数据点 xj\mathbf{x}_j 加权求和得到的,其中权重为 τp(k)(xj)\tau_p^{(k)}(\mathbf{x}_j),即该数据点属于该成分的概率

最后,我们更新第 pp 个混合成分的协方差矩阵 Σp(k+1)\Sigma_p^{(k+1)}

Σp(k+1)=j=1nτp(k)(xj)(xjμp(k+1))(xjμp(k+1))Tj=1nτp(k)(xj)\Sigma_p^{(k+1)} = \frac{\sum_{j=1}^{n} \tau_p^{(k)}(\mathbf{x}_j) (\mathbf{x}_j - \mu_p^{(k+1)})(\mathbf{x}_j - \mu_p^{(k+1)})^T}{\sum_{j=1}^{n} \tau_p^{(k)}(\mathbf{x}_j)}
  • 协方差矩阵反映了数据在各个维度上的分布情况

E步骤M步骤 交替进行,直到算法在指定的容忍度内收敛,E步骤 计算 后验概率M步骤 更新模型参数和权重

GMM 方法很受欢迎,因为它通过拟合 kk 个高斯分布来描述数据,这种方法对于无监督学习来说是合理的,因为它不需要预先知道数据的标签或类别,相较于其他无监督学习方法 (如k-means和层次聚类) 具有更强的理论基础, k-means层次聚类 主要是通过算法定义的,而 GMM 则基于概率统计学的理论进行建模,并且它只需要如下假设

  • 需要预先指定聚类的数量,即 kk 个高斯分布
  • 假设每个聚类的分布形式 f()f(\cdot) 是高斯分布