您的位置:首页 > 其它

机器学习:EM算法

2016-04-15 23:52 288 查看
潜在变量模型

k均值聚类

混合高斯模型

混合高斯模型=高斯分布的线性叠加

高斯分布的MLE

μ=1n∑ixi\mu=\frac{1}{n}\sum_i x_i

σ2=1n∑i(xi−μ)2\sigma^2=\frac{1}{n}\sum_i(x_i-\mu)^2

设随机变量X由K个高斯分布混合而成,取各个高斯分布的概率是ϕ1,ϕ2,.....,ϕk\phi_1,\phi_2,.....,\phi_k;其中第k个高斯分布的均值是μi\mu_i, 方差是 ∑i\sum_i ; 若观测到随机变量的一系列样本,x1,x2,.....,xnx_1,x_2,.....,x_n; 估计参数ϕ\phi, μ \mu, ∑\sum

算法

建立对数似然函数

l(x)=∑Ni=1log(∑Nk=1πkN(xi|μk,∑k))l(x)=\sum_{i=1}^N log(\sum_{k=1}^N\pi_kN(x_i|\mu_k,\sum_k))

估算数据由每个组分生成的概率:对于数据xix_i, 由 第 k个组分生成的概率是

(πk=取得某个组分的概率,先验\pi_k=取得某个组分的概率,先验)

γ(i,k)=πkN(xi|μk,∑k)∑kj=1πjN(xi|μj,∑j)\gamma(i, k)=\frac{\pi_kN(x_i | \mu_k,\sum_k)}{\sum_{j=1}^k \pi_j N(x_i|\mu_j,\sum_j)}

xix_i中有γ(i,k)∗xi\gamma(i, k)*x_i 部分是由组分k 生成的

4 对比最大似然估计,对比所有数据点,可以认为组分k生成了γ(i,k)∗xi\gamma(i, k)*x_i这些点。组分K是一个标准的高斯分布。

μk=1Nk∑Ni=1γ(i,k)xi\mu_k=\frac{1}{N_k}\sum_{i=1}^N \gamma(i,k)x_i

∑k=1Nk∑Ni=1γ(i,k)(xi−μk)(xi−μk)T\sum_k=\frac{1}{N_k} \sum_{i=1}^N \gamma(i,k)(x_i-\mu_k)(x_i-\mu_k)^T

πk=、frac1N∑Ni=1γ(i,k)\pi_k=、frac{1}{N}\sum_{i=1}^N \gamma(i, k)

Nk=N∗πkN_k=N*\pi_k

EM算法

设训练集:{x(1),......,x(m)}\{x^{(1)}, ......, x^{(m)}\}, 包含 m 个独立的样本,求解模型 p(x,z)p(x,z) 的参数

其中:z 是隐变量

最大似然建立目标函数

l(θ)=∑mi=1logp(x;θ)=∑mi=1log∑zp(x,z;θ)l(\theta) = \sum_{i=1}^m log p(x; \theta)=\sum_{i=1}^m log \sum_{z} p(x,z ; \theta)

θ\theta 是隐随机变量,建立l(θ)l(\theta) 的下界,并求该下界的最大值;重复,直到收敛到最大

设QiQ_i 是 z 的某一个分布,Qi>=0Q_i >= 0, 有:

∑ilogp(x(i);θ)=∑mi=1log∑zp(x,z;θ)\sum_{i} logp(x^{(i)};\theta)=\sum_{i=1}^m log \sum_{z} p(x,z ; \theta)

=∑ilog∑z(i)Qi(z(i))p(x(i),z(i);θ)Qi(z(i))=\sum_i log \sum_{z^{(i)}} Q_i(z^{(i)}) \frac{p(x^{(i)},z^{(i)}; \theta)}{Q_i(z^{(i)})}

>=∑i∑z(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))>= \sum_i\sum_{z^{(i)}}Q_i(z^{(i)})log \frac{p(x^{(i)},z^{(i)}; \theta)}{Q_i(z^{(i)})}

等号成立的条件, 下式是常数:

p(x(i),z(i);θ)Qi(z(i))=c\frac{p(x^{(i)},z^{(i)}; \theta)}{Q_i(z^{(i)})} = c

=>=>

Qi(z(i))∝p(x(i),z(i);θ)Q_i(z^{(i)})\propto p(x^{(i)},z^{(i)};\theta); \ \ \ ∑zQi(z(i))=1\sum_z Q_i(z^{(i)}) = 1

Qi(z(i))=p(x(i),z(i);θ)∑zp(x(i),z;θ)Q_i(z^{(i)}) = \frac{p(x^{(i)}, z^{(i)} ; \theta)}{\sum_z p(x^{(i)}, z ; \theta)}

=p(z(i)|x(i);θ)= p(z^{(i)}| x^{(i)} ; \theta) ……………… 条件概率

EM算法

对于每个 ii 设置:

Qi(z(i)):=p(z(i)|x(i);θ)Q_i(z^{(i)}) := p(z^{(i)} | x^{(i)} ; \theta)

E-step (期望)

Q(θ,θi)=∑i∑z(i)Qi(z(i))logp(x(i),z(i);θ)Qi(z(i))Q(\theta, \theta_i) = \sum_i \sum_{z^{(i)}} Q_i(z^{(i)}) log \frac{p(x^{(i)},z^{(i)} ; \theta)}{Q_i (z^{(i)})}

M-step

θ:=argmaxθQ(θ,θi)\theta := arg max_{\theta} Q(\theta,\theta_i)

GMM的EM算法

拉格朗日乘子法,求极值

结论

μk=1Nk∑Ni=1γ(i,k)xi\mu_k=\frac{1}{N_k}\sum_{i=1}^N \gamma(i,k)x_i

∑k=1Nk∑Ni=1γ(i,k)(xi−μk)(xi−μk)T\sum_k=\frac{1}{N_k} \sum_{i=1}^N \gamma(i,k)(x_i-\mu_k)(x_i-\mu_k)^T

πk=、frac1N∑Ni=1γ(i,k)\pi_k=、frac{1}{N}\sum_{i=1}^N \gamma(i, k)

Nk=N∗πkN_k=N*\pi_k

伯努利分布的混合算法

潜在类别分析
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: