混合模型和期望最大化 Mixture Models and the Expectation-Maximization Algorithm
解释混合模型、高斯混合模型与 EM 算法的 E 步骤和 M 步骤。
混合模型和期望最大化 Mixture Models and the Expectation-Maximization Algorithm
现在有一些观测值 ,我们假设它们符合某种概率分布,并且这个概率分布的 概率密度函数 Probability Density Function,PDF 是
那么,我们可以使用称为 混合模型 Mixture Models 的 无监督学习 方法,将这个概率分布表示为多个概率分布的加权和,也就是说,观测数据由多个不同的概率分布混合而成,每个分布对应数据中的一个 潜在模式 或 生成机制
- 潜在模式: 每个分布可以看作是数据中的一个模式,这个模式代表了某一类具有相似特征的样本,例如,在图像识别中,不同的模式可能对应于不同的物体;在市场分析中,不同的模式可能对应于不同的消费群体,在一个简单的例子中,如果有一组人群的身高数据,而我们不知道这些人是否属于不同的种族或性别类别,那么每个分布可能代表了一个种族或性别的群体,通过 混合模型,我们可以识别出数据中可能存在的不同类别 (如男性和女性) ,尽管这些类别在原始数据中并没有明确标注
- 生成机制: 假设我们有一组传感器数据,这些数据可能由不同的环境条件或机器状态生成,那么每个分布代表一种特定的状态或条件,这些状态或条件的存在可能导致了观测数据的不同特征,混合模型 可以帮助我们识别出这些不同的状态或条件,尽管我们一开始并不知道它们的存在
这个过程可以描述为
- 是我们想知道的观测值的概率密度函数 PDF
- 是第 个 混合成分 的 PDF
- 是 混合成分 的总数
- 是每个 混合成分 的权重,且满足
我们的目标就是根据观测数据,找到每个 混合成分 的权重 以及每个分布 的参数
混合模型 的一种方法是使用 高斯分布 作为 混合成分 的概率分布,这称为 高斯混合模型 Gaussian Mixture Models,GMM,这意味着每个模型的参数向量 只有两个分量,均值 和 方差 ,并且由于使用 正态分布 normally distribution,我们可以将上面的式子表示为
由于现在只有一组有限的参数,因此这提供了一个更易于处理的框架,因此,一旦设置了混合模型的数量 ,那么剩下的任务就是确定每个被混合分布的参数 和 ,以及其权重系数
需要注意的是,除了高斯分布之外,还有许多其他分布可以应用,但 GMM 很常见,因为在没有先验知识的情况下,我们通常会假设高斯分布
参数向量 的估计可以使用 最大似然估计 MLE,其通过下列等式计算
其中 是对数似然函数
其中求和是对所有的数据向量 进行求和
这个等式是一个 优化问题,它的解 (也就是满足偏导数为零的参数) 将产生局部最大值,由于导数不能直接以解析形式计算,因此这个最大值通常通过 EM 算法 (期望最大化 Expectation-Maximization,EM) 来计算,它由 Dempster,Laird 和 Rubin 提出,旨在找到统计模型的最大似然参数,这些估计的参数是无法直接求解的,EM 算法通过交替和迭代的方式,从初始猜测开始,不断递归估计最优参数,它的过程类似于 k-means算法,先为假定的 个分布给出 均值 和 方差 的初始猜测,然后算法递归地更新每个 混合成分 的权重和参数,直到算法收敛为止
在任何迭代算法中,解是否会收敛,以及其是否是一个好的解并不总是显而易见,因为算法通常会收敛到局部极值,然而,在这种情况下,我们可以证明算法确实会收敛,并且在收敛点处,似然函数的导数接近于零,这意味着该点要么是一个极值,要么是一个鞍点
通常,可能会出现多个局部最大值,而不能保证找到全局最大值,此外,有些似然函数还存在奇异点,即非理性的最大值,例如,在 混合模型 中,EM 算法 可能找到一个解,其中某个成分的 方差 为零,且 均值 等于某个数据点,为了减轻因算法初始化不佳而导致的常见问题,交叉验证 通常有所帮助
EM 算法 首先假设参数向量 的初始估计值 (初始猜测值),然后我们用初始猜测进一步估计数据点 属于第 个分布的 后验概率
后验概率 表示在考虑了新的数据之后,我们对某个事件或假设成立的更新后的信心
其公式如下
这个 后验概率 表示数据点 属于第 个分布的概率,EM 算法 的 E 步骤 使用这些后验概率来计算每个数据点的成员资格,即数据点 属于某个混合成分的概率
E 步骤 具体的计算方式如下: 给定 和 的初始化参数,计算 后验概率
- 这里, 是第 个 高斯分布 的概率密度函数,参数为 和
- 是根据当前混合情况计算的总概率密度
这一步骤是为了更新模型中每个数据点的 成员资格 Membership,也就是数据点属于某个特定分布的可能性或概率,然后,M 步骤 利用这些成员资格来更新每个高斯分布的参数 (均值、方差) 以及各个分布的权重,从而逐步优化模型的拟合度
首先更新第 个混合成分的权重
其次更新第 个混合成分的均值
- 这是通过对每个数据点 加权求和得到的,其中权重为 ,即该数据点属于该成分的概率
最后,我们更新第 个混合成分的协方差矩阵
- 协方差矩阵反映了数据在各个维度上的分布情况
E步骤 和 M步骤 交替进行,直到算法在指定的容忍度内收敛,E步骤 计算 后验概率,M步骤 更新模型参数和权重
GMM 方法很受欢迎,因为它通过拟合 个高斯分布来描述数据,这种方法对于无监督学习来说是合理的,因为它不需要预先知道数据的标签或类别,相较于其他无监督学习方法 (如k-means和层次聚类) 具有更强的理论基础, k-means 和 层次聚类 主要是通过算法定义的,而 GMM 则基于概率统计学的理论进行建模,并且它只需要如下假设
- 需要预先指定聚类的数量,即 个高斯分布
- 假设每个聚类的分布形式 是高斯分布