资源简介
以狼来了为例,使用贝叶斯分类器对小孩三次说谎后的可信度的一个计算,并介绍了二分类问题的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
相关资源
- windows下caffe的matlab接口
- blinddeconv盲卷积去模糊
- BOC调制的matlab仿真
- 基于Matlab的含风电电网建模与仿真
- windows sdk7.1 用于matlab与vs交叉编译
- Numerical Methods for Chemical Engineering App
- MATLAB Deep Learning.pdf
- hough变换检测圆
- 基于MATLAB的人口预测研究
- matlab工具箱LMI使用
- MATLAB ComputerVision Lego
- matlab反演程序
- matlab实现模拟ps软件部分功能
- platEMO内涵几乎所有多目标优化问题的
- matlab编程第二版菜鸟入门教材
- BELLHOP水声信道仿真Matlab源码
- 运动目标检测的混合高斯背景建模m
- MATLAB编写语音加噪与去噪GUI
- Matlab R2014a中文版破解文件_x64_x86
- 图象纹理分割matlab源代码
- 数字信号处理及其matlab实现.pdf
- 云点 离散点 三维 重构 三维建模 ma
- BM3D MATLAB 代码
- Kriging插值·最近邻值点插值·距离反比
- MATLAB官方手册
- 基于MATLAB的指纹识别系统并且带有g
- matlab 实现光伏发电能量管理仿真
- 车牌识别matlab实现蓝色车牌和新能源
- LDPC码编译码器的matlab实现
- 《最优化计算方法及其MATLAB程序实现
评论
共有 条评论