moead算法流程步骤_数据挖掘十大算法—— EM

十大算法 —— EM

1、基本介绍

(1)概述:EM算法的全称是期望-最大化算法。该算法是一种通过迭代求解隐含变量的充分统计量和最大化似然函数以达到估计参数的算法。该算法广受关注,不仅是因为其含有隐含变量的似然函数提供解法,更是因为其完备的数学模型得以保证其求解结果的正确性。EM算法是一种迭代优化策略,由于其每次迭代都分为两步,第一步为E(求期望),第二步为M(最大化),所以称为EM算法。EM算法的基本思想是根据已经给出的观测数据估计出模型参数的值,然后依据上一步估计出的参数值估计缺失数据的值,再根据估计的缺失数据的值加上已经观测到的数据重新对参数值进行估计,然后反复迭代,直到收敛。EM算法作为一种数据添加算法,比其他的数据添加算法(如神经网络拟合、添补法、卡尔曼滤波法等)要更简单,且稳定上升的步骤能非常可靠地找到“最优的收敛值”。

(2)优点

[1] 具有简单性和普适性,可看作是一种非梯度优化的方法;

[2] 该算法是自收敛的分类算法,既不需要事先设定类别,也不需要数据的两两比较、合并等操作。

(3)缺点

[1] 对初始值敏感,初始值不同可能得到不同的参数估计值;

[2] 迭代速度比较慢,次数多,容易陷入局部最优;

[3] 当所需要优化的函数不是凸函数时,容易给出局部最佳解,而不是最优解。

(4)未来研究和发展方向:算法在大规模多维数据集上的应用、初始化参数的确定等。

2、算法流程

(1)问题说明

297e587b72f79553f736ab0a1c9ffe10.png

(2)算法步骤(文字描述版)

format,png

(3)算法步骤(数学描述版)

13344d465becb1c7fec9fa65af11d4a5.png

3、详细例子

(1)例子一(靠嘴模拟)

bb7959562f5dcc40cb2518d15384498c.png

(2)例子二(R语言实操)

[1] 代码

library(mclust)           # 安装进行EM算法的mclust包

mc<-Mclust(iris[,1:4],3)  # 对iris数据集构建EM模型

plot(mc,what="classification",dimens=c(3,4))     # 画出分类的结果

table(iris$Species,mc$classification)            # 查看分类混淆矩阵

[2] 结果

d84180ba08b23b1db11d2dcaa016b15a.png

f35c68a0f7c3c8a1c6bca2b8967d4ffd.png

4126b9c153a582f31a93cc2356bfcf3d.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值