PCA
- 数学角度:
-
从数据中提取低维特征
- 一般通过 SVD 来计算
回顾一下 PCA
假设数据是中心化的:$\sum_{i=1}^n x_i = 0$
在方向 v 上的任意投影也是中心化的,$\sum_{i=1}^n v^T x_i = 0$
我们希望数据之间能够越离散越好,相当于让投影后的方差最大:
也可以写成:
使用 Lagrangian 乘子对于 v 求导得 0 后:
观察上面右边这个式子我们发现,这个很像特征值和特征向量的表示形式
- $XX^T$:协方差矩阵
- $v$:上面协方差举证的特征向量
EM Algotirhm
Gaussian Mixture Model
假设我们的数据分布在拥有 K 个 gaussian 核的空间中,每个数据点的概率等于它属于每个核的概率总和:
其中 $\pi_k$ 是 mixing coefficient:
于是所有数据点的 likelihood 就是:
w.r.t $\Theta = \{ \pi_k, \mu_k, \Sigma_k\}$
Latent Variable
我们可以用一个隐变量 z 来表示哪一个 Gaussian 以多大的概率产生了我们的观测 x,从而可以解释上式括号内的项的由来
令 $z\sim Categorical(\pi)$, 有:
最后给定数据,变量为 $\Theta$ 的 likelihood 就变成了:
现在的问题就是我们如何来优化这个目标函数
Expectation Maximization
EM 算法分为两步:
- E-step:对于每个 gaussian 计算对于每个点的后验概率 posterior
- M-step:在给定每个点的概率下,重新计算 gaussian 的参数,使似然最大
EM 算法要解决的问题的一般形式为:
z 是 latent variable,也就是说,z 一开始我们是不知道的。。所以 EM 算法其实是 unsupervised learning
但是对于 latent variable,我们可以做一个预测 $p(Z|X,\Theta^{old})$
于是,一般形式的 EM 算法为:
- Initialize: $\Theta^{old}$
- E-step:compute $p(Z|X,\Theta^{old})$
- M-step:maximize $Q(\Theta, \Theta^{old}) = \sum_z p(Z|X,\Theta^{old})ln p(X,Z|\Theta)$
- If not converged set $\Theta^{old} = \Theta$ and go to step 2