队别:研究生二队。
姓名:孙祥威。
学号:112082
作业一:。用感知器固定增量法求判别函数,设,。写程序上机运行,写出判别函数,打出图表。
解答:1、程序**如下:
clc,clear
w=[0 0 1;
w=[1 1 1];
rowk=1;
flag=1;
flags=zeros(1,size(w,1));
k=0;while flag
for i=1:size(w,1)
if isempty(find(flags==0))
flag=0;
break;
endk=k+1;
pb=w(i,:)w';
if pb<=0
flags(i)=0;
w=w+rowk*w(i,:)
elseflags(i)=1;
endend
endw,k
wp1=[0 0;
wp2=[1 0;
plot(wp1(:,1),wp1(:,2),'o')
hold on
plot(wp2(:,1),wp2(:,2),'
hold on
y=-0.2:1/100:1.2;
plot(1/3*ones(1,size(y)),y,'r-')
axis([-0.25 1.25 -0.25 1.25])
2、判别函数。计算得到增广权矢量为,故判别函数表达式为:
3、分类示意图:
图 1 感知器算法分类结果图。
作业二:在下列条件下,求待定样本的类别,画出分界线,编程上机。
1、二类协方差相等;2、二类协方差不等。
解答:经计算,两类的协方差矩阵不相等。设,计算时相关项直接略去。
1、计算时,参考书中p96页式(4-1-31)等。程序**如下:
clc,clear,close all
d1=[1,1,2;1,0,-1;];
d2=[-1,-1,-2;1,0,-1;];
u1=mean(d1,2);
u2=mean(d2,2);
c1=zeros(size(d1,1),size(d1,1));
for i=1:size(d1,2)
c1=c1+d1(:,i)*d1(:,i)';
endc1=c1/size(d1,2)-u1*u1';
c2=zeros(size(d2,1),size(d2,1));
for i=1:size(d2,2)
c2=c2+d2(:,i)*d2(:,i)';
endc2=c2/size(d2,2)-u2*u2';
i=eye(size(c1,1),size(c1,1));
ic1=c1\i;
ic2=c2\i;
w1=-0.5*ic1;
w2=-0.5*ic2;
w1=ic1*u1;;
w2=ic2*u2;;
w10=-0.5*log(det(c1))-0.5*u1'*ic1*u1;
w20=-0.5*log(det(c2))-0.5*u2'*ic2*u2;
syms x1 x2;
x=[x1;x2];
fprintf('决策界面方程为:')
d=x'*(w1-w2)*x+(w1-w2)'*x+(w10-w20);
pretty(d)
fprintf('(2,0)代入决策面方程的值为:')
value=subs(d,,[2 0])
figure
ezplot(d)
hold on
plot(d1(1,:)d1(2,:)bo')
plot(d2(1,:)d2(2,:)ks')
plot(2,0,'rp')
运行结果显示,决策面方程为:。
2、计算结果。从程序运行结果可以看出,带入决策界面方程值为96,可见属于第一类。见下图:
图2 两类协方差不等分类结果图。
图中,黑色方块为第二类,蓝色圆圈为第一类,红色五角星即为要判断类别的。绿色交叉的两条直线即为决策面曲线。左上和右下为第一类,右上和左下为第二类。
作业三:有训练集资料矩阵如下表所示,现已知,、、试问,应属于哪一类?
要求:用两种解法:a、三类协方差不等;b、三类协方差相等。编程上机,画出三类的分界线。
解答:经计算,三类的协方差矩阵不相等。设,计算时相关项直接略去。
1、计算时,参考书中p96页式(4-1-31)等。程序**如下:
clc,clear,close all
d1=[0 2 1;0 1 0;];
d2=[-1 -2 -2;1 0 -1;];
d3=[0 0 1;-2 -1 -2];
x=[-2 2];
u1=mean(d1,2);
u2=mean(d2,2);
u3=mean(d3,2);
c1=zeros(size(d1,1),size(d1,1));
for i=1:size(d1,2)
c1=c1+d1(:,i)*d1(:,i)';
endc1=c1/size(d1,2)-u1*u1';
c2=zeros(size(d2,1),size(d2,1));
for i=1:size(d2,2)
c2=c2+d2(:,i)*d2(:,i)';
endc2=c2/size(d2,2)-u2*u2';
c3=zeros(size(d3,1),size(d3,1));
for i=1:size(d3,2)
c3=c3+d3(:,i)*d3(:,i)';
endc3=c3/size(d3,2)-u3*u3';
i=eye(size(c1,1),size(c1,1));
ic1=c1\i;
ic2=c2\i;
ic3=c3\i;
w1=-0.5*ic1;
w2=-0.5*ic2;
w3=-0.5*ic3;
w1=ic1*u1;
w2=ic2*u2;
w3=ic3*u3;
w10=-0.5*log(det(c1))-0.5*u1'*ic1*u1;
w20=-0.5*log(det(c2))-0.5*u2'*ic2*u2;
w30=-0.5*log(det(c3))-0.5*u3'*ic3*u3;
syms x1 x2 real;
x=[x1;x2];
d12=x'*(w1-w2)*x+(w1-w2)'*x+(w10-w20);
d13=x'*(w1-w3)*x+(w1-w3)'*x+(w10-w30);
d23=x'*(w2-w3)*x+(w2-w3)'*x+(w20-w30);
fprintf('一、二类决策界面方程为:')
pretty(d12)
fprintf('一、三类决策界面方程为:')
pretty(d13)
fprintf('二、三类决策界面方程为:')
pretty(d23)
dd1=x'*w1*x+w1'*x+w10;
dd2=x'*w2*x+w2'*x+w20;
dd3=x'*w3*x+w3'*x+w30;
value=
fprintf(['num2str(x(1)) num2str(x(2)) 代入1-2决策面方程的值为:']
v1=subs(dd1,,x)
fprintf(['num2str(x(1)) num2str(x(2)) 代入1-3决策面方程的值为:']
v2=subs(dd2,,x)
fprintf(['num2str(x(1)) num2str(x(2)) 代入2-3决策面方程的值为:']
v3=subs(dd3,,x)
v=[v1 v2 v3];
fprintf(['可见(' num2str(x(1)) num2str(x(2)) 属于第' num2str(find(v==max(v)))类。'])
figure
hold on
h=ezplot(d12);
set(h,'color','r')
h=ezplot(d13);
set(h,'color','b')
h=ezplot(d23);
set(h,'color','y')
plot(d1(1,:)d1(2,:)ko')
plot(d2(1,:)d2(2,:)ks')
plot(d3(1,:)d3(2,:)kp')
plot(x(1),x(2),'r*')
title('分界线及样本点分布')
1-2类决策面方程为:
1-3类决策面方程为:
2-3类决策面方程为:
2、计算结果。从程序运行结果可以看出,带入三个判决函数(略去相关项)计算的值分别为-95.3521、-17.
3521、-29.3521,可见属于第二类。分类界面参见下图:
图3 三类协方差不等分类结果图。
作业四:用对分法编程上机,分成两类画出图形。
解答:1、程序**如下:
clc,clear,close all
exampledata=[0,0,2,2,4,4,5,6,6,7,-4,-2,-3,-3,-5,1,0,0,-1,-1,-3;
data=[0,2,1,5,6,5,6,7;
n=size(data,2);
data=[1:n;data];
g1=data;
g2=n1=size(g1,2);
n2=size(g2,2);
x1=mean(g1,2);x1=x1(2:end);
x2=[0;0];
e=n1*n2/n*(x1-x2)'*x1-x2);
re=zy=
le=e;while le<=e
le=e;n1=size(g1,2);
模式识别作业
6.题目 fisher分类和基于核的fisher分类的设计与实现研究。具体内容 1.简述fisher分类和基于核的fisher分类的算法原理 2.举出实例 3.用matlab软件编写程序实现 4.分析实验结果。fisher分类和基于核的fisher分类的设计与实现研究。1 fisher分类和基于核的...
模式识别作业
模式识别课程matlab程序作业。模式识别贝叶斯决策 正常状态细胞p 1 0.9,异常状态细胞p 2 0.1,类条件概率密度分别为p x 1 n 0,1 p x 2 n 0.2,1.5 现有一待识别细胞,其观察值为0.2,用matlab写出程序对该细胞进行分类。编写程序如下 close all cl...
模式识别作业
感知器训练算法。在设计贝叶斯分类器时需要设法获取样本统计分布的资料,应知道先验概率及类分布概率密度函数等。然而,在样本数不充足条件下要获取准确的统计分布是很困难的。这样,可以考虑另外一种分类器设计方法,即根据训练样本集提供的信息,直接进行分类器设计。下面实验是针对线性可分情况下的感知器算法。实验所用...