Expectation Maximization (EM)

- 问题导入

最大似然估计法核估计 (density estimation) 的常用方法之一。在变量与潜在变量存在关系的时候,最大似然估计法便无法很好的处理。而期望最大算法(EM)可以处理存在潜在变量的情况。EM通常包括了两步:(1)估计潜在变量的值;(2)优化模型,反复迭代至收敛。


1. 最大似然法在处理潜在变量的问题
最大似然法的前提是,数据完整且可观测。但在实际过程中,这通常是不可能的:一部分变量可观察,而其他的不行,即使他们会影响其他的随机变量,但他们任然是不可观测的。


2. 期望最大算法(EM)
期望最大算法是在潜在变量存在情况下的最大似然法。算法分两步:

  • E-step: 估计缺失的变量数据;
  • M-step: 在当前数据下,最大化模型参数。

3. 高斯混合模型和EM算法
高斯混合模型是一个高斯分布组合而成的模型,每个部分都有单独的mean和std。例如:现有两个高斯过程生成数据,其中一个生成符合mean=20,std=5的高斯分布的3000个数据,另一个生成符合mean=40, std=4的高斯分布的4000个数据。

from numpy import hstack
from numpy.random import normal

x1 = nomral(loc=20, scale=5, size=3000)
x2 = nomral(loc=40, scale=5, size=4000)
X = hstack((x1, x2))

我们可以估计这个数据集的density通过高斯混合模型

from sklearn.mixture import GaussianMixture

X = X.reshape((len(X), 1))
model = GaussainMixture(n_compnets=2, init_params='random')
model.fit(X)

y_hat = model.predict(X)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值