资源简介
以狼来了为例,使用贝叶斯分类器对小孩三次说谎后的可信度的一个计算,并介绍了二分类问题的matlab实现

代码片段和文件信息
function [ PpSs] = CASE(constant)
%CASE3函数表示在协方差矩阵是非对角阵鲈鱼和三文鱼的协方差矩阵相同条件下,生成的贝叶斯分类器的结果
%输入参数:mul_perch——鲈鱼的均值
% sigma_perch——鲈鱼的方差
% mul_salmon——三文鱼的均值
% sigma_salmon——三文鱼的方差
%输出参数:Pp作为一个结构体,表示当perch_test作为测试样本的分类的准确率和错误率
% pc——表示perch_test作为测试样本的分类的准确率
% pw——表示perch_test作为测试样本的分类的错误率
% Ss作为一个结构体,表示当salmon_test作为测试样本的分类的准确率和错误率
% pc——表示perch_test作为测试样本的分类的准确率
% pw——表示perch_test作为测试样本的分类的错误率
%case3:协方差矩阵是非对角阵鲈鱼和三文鱼的协方差矩阵相同
%case4:鲈鱼和三文鱼的协方差矩阵都是对角阵,但是两者协方差矩阵不同
%case5:鲈鱼和三文鱼的协方差矩阵都是非对角阵,但是两者协方差矩阵不同(更一般的情况)
switch(constant)
case 3
mul_salmon=[150120];sigma_salmon=[30-15;-1550];
mul_perch=[17090];sigma_perch=[30-15;-1550];
case 4
mul_perch=[17090];sigma_perch=[350;035];
mul_salmon=[150120];sigma_salmon=[280;028];
case 5
mul_perch=[17090];sigma_perch=[38-9;-940];
mul_salmon=[150120];sigma_salmon=[40-13;-1330];
end
perch=mvnrnd(mul_perchsigma_perch10000);%z = mvnrnd(musigman):产生多维正态随机数,mu为期望向量,sigma为协方差矩阵,n为规模。
salmon=mvnrnd(mul_salmonsigma_salmon10000);
[ perch_trainperch_testsalmon_trainsalmon_test ] = rand_select( perchsalmon );%生成测试样本和训练样本
%绘制perch和salmon的散点图
figure(1);
scatter(perch(:1)perch(:2)‘r‘‘.‘);
xlabel(‘样本长度‘);
ylabel(‘样本亮度‘);
hold on
scatter(salmon(:1)salmon(:2)‘b‘‘.‘);
legend(‘perch 鲈鱼‘‘salmon 三文鱼‘);
title(‘perch和salmon的散点图‘);
mul_perch_train=mean(perch_train);
sigma_perch_train=cov(perch_train);
%salmon的训练样本
mul_salmon_train=mean(salmon_train);
sigma_salmon_train=cov(salmon_train);
%获得后验概率(去掉所谓的常量)
%将测试样本分给鲈鱼的类别
A_perch=ones(size(perch_train1)2);
B_perch=[mul_perch_train(:1)*A_perch(:1)mul_perch_train(:2)*A_perch(:2)];
%利用鲈鱼的测试样本
p_p=-0.5*(perch_test-B_perch)*inv(sigma_perch_train)*(perch_test-B_perch)‘;
y_perch=diag(p_p);%提取对角元素将鲈鱼分类到鲈鱼的后验概率
%利用三文鱼的测试样本
s_p=-0.5*(salmon_test-B_perch)*inv(sigma_perch_train)*(salmon_test-B_perch)‘;
y_sal_vsperch=diag(s_p);%将三文鱼分类到鲈鱼类别的后验概率
%将测试样本分给三文鱼的类别
A_salmon=ones(size(salmon_train1)2);
B_salmon=[mul_salmon_train(:1)*A_salmon(:1)mul_salmon_train(:2)*A_salmon(:2)];
%利用鲈鱼的测试样本
p_s=-0.5*(perch_test-B_salmon)*inv(sigma_salmon_train)*(perch_test-B_salmon)‘;
y_per_vssalmon=diag(p_s);%提取对角元素将鲈鱼分类到三文鱼的后验概率
%利用三文鱼的测试样本
s_s=-0.5*(salmon_test-B_salmon)*inv(sigma_salmon_train)*(salmon_test-B_salmon)‘;
y_salmon=diag(s_s);%将三文鱼分类到鲈鱼类别的后验概率
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%计算分类结果的准确率和错误率
%鲈鱼作为测试样本,分类结果如下
A_p=y_perch-y_per_vssalmon;
Pp.pc=(sum(A_p(:)>0))/size(A_p1);
Pp.pw=(sum(A_p(:)<=0))/size(A_p1);
%三文鱼作为测试样本,分类结果如下
A_s=y_salmon-y_sal_vsperch;
Ss.sc=(sum(A_s(:)>0))/size(A_s1);
Ss.sw=(sum(A_s(:)<=0))/size(A_s1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%绘制相关图例
figure(2)
subplot(211);
plot3(perch_test(:1)perch_test(:2)y_perch‘b.‘);
hold on
plot3(perch_test(:1)perch_test(:2)y_per_vssalmon‘r*‘);
legend(‘p(鲈鱼|鲈鱼测试样本)‘‘p(三文鱼|鲈鱼测试样本)‘);
xlabel(‘鲈鱼长度测试样本‘);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3994 2017-05-09 20:06 贝叶斯分类器的matlab实现\贝叶斯分类器\CASE.m
文件 6661 2017-05-09 16:50 贝叶斯分类器的matlab实现\贝叶斯分类器\classify.m
文件 2587 2017-05-09 17:01 贝叶斯分类器的matlab实现\贝叶斯分类器\classify_2D.m
文件 2138 2017-05-09 16:57 贝叶斯分类器的matlab实现\贝叶斯分类器\K_cp.m
文件 1695 2017-03-11 21:05 贝叶斯分类器的matlab实现\贝叶斯分类器\para_esti.m
文件 1063 2017-03-11 20:59 贝叶斯分类器的matlab实现\贝叶斯分类器\problem01.m
文件 903 2017-05-09 19:50 贝叶斯分类器的matlab实现\贝叶斯分类器\rand_select.m
文件 747 2017-03-11 16:51 贝叶斯分类器的matlab实现\贝叶斯分类器\说明.txt
文件 3220992 2018-01-11 19:57 贝叶斯分类器的matlab实现\贝叶斯论实例.ppt
目录 0 2017-05-15 14:52 贝叶斯分类器的matlab实现\贝叶斯分类器
目录 0 2018-01-11 19:57 贝叶斯分类器的matlab实现
----------- --------- ---------- ----- ----
3240780 11
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论