《模式识别》实验报告
- 格式:wps
- 大小:330.28 KB
- 文档页数:17
基于K-L 变换的iris 数据分类一、实验原理K-L 变换是一种基于目标统计特性的最佳正交变换。
它具有一些优良的性质:即变换后产生的新的分量正交或者不相关;以部分新的分量表示原矢量均方误差最小;变换后的矢量更趋确定,能量更集中。
这一方法的目的是寻找任意统计分布的数据集合之主要分量的子集。
设n 维矢量12,,,Tn x x x ⎡⎤⎣⎦=x ,其均值矢量E ⎡⎤⎣⎦=μx ,协方差阵()T x E ⎡⎤⎣⎦=--C x u)(x u ,此协方差阵为对称正定阵,则经过正交分解克表示为x =T C U ΛU ,其中12,,,[]n diag λλλ=Λ,12,,,n u u u ⎡⎤⎣⎦=U 为对应特征值的特征向量组成的变换阵,且满足1T -=U U 。
变换阵T U 为旋转矩阵,再此变换阵下x 变换为()T -=x u y U ,在新的正交基空间中,相应的协方差阵12[,,,]x n diag λλλ==x UC U C 。
通过略去对应于若干较小特征值的特征向量来给y 降维然后进行处理。
通常情况下特征值幅度差别很大,忽略一些较小的值并不会引起大的误差。
对经过K-L 变换后的特征向量按最小错误率bayes 决策和BP 神经网络方法进行分类。
二、实验步骤(1)计算样本向量的均值E ⎡⎤⎣⎦=μx 和协方差阵()T x E ⎡⎤⎣⎦=--C x u)(x u 5.8433 3.0573 3.7580 1.1993⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦=μ,0.68570.0424 1.27430.51630.04240.189980.32970.12161.27430.3297 3.1163 1.29560.51630.1216 1.29560.5810x ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦----=--C (2)计算协方差阵x C 的特征值和特征向量,则4.2282 , 0.24267 , 0.07821 , 0.023835[]diag =Λ-0.3614 -0.6566 0.5820 0.3155 0.0845 -0.7302 -0.5979 -0.3197 -0.8567 0.1734 -0.0762 -0.4798 -0.3583 0.0755 -0.5458 0.7537⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦=U 从上面的计算可以看到协方差阵特征值0.023835和0.07821相对于0.24267和4.2282很小,并经计算个特征值对误差影响所占比重分别为92.462%、5.3066%、1.7103%和0.52122%,因此可以去掉k=1~2个最小的特征值,得到新的变换阵12,,,new n k u u u -⎡⎤⎣⎦=U 。
《模式识别》实验报告---最小错误率贝叶斯决策分类一、实验原理对于具有多个特征参数的样本(如本实验的iris 数据样本有4d =个参数),其正态分布的概率密度函数可定义为112211()exp ()()2(2)T d p π-⎧⎫=--∑-⎨⎬⎩⎭∑x x μx μ 式中,12,,,d x x x ⎡⎤⎣⎦=x 是d 维行向量,12,,,d μμμ⎡⎤⎣⎦=μ是d 维行向量,∑是d d ⨯维协方差矩阵,1-∑是∑的逆矩阵,∑是∑的行列式。
本实验我们采用最小错误率的贝叶斯决策,使用如下的函数作为判别函数()(|)(),1,2,3i i i g p P i ωω==x x (3个类别)其中()i P ω为类别i ω发生的先验概率,(|)i p ωx 为类别i ω的类条件概率密度函数。
由其判决规则,如果使()()i j g g >x x 对一切j i ≠成立,则将x 归为i ω类。
我们根据假设:类别i ω,i=1,2,……,N 的类条件概率密度函数(|)i p ωx ,i=1,2,……,N 服从正态分布,即有(|)i p ωx ~(,)i i N ∑μ,那么上式就可以写为1122()1()exp ()(),1,2,32(2)T i i dP g i ωπ-⎧⎫=-∑=⎨⎬⎩⎭∑x x -μx -μ对上式右端取对数,可得111()()()ln ()ln ln(2)222T i i i i dg P ωπ-=-∑+-∑-i i x x -μx -μ上式中的第二项与样本所属类别无关,将其从判别函数中消去,不会改变分类结果。
则判别函数()i g x 可简化为以下形式111()()()ln ()ln 22T i i i i g P ω-=-∑+-∑i i x x -μx -μ二、实验步骤(1)从Iris.txt 文件中读取估计参数用的样本,每一类样本抽出前40个,分别求其均值,公式如下11,2,3ii iii N ωωω∈==∑x μxclear% 原始数据导入iris = load('C:\MATLAB7\work\模式识别\iris.txt'); N=40;%每组取N=40个样本%求第一类样本均值 for i = 1:N for j = 1:4w1(i,j) = iris(i,j+1); end endsumx1 = sum(w1,1); for i=1:4meanx1(1,i)=sumx1(1,i)/N; end%求第二类样本均值 for i = 1:N for j = 1:4 w2(i,j) = iris(i+50,j+1);end endsumx2 = sum(w2,1); for i=1:4meanx2(1,i)=sumx2(1,i)/N; end%求第三类样本均值 for i = 1:N for j = 1:4w3(i,j) = iris(i+100,j+1); end endsumx3 = sum(w3,1); for i=1:4meanx3(1,i)=sumx3(1,i)/N; end(2)求每一类样本的协方差矩阵、逆矩阵1i -∑以及协方差矩阵的行列式i ∑, 协方差矩阵计算公式如下11()(),1,2,3,41i ii N i jklj j lk k l i x x j k N ωωσμμ==--=-∑其中lj x 代表i ω类的第l 个样本,第j 个特征值;ij ωμ代表i ω类的i N 个样品第j 个特征的平均值lk x 代表i ω类的第l 个样品,第k 个特征值;iw k μ代表i ω类的i N 个样品第k 个特征的平均值。
模式识别作业《模式识别》大作业人脸识别方法一 ---- 基于PCA 和欧几里得距离判据的模板匹配分类器一、 理论知识1、主成分分析主成分分析是把多个特征映射为少数几个综合特征的一种统计分析方法。
在多特征的研究中,往往由于特征个数太多,且彼此之间存在着一定的相关性,因而使得所观测的数据在一定程度上有信息的重叠。
当特征较多时,在高维空间中研究样本的分布规律就更麻烦。
主成分分析采取一种降维的方法,找出几个综合因子来代表原来众多的特征,使这些综合因子尽可能地反映原来变量的信息,而且彼此之间互不相关,从而达到简化的目的。
主成分的表示相当于把原来的特征进行坐标变换(乘以一个变换矩阵),得到相关性较小(严格来说是零)的综合因子。
1.1 问题的提出一般来说,如果N 个样品中的每个样品有n 个特征12,,n x x x ,经过主成分分析,将它们综合成n 综合变量,即11111221221122221122n nn n n n n nn ny c x c x c x y c x c x c x y c x c x c x =+++⎧⎪=+++⎪⎨⎪⎪=+++⎩ij c 由下列原则决定:1、i y 和j y (i j ≠,i,j = 1,2,...n )相互独立;2、y 的排序原则是方差从大到小。
这样的综合指标因子分别是原变量的第1、第2、……、第n 个主分量,它们的方差依次递减。
1.2 主成分的导出我们观察上述方程组,用我们熟知的矩阵表示,设12n x x X x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦是一个n 维随机向量,12n y y Y y ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦是满足上式的新变量所构成的向量。
于是我们可以写成Y=CX,C 是一个正交矩阵,满足CC ’=I 。
坐标旋转是指新坐标轴相互正交,仍构成一个直角坐标系。
变换后的N 个点在1y 轴上有最大方差,而在n y 轴上有最小方差。
同时,注意上面第一条原则,由此我们要求i y 轴和j y 轴的协方差为零,那么要求T YY =Λ12n λλλ⎡⎤⎢⎥⎢⎥Λ=⎢⎥⎢⎥⎣⎦令T R XX =,则T T RC C =Λ经过上面式子的变换,我们得到以下n 个方程111111212112111221122111121211()0()0()0n n n n n n nn n r c r c r c r c r c r c r c r c r c λλλ-+++=+-++=+++-=1.3 主成分分析的结果我们要求解出C ,即解出上述齐次方程的非零解,要求ij c 的系数行列式为0。
模式识别实验
一、实验任务
本次实验任务是模式识别,主要包括形式化的目标追踪、字符流分类和语音识别等。
二、所需软件
本实验所需软件包括MATLAB、Python等。
三、实验步骤
1. 首先需要安装MATLAB 和Python等软件,并建立实验环境。
2. 然后,通过MATLAB 进行基于向量量化(VQ) 的目标追踪实验,搭建端到端的系统,并使用Matlab编程实现实验内容。
3. 接着,使用Python进行字符流分类的实验,主要包括特征提取、建模和识别等,并使用Python编程实现实验内容。
4. 最后,使用MATLAB 进行语音识别的实验,主要是使用向量量化方法识别语音,并使用Matlab编程实现实验内容。
四、结果分析
1.在基于向量量化的目标追踪实验中,我们通过计算误差,确定了最优参数,最终获得了较高的准确率。
2.在字符流分类实验中,我们通过选择最佳分类器,得到了较高的准确率。
3.在语音识别实验中,我们使用向量量化方法,最终也获得了不错的准确率。
五、总结
本次实验研究了基于向量量化的目标追踪、字符流分类和语音识别等三项模式识别技术,经实验,探讨了不同方法之间的优劣,并获得了较高的准确率。
本次实验的结果为日常模式识别工作提供了有价值的参考。
《模式识别》实验报告三、线性分类器实验1.(a)产生两个都具有200 个二维向量的数据集X1 和X1 ’。
向量的前半部分来自m1=[-5;0]的正态分布,并且S1=I 。
向量的后半部分来自m2=[5;0]的正态分布,并且S1=I。
其中I是一个2×2 的单位矩阵。
(b)在上面产生的数据集上运用Fisher 线性判别、感知器算法和最小平方误差判别算法,需要初始化参数的方法使用不同的初始值。
(c)测试每一种方法在X1 和X1 ’ 上的性能(错误率)。
(d)画出数据集X1 和X1 ’,已经每种方法得到对应参数向量W 的分界线。
Fisher线性判别图1 红色为第一类,绿色为第二类,直线为对应参数向量W的分界线,参数向量w = [-9.9406, 0.9030]’错误率error=0,感知器算法:图2 红色为第一类,绿色为第二类,直线为对应参数向量W的分界线,参数的初始值为[0.1;0.1];迭代次数iter=2参数向量w = [-4.8925, 0.0920]’错误率error=0图3 红色为第一类,绿色为第二类,直线为对应参数向量W的分界线,参数的初始值为[1; 1];迭代次数iter=2参数向量w = [-3.9925, 0.9920]’错误率error=0图4 红色为第一类,绿色为第二类,直线为对应参数向量W的分界线,参数的初始值为[10; 10];迭代次数iter=122参数向量w = [-5.6569, 7.8096]’错误率error=0图5 红色为第一类,绿色为第二类,直线为对应参数向量W的分界线,参数的初始值为[50; 50];迭代次数iter=600参数向量w = [-27.0945, 37.4194]’错误率error=0图6 红色为第一类,绿色为第二类,直线为对应参数向量W的分界线,参数的初始值为[50; 100];迭代次数iter=1190参数向量w = [-54.0048, 74.5875]’错误率error=0最小平方误差判别算法:图7 红色为第一类,绿色为第二类,直线为对应参数向量W的分界线,参数的初始值为[0.1; 0.1];参数向量w = [-0.1908, -0.0001]’错误率error=0图8 红色为第一类,绿色为第二类,直线为对应参数向量W的分界线,参数的初始值为[0.5; 0.5];参数向量w = [-0.1924, 0.1492]’错误率error=0图9 红色为第一类,绿色为第二类,直线为对应参数向量W的分界线,参数的初始值为[1; 0.5];参数向量w = [-0.1914, 0.0564]’错误率error=0图10 红色为第一类,绿色为第二类,直线为对应参数向量W的分界线,参数的初始值为[1; 1];参数向量w = [-0.1943, 0.3359]’错误率error= 0.00502.重复1.中的实验内容,数据集为X2 和X2 ’。
《模式识别》实验报告-贝叶斯分类一、实验目的通过使用贝叶斯分类算法,实现对数据集中的样本进行分类的准确率评估,熟悉并掌握贝叶斯分类算法的实现过程,以及对结果的解释。
二、实验原理1.先验概率先验概率指在不考虑其他变量的情况下,某个事件的概率分布。
在贝叶斯分类中,需要先知道每个类别的先验概率,例如:A类占总样本的40%,B类占总样本的60%。
2.条件概率后验概率指在已知先验概率和条件概率下,某个事件发生的概率分布。
在贝叶斯分类中,需要计算每个样本在各特征值下的后验概率,即属于某个类别的概率。
4.贝叶斯公式贝叶斯公式就是计算后验概率的公式,它是由条件概率和先验概率推导而来的。
5.贝叶斯分类器贝叶斯分类器是一种基于贝叶斯定理实现的分类器,可以用于在多个类别的情况下分类,是一种常用的分类方法。
具体实现过程为:首先,使用训练数据计算各个类别的先验概率和各特征值下的条件概率。
然后,将测试数据的各特征值代入条件概率公式中,计算出各个类别的后验概率。
最后,取后验概率最大的类别作为测试数据的分类结果。
三、实验步骤1.数据集准备本次实验使用的是Iris数据集,数据包含150个Iris鸢尾花的样本,分为三个类别:Setosa、Versicolour和Virginica,每个样本有四个特征值:花萼长度、花萼宽度、花瓣长度、花瓣宽度。
2.数据集划分将数据集按7:3的比例分为训练集和测试集,其中训练集共105个样本,测试集共45个样本。
计算三个类别的先验概率,即Setosa、Versicolour和Virginica类别在训练集中出现的频率。
对于每个特征值,根据训练集中每个类别所占的样本数量,计算每个类别在该特征值下出现的频率,作为条件概率。
5.测试数据分类将测试集中的每个样本的四个特征值代入条件概率公式中,计算出各个类别的后验概率,最后将后验概率最大的类别作为该测试样本的分类结果。
6.分类结果评估将测试集分类结果与实际类别进行比较,计算分类准确率和混淆矩阵。
一、贝叶斯估计做分类【问题描述】实习题目一:用贝叶斯估计做分类。
问题描述:给出试验区裸土加水田的tif图像,要求通过贝叶斯估计算法对房屋、水田及植被进行分类。
问题分析:首先通过目视解译法对图像进行分类,获取裸土、水田和植被的DN值,在此基础上,通过该部分各个类别的面积计算先验概率,然后带入公式进行计算,从而对整个图像进行分类。
【模型方法】与分布有关的统计分类方法主要有最大似然/ 贝叶斯分类。
最大似然分类是图像处理中最常用的一种监督分类方法,它利用了遥感数据的统计特征,假定各类的分布函数为正态分布,在多变量空间中形成椭圆或椭球分布,也就是和中个方向上散布情况不同,按正态分布规律用最大似然判别规则进行判决,得到较高准确率的分类结果。
否则,用平行六面体或最小距离分类效果会更好。
【方案设计】①确定需要分类的地区和使用的波段和特征分类数,检查所用各波段或特征分量是否相互已经位置配准;②根据已掌握的典型地区的地面情况,在图像上选择训练区;③计算参数,根据选出的各类训练区的图像数据,计算和确定先验概率;④分类,将训练区以外的图像像元逐个逐类代入公式,对于每个像元,分几类就计算几次,最后比较大小,选择最大值得出类别;⑤产生分类图,给每一类别规定一个值,如果分10 类,就定每一类分别为1 ,2 ……10 ,分类后的像元值便用类别值代替,最后得到的分类图像就是专题图像. 由于最大灰阶值等于类别数,在监视器上显示时需要给各类加上不同的彩色;⑥检验结果,如果分类中错误较多,需要重新选择训练区再作以上各步,直到结果满意为止。
【结果讨论】如图所示,通过贝叶斯算法,较好地对图像完成了分类,裸土、植被和水田三个类别清晰地判别出来。
在计算先验概率时,选择何种数据成为困扰我的一个问题。
既有ENVI自身提供的精确的先验概率值,也可以自己通过计算各个类别的面积,从而获取大致的先验概率值。
最后,在田老师的讲解下,我知道了虽然数据可能不太精确,但是,计算先验概率时,总体的倾向是一致的,所以在最后判别时,因此而引起的误差是微乎其微的,所以,一定要弄清楚算法原理,才能让自己的每一步工作都有理可循。
模式识别实验报告关键信息项:1、实验目的2、实验方法3、实验数据4、实验结果5、结果分析6、误差分析7、改进措施8、结论1、实验目的11 阐述进行模式识别实验的总体目标和期望达成的结果。
111 明确实验旨在解决的具体问题或挑战。
112 说明实验对于相关领域研究或实际应用的意义。
2、实验方法21 描述所采用的模式识别算法和技术。
211 解释选择这些方法的原因和依据。
212 详细说明实验的设计和流程,包括数据采集、预处理、特征提取、模型训练和测试等环节。
3、实验数据31 介绍实验所使用的数据来源和类型。
311 说明数据的规模和特征。
312 阐述对数据进行的预处理操作,如清洗、归一化等。
4、实验结果41 呈现实验得到的主要结果,包括准确率、召回率、F1 值等性能指标。
411 展示模型在不同数据集或测试条件下的表现。
412 提供可视化的结果,如图表、图像等,以便更直观地理解实验效果。
5、结果分析51 对实验结果进行深入分析和讨论。
511 比较不同实验条件下的结果差异,并解释其原因。
512 分析模型的优点和局限性,探讨可能的改进方向。
6、误差分析61 研究实验中出现的误差和错误分类情况。
611 分析误差产生的原因,如数据噪声、特征不充分、模型复杂度不足等。
612 提出减少误差的方法和建议。
7、改进措施71 根据实验结果和分析,提出针对模型和实验方法的改进措施。
711 描述如何优化特征提取、调整模型参数、增加训练数据等。
712 预测改进后的可能效果和潜在影响。
8、结论81 总结实验的主要发现和成果。
811 强调实验对于模式识别领域的贡献和价值。
812 对未来的研究方向和进一步工作提出展望。
在整个实验报告协议中,应确保各项内容的准确性、完整性和逻辑性,以便为模式识别研究提供有价值的参考和借鉴。
实验一Bayes 分类器设计本实验旨在让同学对模式识别有一个初步的理解,能够根据自己的设计对贝叶斯决策理论算法有一个深刻地认识,理解二类分类器的设计原理。
1实验原理最小风险贝叶斯决策可按下列步骤进行:(1)在已知)(i P ω,)(i X P ω,i=1,…,c 及给出待识别的X 的情况下,根据贝叶斯公式计算出后验概率: ∑==cj iii i i P X P P X P X P 1)()()()()(ωωωωω j=1,…,x(2)利用计算出的后验概率及决策表,按下面的公式计算出采取i a ,i=1,…,a 的条件风险∑==cj j jii X P a X a R 1)(),()(ωωλ,i=1,2,…,a(3)对(2)中得到的a 个条件风险值)(X a R i ,i=1,…,a 进行比较,找出使其条件风险最小的决策k a ,即则k a 就是最小风险贝叶斯决策。
2实验内容假定某个局部区域细胞识别中正常(1ω)和非正常(2ω)两类先验概率分别为 正常状态:P (1ω)=0.9; 异常状态:P (2ω)=0.1。
现有一系列待观察的细胞,其观察值为x :-3.9847 -3.5549 -1.2401 -0.9780 -0.7932 -2.8531 -2.7605 -3.7287 -3.5414 -2.2692 -3.4549 -3.0752 -3.9934 2.8792 -0.9780 0.7932 1.1882 3.0682 -1.5799 -1.4885 -0.7431 -0.4221 -1.1186 4.2532 已知类条件概率密度曲线如下图:)|(1ωx p )|(2ωx p 类条件概率分布正态分布分别为(-2,0.25)(2,4)试对观察的结果进行分类。
3 实验要求1) 用matlab 完成分类器的设计,要求程序相应语句有说明文字。
2) 根据例子画出后验概率的分布曲线以及分类的结果示意图。
《模式识别》实验报告一、数据生成与绘图实验1.高斯发生器。
用均值为m,协方差矩阵为S 的高斯分布生成N个l 维向量。
设置均值Tm=-1,0⎡⎤⎣⎦,协方差为[1,1/2;1/2,1];代码:m=[-1;0];S=[1,1/2;1/2,1];mvnrnd(m,S,8)结果显示:ans =-0.4623 3.36780.8339 3.3153-3.2588 -2.2985-0.1378 3.0594-0.6812 0.7876-2.3077 -0.7085-1.4336 0.4022-0.6574 -0.00622.高斯函数计算。
编写一个计算已知向量x的高斯分布(m, s)值的Matlab函数。
均值与协方差与第一题相同,因此代码如下:x=[1;1];z=1/((2*pi)^0.5*det(S)^0.5)*exp(-0.5*(x-m)'*inv(S)*(x-m))显示结果:z =0.06233.由高斯分布类生成数据集。
编写一个Matlab 函数,生成N 个l维向量数据集,它们是基于c个本体的高斯分布(mi , si ),对应先验概率Pi ,i= 1,……,c。
M文件如下:function [X,Y] = generate_gauss_classes(m,S,P,N)[r,c]=size(m);X=[];Y=[];for j=1:ct=mvnrnd(m(:,j),S(:,:,j),fix(P(j)*N));X=[X t];Y=[Y ones(1,fix(P(j)*N))*j];endend调用指令如下:m1=[1;1];m2=[12;8];m3=[16;1];S1=[4,0;0,4];S2=[4,0;0,4];S3=[4,0;0,4];m=[m1,m2,m3];S(:,:,1)=S1;S(:,:,2)=S2;S(:,:,3)=S3;P=[1/3,1/3,1/3];N=10;[X,Y] = generate_gauss_classes(m,S,P,N)二、贝叶斯决策上机实验1.(a)由均值向量m1=[1;1],m2=[7;7],m3=[15;1],方差矩阵S 的正态分布形成三个等(先验)概率的类,再基于这三个类,生成并绘制一个N=1000 的二维向量的数据集。
(b)当类的先验概率定义为向量P =[0.6,0.3,0.1],重复(a)。
(c)仔细分析每个类向量形成的聚类的形状、向量数量的特点及分布参数的影响。
M文件代码如下:function plotData(P)m1=[1;1];S1=[12,0;0,1];m2=[7;7];S2=[8,3;3,2];m3=[15;1];S3=[2,0;0,2];N=1000;r1=mvnrnd(m1,S1,fix(P(1)*N));r2=mvnrnd(m2,S2,fix(P(2)*N));r3=mvnrnd(m3,S3,fix(P(3)*N));figure(1);plot(r1(:,1),r1(:,2),'r.');hold on;plot(r2(:,1),r2(:,2),'g.');hold on;plot(r3(:,1),r3(:,2),'b.');end(a)调用指令:P=[1/3,1/3,1/3];plotData(P)实验结果如下:-10-505101520-4-224681012(b)调用指令:P=[0.6,0.3,0.1];plotData(P)实验结果如下:-10-505101520-4-224681012图(1)红色代表第一类,绿色代表第二类,蓝色代表第三类(c)分析:比较(a)和(b)两个实验可以得出(1)协方差矩阵直接影响了聚类的形状.(2)在第一种情况下,每一类有大致相同数量的向量,在后一种情况下,最左边和最右边的类分别比前一种情况更“密集”和更“稀疏”。
2.M 文件如下:function plotData2(m1,m2,m3,S1,S2,S3)P=[1/3,1/3,1/3];N=1000;r1=mvnrnd(m1,S1,fix(P(1)*N));r2=mvnrnd(m2,S2,fix(P(2)*N));r3=mvnrnd(m3,S3,fix(P(3)*N));figure(1);plot(r1(:,1),r1(:,2),'r.');hold on;plot(r2(:,1),r2(:,2),'g.');hold on;plot(r3(:,1),r3(:,2),'b.');End(a)调用指令:m1=[1,1];m2=[12,8];m3=[16,1];S1=[4,0;0,4];S2=[4,0;0,4];S3=[4,0;0,4];plotData2(m1,m2,m3,S1,S2,S3)实验结果如下:-10-50510152025-6-4-22468101214(b)调用指令:m1=[1,1];m2=[14,7];m3=[16,1];S1=[5,3;3,4];S2=[5,3;3,4];S3=[5,3;3,4];plotData2(m1,m2,m3,S1,S2,S3)实验结果如下:-10-50510152025-10-551015(c)调用指令如下:m1=[1,1];m2=[8,6];m3=[13,1];S1=[6,0;0,6];S2=[6,0;0,6];S3=[6,0;0,6];plotData2(m1,m2,m3,S1,S2,S3)实验结果如下:-10-50510152025-6-4-22468101214(d)调用指令:m1=[1,1];m2=[10,5];m3=[11,1];S1=[7,4;4,5];S2=[7,4;4,5];S3=[7,4;4,5];plotData2(m1,m2,m3,S1,S2,S3)实验结果如下:-10-505101520-10-5510152.对X1 ~X4 分别重复以下实验,并仔细分析实验结果,得出结论。
(1)对X 应用贝叶斯分类、欧几里德距离以及Mahalanobis 距离分类。
(2)计算每种分类器的分类误差,绘制数据集的分类结果,错分的向量加圆圈表示。
M 文件如下(贝叶斯分类):function z=Bayes_classifier(m,S,P,a)[n,r]=size(a);[r,c]=size(m);for i=1:nfor j=1:ct(j)=P(j)*comp_gauss_dens_val(m(:,j),S(:,:,j),a(i,:)');end[num,z(i)]=max(t);endEndM 文件如下(欧几里得分类器):function z=Euclidean_classifier(m,a)[n,r]=size(a);[r,c]=size(m);for i=1:nfor j=1:ct(j)=sqrt((a(i,:)'-m(:,j))'*(a(i,:)'-m(:,j)));end[num,z(i)]=min(t);endendM文件如下(Mahalanobis距离分类器):function z=Mahalanobis_classifier(m,S,a)[n,r]=size(a);[r,c]=size(m);for i=1:nfor j=1:ct(j)=sqrt((a(i,:)'-m(:,j))'*inv(S(:,:,j))*(a(i,:)'-m(:,j)));end[num,z(i)]=min(t);endendM文件如下(对数据集X1分别使用三种分类器作图) function error=plotX1(m1,m2,m3,S1,S2,S3)m=[m1,m2,m3];S(:,:,1)=S1;S(:,:,2)=S2;S(:,:,3)=S3;P=[1/3,1/3,1/3];N=1000;numArray=fix(P*N);a=[];[r,c]=size(m);pale1=['r.';'g.';'b.'];pale2=['ko';'ko';'ko'];[X,Y]=generate_gauss_classes(m,S,P,N);for i=1:numArray(1)for j=1:2a(i,j)=X(i,j);endendfor i=1:numArray(2)for j=1:2a(i+numArray(1),j)=X(i,j+2);endendfor i=1:numArray(3)for j=1:2a(i+numArray(1)+numArray(2),j)=X(i,j+4);endend[k,r]=size(a);z1=Bayes_classifier(m,S,P,a);z2=Euclidean_classifier(m,a);z3=Mahalanobis_classifier(m,S,a); error(1)=0;error(2)=0;error(3)=0;figure(1);title('贝叶斯分类器');hold on;for n=1:kif(Y(n)~=z1(n))error(1)=error(1)+1;plot(a(n,1),a(n,2),pale2(Y(n),:));hold on;endplot(a(n,1),a(n,2),pale1(Y(n),:));hold on;endfigure(2);title('欧几里得距离分类器');hold on;for n=1:kif(Y(n)~=z2(n))error(2)=error(2)+1;plot(a(n,1),a(n,2),pale2(Y(n),:));hold on;endplot(a(n,1),a(n,2),pale1(Y(n),:));hold on;endfigure(3);title('Mahalaobis距离分类器');hold on;for n=1:kif(Y(n)~=z3(n))error(3)=error(3)+1;plot(a(n,1),a(n,2),pale2(Y(n),:));hold on;endplot(a(n,1),a(n,2),pale1(Y(n),:));hold on;endend(a)对X1分别使用贝叶斯分类器,欧几里得距离分类器以及Mahalanobis 分类器进行分类,程序以及结果如下:调用指令:m1=[1;1];m2=[12;8];m3=[16;1];S1=[4,0;0,4];S2=[4,0;0,4];S3=[4,0;0,4];plotX(m1,m2,m3,S1,S2,S3)结果显示(对X1数据集分别用三种分类器产生的错误数):ans =17 17 17-50510152025-10-551015贝叶斯分类器-50510152025-10-551015欧几里得距离分类器-50510152025-10-551015Mahalaobis 距离分类器(b)对X2分别使用贝叶斯分类器,欧几里得距离分类器以及Mahalanobis 分类器进行分类,程序以及结果如下:m1=[1;1]; m2=[14;7]; m3=[16;1]; S1=[5,3;3,4]; S2=[5,3;3,4];S3=[5,3;3,4];plotX(m1,m2,m3,S1,S2,S3)结果显示: ans =8 21 8-50510152025-10-551015贝叶斯分类器-50510152025-10-551015欧几里得距离分类器-50510152025-10-551015Mahalaobis 距离分类器(c)对X3分别使用贝叶斯分类器,欧几里得距离分类器以及Mahalanobis 分类器进行分类,程序以及结果如下: 指令调用:m1=[1;1]; m2=[8;6]; m3=[13;1]; S1=[6,0;0,6]; S2=[6,0;0,6]; S3=[6,0;0,6];plotX(m1,m2,m3,S1,S2,S3)结果显示: ans =74 74 74-10-5510152025-6-4-202468101214贝叶斯分类器-10-5510152025-6-4-202468101214欧几里得距离分类器-10-5510152025-6-4-202468101214Mahalaobis 距离分类器(d)对X4分别使用贝叶斯分类器,欧几里得距离分类器以及Mahalanobis 分类器进行分类,程序以及结果如下:m1=[1;1]; m2=[10;5]; m3=[11;1]; S1=[7,4;4,5]; S2=[7,4;4,5]; S3=[7,4;4,5];plotX(m1,m2,m3,S1,S2,S3)结果显示:ans =82 119 82-10-505101520-6-4-2024681012贝叶斯分类器-10-505101520-6-4-2024681012欧几里得距离分类器-10-505101520-6-4-2024681012Mahalaobis 距离分类器实验分析:对X1—X4应用贝叶斯分类、欧几里德距离以及Mahalanobis 距离分类,可以得出(1)对于不同的m,S 的数据集,采用这三种分类器进行分类,错误率相差很大(2)对于同一种数据集而言,使用贝叶斯分类器与Mahalanobis 距离分类器产生的错误数是相同的。