模式识别上机实验报告班级:姓名:学号:1实验一、二维随机数的产生1、实验目的(1)学习采用Matlab程序产生正态分布的二维随机数(2)掌握估计类均值向量和协方差矩阵的方法(3)掌握类间离散度矩阵、类内离散度矩阵的计算方法2、实验原理多元正态分布概率密度函数:11()()2/21/21()(2)||TXXdpXe其中:是d维均值向量:TdEX{}[,,...,]12Σ是d×d维协方差矩阵:TEXX[()()](1)估计类均值向量和协方差矩阵的估计各类均值向量1iiXimXN各类协方差矩阵1()()iTiiiXiXXN(2)类间离散度矩阵、类内离散度矩阵的计算类内离散度矩阵:()()iTiiiXSXmXm,i=1,2总的类内离散度矩阵:12WSSS类间离散度矩阵:1212()()TbSmmmm3、实验内容及要求产生两类均值向量、协方差矩阵如下的样本数据,每类样本各50个。1[2,2],11001,2[2,2],21004(1)画出样本的分布图;(2)编写程序,估计类均值向量和协方差矩阵;(3)编写程序,计算类间离散度矩阵、类内离散度矩阵;(4)每类样本数增加到500个,重复(1)-(3)模式识别上机实验报告班级:姓名:学号:24、实验结果(1)N=50样本分布类均值相量m1=-1.9736-1.7201m2=2.11021.8221协方差矩阵cov1=1.0534-0.3568-0.35681.6410cov2=1.25340.58540.58544.3829类内离散度s1=53.7112-18.5798-18.579879.7300s2=63.331830.866230.8662222.0002总类内离散度sw=117.043012.286412.2864301.7302类间离散度sb=16.677414.465614.465612.5472(2)N=500样本分布类均值向量m1=-1.9972-2.0225m2=2.04781.9960协方差矩阵cov1=1.01480.01350.01351.0263cov2=1.02150.00340.00343.7868类内离散度s1=508.39726.79876.7987513.9117s2=510.601.80001.80001897.2总类内离散度sw=1019.08.60008.60002411.1类间离散度sb=16.362316.254816.254816.1479模式识别上机实验报告班级:姓名:学号:35、结论本实验分别在每类点数为50、500的条件下分别产生了两类数据点,并对产生的数据做了一些定量描述。分析实验结果可看出,实验产生的数据点的类均值相量和协方差矩阵近似等于最初的设定值,且随着每类点数的增加愈加准确。类内离散度反映的是每类数据点自身的差异程度,实验结果表明,当每类样本数增加时,平均类内离散度变小,说明数据的平均差异程度变小。而类间离散度反映了多类数据之间的差异程度,类间离散度越大,差异程度越大。从实验结果可看出,样本点数增加时,类间离散度有所增大,数据点更明显地分布成两类,更易于分类的进行。6、实验源程序clearallcloseallclcformatcompactwarningoffmu1=[-2-2];mu2=[22];sigma1=[10;01];sigma2=[10;04];N=500;x1=mvnrnd(mu1,sigma1,N);x2=mvnrnd(mu2,sigma2,N);figureplot(x1(:,1),x1(:,2),'*r');holdonplot(x2(:,1),x2(:,2),'*c');gridonm1=mean(x1,1)'m2=mean(x2,1)'cov1=0;cov2=0;fori=1:Ncov1=cov1+(x1(i,:)'-mu1')*(x1(i,:)'-mu1')';cov2=cov2+(x2(i,:)'-mu2')*(x2(i,:)'-mu2')';endcov1=cov1/Ncov2=cov2/Ns1=N*cov(x1)s2=N*cov(x2)sw=s1+s2sb=(m1-m2)*(m1-m2)'模式识别上机实验报告班级:姓名:学号:4实验二、Fisher线性分类器的设计1、实验目的(1)掌握Fisher线性判别方法(2)掌握Bayes决策的错误率的计算(3)掌握分类器错误率的估算方法2、实验原理Fisher准则基本原理:如果在二维空间中一条直线能将两类样本分开,或者错分类很少,则同一类别样本数据在该直线的单位法向量上的投影的绝大多数都应该超过某一值。而另一类数据的投影都应该小于(或绝大多数都小于)该值,则这条直线就有可能将两类分开。准则:向量W的方向选择应能使两类样本投影的均值之差尽可能大些,而使类内样本的离散程度尽可能小。这就是Fisher准则函数的基本思路。y=WTX+W0评价投影方向W的函数:()TbFTWWSWJWWSW最佳W值的确定:求取使JF达极大值时的w*:*112()WWSmmw0确定:0122mmW3、实验内容及要求考虑Fisher线性判别方法,利用实验1中程序产生的数据(分别在各类样本数均为50及500时),计算:1)求解最优投影方向W;2)画出表示最优投影方向的直线,并且标记出投影后的点在直线上的位置;3)计算投影后的阈值权;4)计算分类器的各类错误率及总的平均错误率;5)计算按最小错误率Bayes决策的错误率(各类先验概率相同)模式识别上机实验报告班级:姓名:学号:54、实验结果(1)N=50最优投影方向、投影点位置及最佳分界直线最优投影方向w=-0.0404-0.0158w0=0.0977-0.0090阈值权threshold_weight=0.0977-0.0090错误率pe1=0pe2=0.0200pe=0.0100最小错误率Bayes决策的错误率pbayes=0.0100(2)N=500最优投影方向、投影点位置及最佳分界直线最优投影方向w=-0.0038-0.0015w0=-0.0265-0.0375阈值权threshold_weight=-0.0265-0.0375错误率pe1=0.0060pe2=0.0140pe=0.0100最小错误率Bayes决策的错误率pbayes=0.0100模式识别上机实验报告班级:姓名:学号:65、结论本实验利用Fisher准则将两类数据点进行分类。Fisher准则的基本思路是,求解投影向量W的方向,使得两类样本投影的均值之差尽可能大些,而使类内样本的离散程度尽可能小。利用公式计算得到的W*即为最佳投影直线的方向,由此可算出该直线的斜率,而直线的截距可由W0给出。将数据点投影到最佳投影直线上后,即将原先二维的数据降维到一维上,然后利用阈值权W0计算分类的错误率。当样本点数增加时,错误率并没有明显的变化。6、实验程序clearallcloseallclcformatcompactwarningoffmu1=[-2-2];mu2=[22];sigma1=[10;01];sigma2=[10;04];N=500;x1=mvnrnd(mu1,sigma1,N);x2=mvnrnd(mu2,sigma2,N);figureplot(x1(:,1),x1(:,2),'*r');holdonplot(x2(:,1),x2(:,2),'*c');gridonm1=mean(x1,1)';m2=mean(x2,1)';s1=N*cov(x1);s2=N*cov(x2);sw=s1+s2;w=inv(sw)*(m1-m2)w0=-(m1+m2)/2k=w(2)/w(1);x=-6:0.1:6;yo=k*(x-w0(1)*ones(1,size(x)))+w0(2)*ones(1,size(x));plot(x,yo);%最佳投影直线px1=(x1(:,1)+k*(x1(:,2)-(w0(2)-k*w0(1))*ones(N,1)))/(k*k+1);py1=k*(px1-w0(1)*ones(N,1))+w0(2)*ones(N,1);px2=(x2(:,1)+k*(x2(:,2)-(w0(2)-k*w0(1))*ones(N,1)))/(k*k+1);py2=k*(px2-w0(1)*ones(N,1))+w0(2)*ones(N,1);plot(px1,py1,'ko');%样本点在最佳投影直线上的投影plot(px2,py2,'mo');yv=-1/k*(x-w0(1)*ones(1,size(x)))+w0(2)*ones(1,size(x));plot(x,yv,'k');%最佳分界直线axisequalaxis([-66-68])threshold_weight=w0pe1=size(find(px1w0(1)),1)/Npe2=size(find(px2w0(1)),1)/Npe=0.5*(pe1+pe2)p1=0.5;p2=0.5;pbayes=p1*pe1+p2*pe2模式识别上机实验报告班级:姓名:学号:7实验三、最近邻分类器的设计1、实验目的(1)掌握最近邻分类算法(2)掌握k近邻分类算法(3)掌握分类器错误率的估算方法2、实验原理(1)近邻法原理及其决策规则最小距离分类器:将各类训练样本划分成若干子类,并在每个子类中确定代表点。测试样本的类别则以其与这些代表点距离最近作决策。该法的缺点:所选择的代表点并不一定能很好地代表各类,其后果将使错误率增加。以全部训练样本作为“代表点”,计算测试样本与这些“代表点”,即所有样本的距离,并以最近邻者的类别作为决策。最近邻法决策规则:将与测试样本最近邻样本的类别作为决策的方法称为最近邻法。对一个C类别问题,每类有Ni个样本,i=1,…,C,则第i类ωi的判别函数()||||1,2,...,minkiiikgXXXkN判别函数的决策规则:若:()()1,2,...,minijkgXgXiC;则:X∈ωjkiX表示是ωi类的第k个样本(2)k-近邻法决策规则在所有N个样本中找到与测试样本的k个最近邻者,其中各类别所占个数表示成ki,i=1,…,c。则决策规划是:如果:()()1,2,...,maxijkKXKXiC则:X∈ωj3验内容及要求还是利用实验1的程序,计算(1)每类产生50个样本作为训练样本;每类产生100个样本作为考试样本;(2)按最近邻法用训练样本对考试样本分类,计算平均错误率;(3)按最k近邻法(k=9)用训练样本对考试样本分类,计算平均错误率;(4)每类产生500个样本作为训练样本;每类产生1000个样本作为考试样本;重复(2)(3)(5)标注错分点模式识别上机实验报告班级:姓名:学号:84、实验结果(1)每类50个训练样本,每类100个考试样本最近邻分类结果,分错的点被圈出或框出k近邻分类结果,分错的点被圈出或框出最近邻法错误率pe1=0.0100pe2=0.0300pe=0.0200k近邻法错误率k_pe1=0k_pe2=0.0300k_pe=0.0150(2)每类500个训练样本,每类1000个考试样本最近邻分类结果,分错的点被圈出或框出k近邻分类结果,分错的点被圈出或框出最近邻法错误率pe1=0.0140pe2=0.0090pe=0.0115k近邻法错误率k_pe1=0.0120k_pe2=0.0050k_pe=0.0085(注:上面四幅图中,浅色点为训练样本点,深色点为考试样本点,第一类点用“*”表示,第二类点用“+”表示,分错的点分别被圈出或框出)模式识别上机实验报告班级:姓名:学号:95、结论本实验研究比较了最近邻分类法和k近邻分类法的性能效果。在样本数一定的情况下,k近邻分类的错误率比最近邻分类的更低,因为它减小了偶然样本点对分类的干扰,且随着k的增大,错误率会变得更低(如实验中若把k设