模式识别上机作业

发布 2021-03-07 07:18:28 阅读 6278

队别:研究生二队。

姓名:孙祥威。

学号: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...

模式识别作业

感知器训练算法。在设计贝叶斯分类器时需要设法获取样本统计分布的资料,应知道先验概率及类分布概率密度函数等。然而,在样本数不充足条件下要获取准确的统计分布是很困难的。这样,可以考虑另外一种分类器设计方法,即根据训练样本集提供的信息,直接进行分类器设计。下面实验是针对线性可分情况下的感知器算法。实验所用...