图谱连接

草稿

GMM 的 EM 算法

通过软成员概率估计和参数更新交替进行,拟合可重叠的高斯簇。

algorithm advanced machine-learningclusteringalgorithmsprobability

Hook problem:有些点位于簇之间

K-Means 做硬决定:每个点只属于一个簇。但可重叠的云团常常有边界点,它们对多个组都部分可信。

高斯混合模型(Gaussian mixture model, GMM)把这种不确定性保留下来。

成员关系可以是小数GMM 的 EM 让每个点被多个高斯成分部分解释,再重新拟合这些成分。
均值 11.10
均值 25.10
权重 10.50
权重 20.50
最终软成员概率
x高斯 1高斯 2
x10.801.000.00
x21.101.000.00
x31.401.000.00
x44.700.001.00
x55.100.001
x65.500.001

First naive idea:把点分给最可能的高斯

硬分配会丢掉有用的不确定性。概率为 0.520.48 的边界点,不应和概率为 0.990.01 的点一样影响模型。

**EM 算法(expectation-maximization)**用小数形式的成员概率来修补这一点。

Core invention:先期望,再最大化

对 GMM 来说,EM 交替做:

  • E 步(E-step):计算责任度(responsibility),即成分 j 解释点 x_i 的概率。
  • M 步(M-step):用责任度加权更新均值、方差或协方差,以及混合权重。

成分 j 的责任度形式是:

rij=πjN(xiμj,Σj)πN(xiμ,Σ)r_{ij}=\frac{\pi_j\,\mathcal{N}(x_i\mid\mu_j,\Sigma_j)}{\sum_{\ell}\pi_{\ell}\,\mathcal{N}(x_i\mid\mu_{\ell},\Sigma_{\ell})}

分子表示成分 j 对该点的解释力度;分母把所有成分归一化。

Interactive trace lab

聚类算法轨迹实验台

步骤 1/4: E 步:计算每个高斯成分解释每个点的程度。

expect-1

在软成员概率估计和高斯参数更新之间交替。

均值

1.60, 4.40

权重

0.50, 0.50

Implementation sketch

repeat {
  compute responsibilities for each point and component;
  update each component from weighted points;
  update mixture weights from total responsibility;
}

Correctness intuition and cost

EM 会不断改进所选混合模型族下的数据似然,但仍可能停在局部最优。

对于 n 个点、k 个成分、d 维特征、t 次迭代,对角协方差实现通常约为 O(t n k d)。完整协方差更新更贵。

Common confusions

  • GMM 的 EM 是软聚类,不是硬划分。
  • 高斯成分可以重叠。
  • 成分数量要在拟合前选择。
  • 糟糕初始化仍然会影响结果。
聚类算法路径先从质心划分开始,再修补中心鲁棒性,随后进入密度和概率视角。
1. K-Means

k-means

2. K-Medoids

k-medoids

3. DBSCAN

dbscan

4. OPTICS

optics

5. HDBSCAN

hdbscan

6. GMM 的 EM

em-for-gmm

Exercises

  1. 责任度 r_ij 用文字怎么解释?
  2. 为什么边界点应该以小数权重贡献?
  3. GMM 的 EM 与 K-Means 哪里相似,哪里不同?

图谱连接 : GMM 的 EM