模式识别实验最小错误率下的贝叶斯决策

更新时间:2023-11-15 13:13:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《模式识别》实验报告

题目:最小错误率贝叶斯决策

一、 实验内容 1,实验原理

2,实验步骤

1)从

iris.txt 文件(课程邮箱-文件中心)中读取估计参数用的样本,

每一类样本抽出前40个,分别求其均值;

(2)求每类样本的协方差矩阵、逆矩阵以及协方差矩阵的行列式; (3)对三个类别,分别取每组剩下的 10个样本,每两组进行分类。由于每类样本都相等,

且每类选取用作训练的样本也相等,在每两组进行分类时,待分类样本的类

先验概率为0.5。

将各个样本代入判别函数既公式(5),进行分类。

3,实验要求

(1)复习最小错误率贝叶斯决策原理,写出实验代码,实现对三类样本的分类;

(2)计算分类的正确率,画出三维空间的样本分类图; (3)分析实验结果,完成实验报告。

二、实验代码

(1), clear

% 原始数据导入 iris=load('iris.txt'); N=40;%每组取N=40个样本 %求第一类样本均值 for i = 1:N for j = 1:4

w1(i,j) = iris(i,j+1); end end

sumx1 = sum(w1,1); for i=1:4

meanx1(1,i)=sumx1(1,i)/N; end

%求第二类样本均值 for i = 1:N for j = 1:4

w2(i,j) = iris(i+50,j+1); end end

sumx2 = sum(w2,1); for i=1:4

meanx2(1,i)=sumx2(1,i)/N; end

%求第三类样本均值

for i = 1:N for j = 1:4

w3(i,j) = iris(i+100,j+1); end end

sumx3 = sum(w3,1); for i=1:4

meanx3(1,i)=sumx3(1,i)/N; end (2),

%求第一类样本协方差矩阵 z1(4,4) = 0; var1(4,4) = 0; for i=1:4 for j=1:4 for k=1:N

z1(i,j)=z1(i,j)+(w1(k,i)-meanx1(1,i))*(w1(k,j)-meanx1(1,j)); end

var1(i,j) = z1(i,j) / (N-1); end end

%求第二类样本协方差矩阵 z2(4,4) = 0 ; var2(4,4) = 0; for i=1:4 for j=1:4 for k=1:N

z2(i,j)=z2(i,j)+(w2(k,i)-meanx2(1,i))*(w2(k,j)-meanx2(1,j)); end

ar2(i,j) = z2(i,j) / (N-1); end end

%求第三类样本协方差矩阵 z3(4,4) = 0 ;

var3(4,4) = 0; for i=1:4 for j=1:4 for k=1:N

z3(i,j)=z3(i,j)+(w3(k,i)-meanx3(1,i))*(w3(k,j)-meanx3(1,j)); end

var3(i,j) = z3(i,j) /( N-1); end end

%求各类的协方差矩阵逆矩阵及行列式 var1_inv = [];var1_det = []; var2_inv = [];var2_det = []; var3_inv = [];var3_det = []; var1_inv = inv(var1); var2_inv = inv(var2); var3_inv = inv(var3); var1_det = det(var1); var2_det = det(var2); var3_det = det(var3); (3), M=10; for i = 1:M for j = 1:4

test(i,j) = iris(i+50,j+1); % 取测试数据 end end

t1=0;t2=0;t3=0; for i = 1:M

x=test(i,1);y=test(i,2); z=test(i,3);h=test(i,4);

g1 = (-0.5)*([x,y,z,h]-meanx1)*var1_inv*([x,y,z,h]'-meanx1') 0.5*log(abs(var1_det)) +log(0.5); % p1

g2 = (-0.5)*([x,y,z,h]-meanx2)*var2_inv*([x,y,z,h]'-meanx2') 0.5*log(abs(var2_det)) +log(0.5); % p2

- -

本文来源:https://www.bwwdw.com/article/n6jv.html

Top