1. 高斯混合模型
p ( x ) = ∑ k = 1 K π k N ( x ∣ μ k , Σ k ) p(x)=\sum_{k=1}^K\pi_kN(x|\mu_k,\Sigma_k) p(x)=k=1∑KπkN(x∣μk,Σk)其中 N ( x ∣ μ k , Σ k ) = 1 ( 2 π ) d / 2 ∣ Σ k ∣ e − 1 2 ( x − μ k ) T Σ k − 1 ( x − μ ) , ∑ k = 1 K π k = 1 N(x|\mu_k,\Sigma_k)=\large\displaystyle\frac{1}{(2\pi)^{d/2}|\Sigma_k|}\Large e^{\large-\frac{1}{2}(x-\mu_k)^T\Sigma_k^{-1}(x-\mu)} \normalsize, \sum_{k=1}^K\pi_k=1 N(x∣μk,Σk)=(2π)d/2∣Σk∣1e−21(x−μk)TΣk−1(x−μ),k=1∑Kπk=1
2. EM(Expectation Maximization)算法求解
- ① 随机化
随机化参数 { π k , μ k , Σ k } , k = 1 ∼ K \{\pi_k,\mu_k,\Sigma_k\},k=1\sim K {πk,μk,Σk},k=1∼K - ② E-step
γ n k = π k N ( x n ∣ μ k , Σ k ) ∑ k = 1 K π k N ( x n ∣ μ k , Σ k ) , 样 本 数 n = 1 ∼ N \large\gamma_{nk}=\displaystyle\frac{\pi_kN(x_n|\mu_k,\Sigma_k)}{\displaystyle\sum_{k=1}^K\pi_kN(x_n|\mu_k,\Sigma_k)},\quad样本数n=1\sim N γnk=k=1∑KπkN(xn∣μk,Σk)πkN(xn∣μk,Σk),样本数n=1∼N γ n k \large\gamma_{nk} γnk表示第 n n n 个样本落在第 k k k 个高斯分布的概率 - ③ M-step
首先计算出所有 N N N 个样本中有多少属于第 k k k 个高斯分布:
N k = ∑ n = 1 N γ n k N_k=\sum_{n=1}^N\gamma_{nk} Nk=n=1∑Nγnk显然 ∑ k = 1 K = N \displaystyle\sum_{k=1}^K=N k=1∑K=N,下面可以计算更新的参数
{ π k = N k N 第 k 个 高 斯 分 布 的 概 率 μ k = 1 N k ∑ n = 1 N γ n k x n 第 k 个 高 斯 分 布 的 均 值 Σ k = 1 N k ∑ n = 1 N γ n k ( x n − μ k ) ( x n − μ k ) T 第 k 个 高 斯 分 布 的 协 方 差 矩 阵 \begin{cases} \pi_k=\displaystyle\frac{N_k}{N} & 第k个高斯分布的概率\\\\ \mu_k=\displaystyle\frac{1}{N_k}\sum_{n=1}^N\gamma_{nk}x_n&第k个高斯分布的均值\\\\ \Sigma_k=\displaystyle\frac{1}{N_k}\sum_{n=1}^N\gamma_{nk}(x_n-\mu_k)(x_n-\mu_k)^T&第k个高斯分布的协方差矩阵 \end{cases} ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧πk=NNkμk=Nk1n=1∑NγnkxnΣk=Nk1n=1∑Nγnk(xn−μk)(xn−μk)T第k个高斯分布的概率第k个高斯分布的均值第k个高斯分布的协方差矩阵 - ④ 再次执行②,循环直至收敛