K-means算法
过程:略
收敛:定义代价函数
K-means可以看作对代价函数坐标下降,理论上可能在多个J相同的点上震荡,实践中很少发生,J是非凸函数,算法不能保证收敛到全局最优点
混合高斯模型
$p(x^i, z^i) = p(x^i \mid z^i)p(z^i)$
$z^i \sim Multinomial(\phi)$ where $\sum_{j=1}^k \phi_j = 1 \; \phi_j \ge 0$
$p(z^i = j) = \phi_j
x^i \mid z^i = j \sim N(\mu_j, \Sigma_j)$
其中 $z^i$是隐变量,表示 $x^i$所属的类/高斯分布,那么数据的最大似然函数是:
然鹅MLE并没有闭式解,如果 $z^i$是已知,那么可以写最大似然函数为:
分别求对参数偏导为0得:
此时相当于高斯判别分析模型
因此EM算法E步猜测 $z^i$,M步根据猜测的 $z^i$更新模型的其他参数。
- E-step:
是对 $x^i$的软分类 - M-step:
迭代直到收敛