贝叶斯分类器的matlab实现.docx
- 文档编号:395108
- 上传时间:2022-10-09
- 格式:DOCX
- 页数:5
- 大小:151.65KB
贝叶斯分类器的matlab实现.docx
《贝叶斯分类器的matlab实现.docx》由会员分享,可在线阅读,更多相关《贝叶斯分类器的matlab实现.docx(5页珍藏版)》请在冰豆网上搜索。
贝叶斯分类器的matlab实现
贝叶斯分类原理:
1)在已知P(Wi),P(X|Wi)(i=1,2)及给出待识别的X的情况下,根据贝叶斯公式计算出后验概率P(Wi|X);
2)根据1)中计算的后验概率值,找到最大的后验概率,则样本X属于该类
举例:
解决方案:
但对于两类来说,因为分母相同,所以可采取如下分类标准:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%ByShelleyfromNCUT,April14th2011
%Email:
just_for_h264@
%此程序利用贝叶斯分类算法,首先对两类样本进行训练,
%进而可在屏幕上任意取点,程序可输出属于第一类,还是第二类
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
closeall
%读入两类训练样本数据
loaddata
%求两类训练样本的均值和方差
u1=mean(Sample1);
u2=mean(Sample2);
sigm1=cov(Sample1);
sigm2=cov(Sample2);
%计算两个样本的密度函数并显示
x=-20:
0.5:
40;
y=-20:
0.5:
20;
[X,Y]=meshgrid(x,y);
F1=mvnpdf([X(:
),Y(:
)],u1,sigm1);
F2=mvnpdf([X(:
),Y(:
)],u2,sigm2);
P1=reshape(F1,size(X));
P2=reshape(F2,size(X));
figure
(2)
surf(X,Y,P1)
holdon
surf(X,Y,P2)
shadinginterp
colorbar
title('条件概率密度函数曲线');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%以下为测试部分
%利用ginput随机选取屏幕上的点(可连续取10个点)
%程序可根据点的位置自动地显示出属于那个类
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
pw1=0.4;pw2=0.6;
figure
(1)
plot(Sample1(:
1),Sample1(:
2),'r.')
holdon
plot(Sample2(:
1),Sample2(:
2),'b.')
fori=1:
10
[u,v]=ginput
(1);
plot(u,v,'m*');
P1=pw1*mvnpdf([u,v],u1,sigm1);
P2=pw2*mvnpdf([u,v],u2,sigm2);
holdall
if(P1>P2)
disp('itbelongtothefirstclass');
else
disp('itbelongtothesecondclass');
end;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
结果示意:
两个样本的密度函数曲线:
测试结果:
命令窗口中显示:
itbelongtothefirstclass
itbelongtothesecondclass
itbelongtothesecondclass
itbelongtothefirstclass
itbelongtothefirstclass
itbelongtothefirstclass
itbelongtothefirstclass
itbelongtothefirstclass
itbelongtothefirstclass
itbelongtothefirstclass
分析可知在第一类周围有八个随机的测试点,在第二类周围有两个随机的测试点,与命令窗口中的结果相符合。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 贝叶斯 分类 matlab 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)