假设:每个类都服从特定的统计分布
高斯混合模型:一个模型,包含多个高斯分布混合在一起
每个样本 都属于 现有的类,但是隶属度不同
GMM 期望最大化算法
1、初始化 k k k 个高斯分布 (默认 k-means)
给 k k k 个高斯分布赋予均值 μ \mu μ 和方差 σ 2 \sigma^2 σ2
2、软聚类
计算每个点对于每个类的隶属度
E
[
Z
1
A
]
=
N
(
X
i
∣
μ
A
,
σ
A
2
)
N
(
X
i
∣
μ
A
,
σ
A
2
)
+
N
(
X
i
∣
μ
B
,
σ
B
2
)
E[Z_1A]=\frac{N(X_i|\mu_A,\sigma_A^2)}{N(X_i|\mu_A,\sigma_A^2)+N(X_i|\mu_B,\sigma_B^2)}
E[Z1A]=N(Xi∣μA,σA2)+N(Xi∣μB,σB2)N(Xi∣μA,σA2)
N ( X ∣ μ , σ 2 ) = 1 ( 2 π σ 2 ) 2 e − 1 2 σ 2 ( x − μ ) 2 N(X|\mu,\sigma^2)=\frac{1}{(2\pi\sigma^2)^2}e^{-\frac{1}{2\sigma^2}(x-\mu)^2} N(X∣μ,σ2)=(2πσ2)21e−2σ21(x−μ)2
样本 X i X_i Xi 对于类 A A A 的隶属度为,点 X i X_i Xi 在类 A A A 的高斯密度与全部高斯密度之和之间的比率
3、重新估计高斯 - 最大化步骤
聚类
A
A
A 新的均值 和方差,来自于所有点的 隶属度加权平均数
n
e
w
μ
A
=
∑
i
E
X
i
∑
i
E
\mathrm{new}\mu_A=\frac{\sum_i EX_i}{\sum_i E}
newμA=∑iE∑iEXi
n e w σ 2 = ∑ i E ( X i − n e w μ ) ( X i − n e w μ ) T ∑ i E \mathrm{new}\sigma^2=\frac{\sum_iE(X_i-\mathrm{new}\mu)(X_i-\mathrm{new}\mu)^T}{\sum_iE} newσ2=∑iE∑iE(Xi−newμ)(Xi−newμ)T
μ \mu μ 用数据点做加权, σ 2 \sigma^2 σ2 用距离做加权
4、评估对数似然(log likelihood)检查收敛
l
n
p
(
X
∣
μ
,
σ
2
)
=
∑
i
=
1
N
l
n
(
∑
k
=
1
K
π
k
N
(
X
i
∣
μ
k
,
σ
k
2
)
)
\mathrm{ln}p(X|\mu,\sigma^2)=\sum\limits_{i=1}^{N}\mathbb{ln}\big(\sum\limits_{k=1}^{K}\pi_kN(X_i|\mu_k,\sigma_k^2)\big)
lnp(X∣μ,σ2)=i=1∑Nln(k=1∑KπkN(Xi∣μk,σk2))
5、repeat 2
sklearn 中使用 GMM
from sklearn import mixture
mixture.GaussianMixture(n_compoments=3).fit(X)
优缺点
优点
1、软聚类,一个样本可以同时属于多个类
2、聚类外观灵活性,一个聚类可以包含另一个聚类
缺点
1、对初始值很敏感
2、有可能收敛到局部最优
3、收敛速度慢
Paper: Nonparametric discovery of human routines from sensor data
Paper: Application of the Gaussian mixture model in pulsar astronomy
Paper: Speaker Verification Using Adapted Gaussian Mixture Models
Paper: Adaptive background mixture models for real-time tracking