模式识别实习报告.docxVIP

  • 53
  • 0
  • 约7.82千字
  • 约 15页
  • 2022-11-20 发布于广西
  • 举报
模式识别实习报告 班级:09012 姓名:毋一舟 学号:2009302590247 实习目的 用Bayes分类算法将待定样本进行分类,按照协方差相等和不等进行分类。并画出分界线。 1.在下列条件下,求待定样本x=(2,0)T的类别,画出分界线,编程上机。 1)、二类协方差相等,2)、二类协方差不等。 训练样本号k 1 2 3 1 2 3 特征x1 1 1 2 -1 -1 -2 特征x2 1 0 -1 1 0 -1 类别 ω 1 ω 2 2.有训练集资料矩阵如下表所示,现已知, N=9、N1=N2= N3=3、n=2、M=3,试问,X=(-2,2)T应属于哪一类?(要求:用两种解法a、三类协方差不等;b、三类协方差相等。) 训练样本号k 1 2 3 1 2 3 1 2 3 特征x1 0 2 1 -1 -2 -2 0 0 1 特征x2 0 1 0 1 0 -1 -2 -1 -2 类别 ω1 ω2 ω3 实习原理 通过训练样本特征及其特征值,若类的条件概率密度用正态来表示,则判别函数为: 决策面方程为: 在各类先验概率不相等的情况下: 若Σi= Σ相等,即各类协方差相等: Σ?为任意,各类协方差矩阵不等,二次项与i有关。所以判别函数为二次型函数。 通过判别函数正负来判断待定样本的类别。 三.编程实现 本程序可以实现任意个数的类别,任意个特征以及任意样本个数的训练样本进行协方差相等,或者不等的分类。 对于问题一: 表格 SEQ 表格 \* ARABIC 1 训练样本号k 1 2 3 1 2 3 特征x 1 1 2 -1 -1 -2 特征x 1 0 -1 1 0 -1 类别 ω ω 待定样本为:2, 0 结果: 二类协方差不等的情况下,程序运行截图如下: 由图可见:判别式计算结果为-64,小于零,属于第一类。 分界线方程为: X1 = 0; x2 = 8/3; 用matlab编程画图结果如下: 若计算二类协方差相等,则图1最后一行输入Y,得结果如下: 由上图可知:判别式结果为-8,小于零,属于第一类。 用matlab编程画图如下: 图 SEQ 图 \* ARABIC 7 第二题: 待判定样本为:-2,2 表格 SEQ 表格 \* ARABIC 2 训练样本号k 1 2 3 1 2 3 1 2 3 特征x 0 2 1 -1 -2 -2 0 0 1 特征x 0 1 0 1 0 -1 -2 -1 -2 类别 ω ω ω 三类协方差不等的情况下,程序运行截图如下: 运行结果如下: 接上图: 由上图可知判别函数为: g1(x)=-2*x1^2+6*x1*x2-6*x2*x2+2*x1-2*x2-0.52 g2(x)= -6*x1^2+6*x1*x2-2*x2^2-20*x1+10*x2-16.52 g3(x)= -2*x1^2-2*x1*x2-2*x2^2-2*x1-6*x2-4.52 属于第二类 用matlab编程得三类分界线如下图: 图 SEQ 图 \* ARABIC 13 协方差相等时情形一样,依旧把图9最后改成Y,篇幅原因不再附图。得判别函数为: g1(x)=0.6666666*x1-0.1333333*x2-0.16727; g2(x)=-1.3333333*x1+0.6666666*x2-0.96727; g3(x)=0.9333333*x1-1.4666666*x2-1.23394. 属于第二类 用matlab画出分界线图得: 图 SEQ 图 \* ARABIC 14 附录 void result_2(float *const determ, float *const x_p, double *const xp, double *const xs_ni)//两类别的情况 { char sure_ ; double p[3] = {0}; cout 先验概率为: endl; for (int i = 0; iM; i++) { p[i] = double(N[i])/nn; cout p[ i+1 ]= p[i] endl;; } cout endl; float a1, a2; a1 = log(determ[0]/determ[1]); a2 = log(p[0]/p[1]); c

文档评论(0)

1亿VIP精品文档

相关文档