1、中国矿业大学计算机科学与技术系实验报告课程名称 模式识别 实验名称 感知准则函数 班级信科 四 班 姓名 刘磊 学号 08083603 实验日期 2011.6.14 实验报告要求:1.实验目的 2.实验内容 3.实验原理 4.关键代码 5.运行结果 6.实验体会 一、实验目的:1 学习和掌握关于感知准则函数的知识;2 应用感知准则函数求解判决面,解决模式识别的分类问题;二、实验内容利用感知准则函数用感知准则函数的方法求解以下数据的判决面,学习率为,画出每次迭代法向量的变化轨迹,并画出最终的判决曲线。样本10.11.1-3.0-2.926.87.10.58.73-3.5-4.12.92.142.
2、02.7-0.15.254.12.8-4.02.263.15.0-1.33.77-0.8-1.3-3.46.280.91.2-4.13.495.06.4-5.11.6103.94.01.95.1三、实验原理决策面方程: 1. 线性可分性如果对一个样本集N,总能找到一个增广权向量a, 对该样本集所有样本实现正确分类,则这种情况称为具有线性可分性。2. 样本的规范化结论:规范化后合适的a能使所有的Y满足aTY 0 。 3. 解向量和解区解向量:在线性可分的前提下,满足aTYn0,n=1,2,N 的权向量称为解向量。解区:N个样本所对应的解向量a所在区域之交迭空间。在解区内的任一向量a能使所有样本得
3、到正确划分。四、关键代码clear %产生第一类和第二类原始数据,分别赋值给w1和w2变量w1=0.1 6.8 -3.5 2.0 4.1 3.1 -0.8 0.9 5.0 3.9; 1.1 7.1 -4.1 2.7 2.8 5.0 -1.3 1.2 6.4 4.0;w2=-3.0 0.5 2.9 -0.1 -4.0 -1.3 -3.4 -4.1 -5.1 1.9; -2.9 8.7 8 5.2 2.2 3.7 6.2 3.4 1.6 5.1;%分别产生第一类和第二类增广样本向量集ww1、ww2ww1=ones(1,size(w1,2);w1;ww2=ones(1,size(w2,2);w2;%
4、产生第一类和第二类样本向量的规范化增广样本向量集w12w12=ww1,-ww2;y=zeros(1,size(w12,2); % 产生1x20的行向量,赋给y,初值全为0a=1;1;1; %给权向量a赋初值k=0; %k为迭代次数,a(0)=1;1;1while any(y=0)for i=1:size(y,2)y(i)=a*w12(:,i);enda=a+(sum(w12(:,find(y=0);k=k+1;enda %显示最终求得的权向量a的值k %迭代次数值figure(1)plot(w1(1,:),w1(2,:),r+)hold on plot(w2(1,:),w2(2,:),*)xm
5、in=min(min(w1(1,:),min(w2(1,:); xmax=max(max(w1(1,:),max(w2(1,:); ymin=min(min(w1(2,:),min(w2(2,:); ymax=max(max(w1(2,:),max(w2(2,:); xindex=xmin-1:(xmax-xmin)/100:xmax+1;yindex=-a(2)*xindex/a(3)-a(1)/a(3);plot(xindex,yindex)五、运行结果-6-4-202468-50510 (1)改变一个数据的图 (2)改变两个数据的图a=(28.4000,37.1000,-28.5000)
6、 a=(29.2000, 39.7000, -29.3000)k =1986 k=384 六、实验体会 一开始,看到这个实验真是头都大了,看了好几遍书不知道怎么下手,最后在网上找了点资料还不能摸清头绪,静下心来好好看看书发现树上的步骤还是挺详细的,就是不清楚怎么下手去编。后来才恍然大悟。先通过matlab绘图找到了一组数据是错误的,将w2类里的(2.9,2.1)改为(2.9,6.0)后,观察两类线性可分,之后变编程解权向量a,并用图像实现。后来发现这样该数据后迭代次数k有点大,运行较慢,所以改两组数据,w2类中的(-3.0,-2.9)改为(-3.0,-1);(2.9,2.1)改为(2.9,6.0),观察两类线性可分更加容易,之后求解权向量a,并用图像实现。K之明显减小。试验完成。将总之实验完成了,清晰地了解了感知准则函数的用法,收获很大。教师评价优良中及格不及格教师签名日期