朴素贝叶斯算法matlab实现以及EM算法

这周,继续学习了朴素贝叶斯算法的一部分知识,看了matlab的贝叶斯分类算法。采用草地潮湿原因模型的一个例子来求证贝叶斯概率以及条件概率、联合概率的分析,详见日志http://blog.sina.com.cn/s/blog_6c7b434d01013ufz.html 

 

进而对贝叶斯分类进行研究,采用classify函数进行对训练样本的划分。详见日志

 http://blog.sina.com.cn/s/blog_6c7b434d01013zv7.html

 

 

在对matlab的学习中,发现自己的很多不足,比如matlab算法是基于矩阵的,但线性代数的相关知识遗忘比较多。

 

在这周的学习中,还研究了EM算法。

EM算法是个聚类算法,即根据给定观察数据自动对数据进行分类。

一、问题提出

给定一些观察数据x,假设x符合如下高斯分布

【每周学习笔记】朴素贝叶斯算法matlab实现以及EM算法


求混合高斯分布的三组参数【每周学习笔记】朴素贝叶斯算法matlab实现以及EM算法
二、EM算法

一个简单问题,该高斯分布的k个分布已知。若该混合高斯分布一共有K个分布,并且对于每个观察 到的x,如果我们同时还知道它属于K中的哪一个分布, 则我们可以根据最大似然估计求出每个参数。

 

【每周学习笔记】朴素贝叶斯算法matlab实现以及EM算法



得到的结论为

 

【每周学习笔记】朴素贝叶斯算法matlab实现以及EM算法

 



但在实际问题中,观察数据x属于哪个高斯分布是未知的,所以要用 EM算法来解决这种实际问题


【每周学习笔记】朴素贝叶斯算法matlab实现以及EM算法

 

三、算法过程:

1、用随机函数初始化K个高斯分布的参数,同时保证

【每周学习笔记】朴素贝叶斯算法matlab实现以及EM算法

2、依次取观察数据x,比较x在K个高斯函数中概率的大小,把x归类到这K个高斯中概率最大的一个

【每周学习笔记】朴素贝叶斯算法matlab实现以及EM算法

3、用最大似然估计,使观察数据是x的概率最大,因为已经在第2步中分好类了,所以,即简单问题的求法。

【每周学习笔记】朴素贝叶斯算法matlab实现以及EM算法

 

4、返回第2步用第3步新得到的参数来对观察数据x重新分类。直到下式概率(最大似然函数)达到最大

 

【每周学习笔记】朴素贝叶斯算法matlab实现以及EM算法

问题的求解过程是这样的:

【每周学习笔记】朴素贝叶斯算法matlab实现以及EM算法

转载来源:http://blog.sina.com.cn/s/blog_6c7b434d01013zwe.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值