《模式识别》实验报告

合集下载

模式识别 实验报告一

模式识别 实验报告一
45
402
132
识别正确率
73.36
84.87
99.71
70.31
82.89
86.84
结果分析:
实验中图像3的识别率最高,图像1和图像2的识别率次之。图像1和图像2的分辨率相对图像3更低,同时图像2有折痕影响而图像1则有大量噪声。通过阈值处理能较好的处理掉图像1的噪声和图像2的折痕,从而使得图像1的识别率有所提升,而图像2的识别率变化不大。从而可以得出结论,图像3和图像2识别率不同的原因主要在于图像分辨率,而图像2和图像1识别率的不同则在于噪声干扰。
实验报告
题目
模式识别系列实验——实验一字符识别实验
内容:
1.利用OCR软件对文字图像进行识别,了解图像处理与模式识别的关系。
2.利用OCR软件对文字图像进行识别,理解正确率的概念。
实验要求:
1.利用photoshop等软件对效果不佳的图像进行预处理,以提高OCR识别的正确率。
2.用OCR软件对未经预处理和经过预处理的简体和繁体中文字符图像进行识别并比较正确率。
图像4内容既有简体又有繁体,从识别结果中可了解到错误基本处在繁体字。
遇到的问题及解决方案:
实验中自动旋转几乎没效果,所以都是采用手动旋转;在对图像4进行识别时若采用系统自己的版面分析,则几乎识别不出什么,所以实验中使用手动画框将诗的内容和标题及作者分开识别。
主要实验方法:
1.使用汉王OCR软件对所给简体和繁体测试文件进行识别;
2.理,再次识别;
实验结果:
不经过图像预处理
经过图像预处理
实验图像
图像1
图像2
图像3
图像4
图像1
图像2
字符总数
458

《模式识别》实验报告 K-L变换 特征提取

《模式识别》实验报告 K-L变换 特征提取

基于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实验报告

模式识别方PCA实验报告

模式识别作业《模式识别》大作业人脸识别方法一 ---- 基于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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《模式识别》实验报告一、数据生成与绘图实验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 距离分类器产生的错误数是相同的。

相关文档
最新文档