模式识别大作业

模式识别大作业
模式识别大作业

模式识别大作业

1.最近邻/k近邻法

一.基本概念:

最近邻法:对于未知样本x,比较x与N个已知类别的样本之间的欧式距离,并决策x与距离它最近的样本同类。

K近邻法:取未知样本x的k个近邻,看这k个近邻中多数属于哪一类,就把x归为哪一类。K取奇数,为了是避免k1=k2的情况。

二.问题分析:

要判别x属于哪一类,关键要求得与x最近的k个样本(当k=1时,即是最近邻法),然后判别这k个样本的多数属于哪一类。

可采用欧式距离公式求得两个样本间的距离s=sqrt((x1-x2)^2+(y1-y2)^2)

三.算法分析:

该算法中任取每类样本的一半作为训练样本,其余作为测试样本。例如iris中取每类样本的25组作为训练样本,剩余25组作为测试样本,依次求得与一测试样本x距离最近的k 个样本,并判断k个样本多数属于哪一类,则x就属于哪类。测试10次,取10次分类正确率的平均值来检验算法的性能。

四.MATLAB代码:

最近邻算实现对Iris分类

clc;

totalsum=0;

for ii=1:10

data=load('iris.txt');

data1=data(1:50,1:4);%任取Iris-setosa数据的25组

rbow1=randperm(50);

trainsample1=data1(rbow1(:,1:25),1:4);

rbow1(:,26:50)=sort(rbow1(:,26:50));%剩余的25组按行下标大小顺序排列testsample1=data1(rbow1(:,26:50),1:4);

data2=data(51:100,1:4);%任取Iris-versicolor数据的25组

rbow2=randperm(50);

trainsample2=data2(rbow2(:,1:25),1:4);

rbow2(:,26:50)=sort(rbow2(:,26:50));

testsample2=data2(rbow2(:,26:50),1:4);

data3=data(101:150,1:4);%任取Iris-virginica数据的25组

rbow3=randperm(50);

trainsample3=data3(rbow3(:,1:25),1:4);

rbow3(:,26:50)=sort(rbow3(:,26:50));

testsample3=data3(rbow3(:,26:50),1:4);

trainsample=cat(1,trainsample1,trainsample2,trainsample3);%包含75组数据的样本集

testsample=cat(1,testsample1,testsample2,testsample3);

newchar=zeros(1,75);sum=0;

[i,j]=size(trainsample);%i=60,j=4

[u,v]=size(testsample);%u=90,v=4

for x=1:u

for y=1:i

result=sqrt((testsample(x,1)-trainsample(y,1))^2+(testsample(x,2) -trainsample(y,2))^2+(testsample(x,3)-trainsample(y,3))^2+(testsa mple(x,4)-trainsample(y,4))^2); %欧式距离

newchar(1,y)=result;

end;

[new,Ind]=sort(newchar);

class1=0;

class2=0;

class3=0;

if Ind(1,1)<=25

class1=class1+1;

elseif Ind(1,1)>25&&Ind(1,1)<=50

class2=class2+1;

else

class3=class3+1;

end

if class1>class2&&class1>class3

m=1;

ty='Iris-setosa';

elseif class2>class1&&class2>class3

m=2;

ty='Iris-versicolor';

elseif class3>class1&&class3>class2

m=3;

ty='Iris-virginica';

else

m=0;

ty='none';

end

if x<=25&&m>0

disp(sprintf('第%d组数据分类后为%s类',rbow1(:,x+25),ty));

elseif x<=25&&m==0

disp(sprintf('第%d组数据分类后为%s类',rbow1(:,x+25),'none'));

end

if x>25&&x<=50&&m>0

disp(sprintf('第%d组数据分类后为%s类',50+rbow2(:,x),ty));

elseif x>25&&x<=50&&m==0

disp(sprintf('第%d组数据分类后为%s类',50+rbow2(:,x),'none'));

end

if x>50&&x<=75&&m>0

disp(sprintf('第%d组数据分类后为%s类',100+rbow3(:,x-25),ty));

elseif x>50&&x<=75&&m==0

disp(sprintf('第%d组数据分类后为%s类',100+rbow3(:,x-25),'none'));

end

if (x<=25&&m==1)||(x>25&&x<=50&&m==2)||(x>50&&x<=75&&m==3)

sum=sum+1;

end

end

disp(sprintf('第%d次分类识别率为%4.2f',ii,sum/75));

totalsum=totalsum+(sum/75);

end

disp(sprintf('10次分类平均识别率为%4.2f',totalsum/10));

测试结果:

第3组数据分类后为Iris-setosa类

第5组数据分类后为Iris-setosa类

第6组数据分类后为Iris-setosa类

第7组数据分类后为Iris-setosa类

第10组数据分类后为Iris-setosa类

第11组数据分类后为Iris-setosa类

第12组数据分类后为Iris-setosa类

第14组数据分类后为Iris-setosa类

第16组数据分类后为Iris-setosa类

第18组数据分类后为Iris-setosa类

第19组数据分类后为Iris-setosa类

第20组数据分类后为Iris-setosa类

第23组数据分类后为Iris-setosa类

第24组数据分类后为Iris-setosa类

第26组数据分类后为Iris-setosa类

第28组数据分类后为Iris-setosa类

第30组数据分类后为Iris-setosa类

第31组数据分类后为Iris-setosa类

第34组数据分类后为Iris-setosa类

第37组数据分类后为Iris-setosa类

第39组数据分类后为Iris-setosa类

第41组数据分类后为Iris-setosa类

第44组数据分类后为Iris-setosa类

第45组数据分类后为Iris-setosa类

第49组数据分类后为Iris-setosa类

第53组数据分类后为Iris-versicolor类第54组数据分类后为Iris-versicolor类第55组数据分类后为Iris-versicolor类第57组数据分类后为Iris-versicolor类第58组数据分类后为Iris-versicolor类第59组数据分类后为Iris-versicolor类第60组数据分类后为Iris-versicolor类第61组数据分类后为Iris-versicolor类第62组数据分类后为Iris-versicolor类第68组数据分类后为Iris-versicolor类第70组数据分类后为Iris-versicolor类第71组数据分类后为Iris-virginica类第74组数据分类后为Iris-versicolor类第75组数据分类后为Iris-versicolor类第77组数据分类后为Iris-versicolor类第79组数据分类后为Iris-versicolor类第80组数据分类后为Iris-versicolor类第84组数据分类后为Iris-virginica类第85组数据分类后为Iris-versicolor类第92组数据分类后为Iris-versicolor类第95组数据分类后为Iris-versicolor类第97组数据分类后为Iris-versicolor类第98组数据分类后为Iris-versicolor类第99组数据分类后为Iris-versicolor类第102组数据分类后为Iris-virginica类第103组数据分类后为Iris-virginica类第105组数据分类后为Iris-virginica类第106组数据分类后为Iris-virginica类第107组数据分类后为Iris-versicolor类第108组数据分类后为Iris-virginica类第114组数据分类后为Iris-virginica类第118组数据分类后为Iris-virginica类第119组数据分类后为Iris-virginica类第124组数据分类后为Iris-virginica类第125组数据分类后为Iris-virginica类第126组数据分类后为Iris-virginica类第127组数据分类后为Iris-virginica类第128组数据分类后为Iris-virginica类第129组数据分类后为Iris-virginica类第130组数据分类后为Iris-virginica类第133组数据分类后为Iris-virginica类第135组数据分类后为Iris-virginica类第137组数据分类后为Iris-virginica类

第142组数据分类后为Iris-virginica类

第144组数据分类后为Iris-virginica类

第148组数据分类后为Iris-virginica类

第149组数据分类后为Iris-virginica类

第150组数据分类后为Iris-virginica类

k近邻法对wine分类:

clc;

otalsum=0;

for ii=1:10 %循环测试10次

data=load('wine.txt');%导入wine数据

data1=data(1:59,1:13);%任取第一类数据的30组

rbow1=randperm(59);

trainsample1=data1(sort(rbow1(:,1:30)),1:13);

rbow1(:,31:59)=sort(rbow1(:,31:59)); %剩余的29组按行下标大小顺序排列testsample1=data1(rbow1(:,31:59),1:13);

data2=data(60:130,1:13);%任取第二类数据的35组

rbow2=randperm(71);

trainsample2=data2(sort(rbow2(:,1:35)),1:13);

rbow2(:,36:71)=sort(rbow2(:,36:71));

testsample2=data2(rbow2(:,36:71),1:13);

data3=data(131:178,1:13);%任取第三类数据的24组

rbow3=randperm(48);

trainsample3=data3(sort(rbow3(:,1:24)),1:13);

rbow3(:,25:48)=sort(rbow3(:,25:48));

testsample3=data3(rbow3(:,25:48),1:13);

train_sample=cat(1,trainsample1,trainsample2,trainsample3);%包含89组数据的样本集

test_sample=cat(1,testsample1,testsample2,testsample3);

k=19;%19近邻法

newchar=zeros(1,89);

sum=0;

[i,j]=size(train_sample);%i=89,j=13

[u,v]=size(test_sample);%u=89,v=13

for x=1:u

for y=1:i

result=sqrt((test_sample(x,1)-train_sample(y,1))^2+(test_sample(x ,2)-train_sample(y,2))^2+(test_sample(x,3)-train_sample(y,3))^2+( test_sample(x,4)-train_sample(y,4))^2+(test_sample(x,5)-train_sam ple(y,5))^2+(test_sample(x,6)-train_sample(y,6))^2+(test_sample(x ,7)-train_sample(y,7))^2+(test_sample(x,8)-train_sample(y,8))^2+( test_sample(x,9)-train_sample(y,9))^2+(test_sample(x,10)-train_sa mple(y,10))^2+(test_sample(x,11)-train_sample(y,11))^2+(test_samp le(x,12)-train_sample(y,12))^2+(test_sample(x,13)-train_sample(y, 13))^2); %欧式距离

newchar(1,y)=result;

end;

[new,Ind]=sort(newchar);

class1=0;

class 2=0;

class 3=0;

for n=1:k

if Ind(1,n)<=30

class 1= class 1+1;

elseif Ind(1,n)>30&&Ind(1,n)<=65

class 2= class 2+1;

else

class 3= class3+1;

end

end

if class 1>= class 2&& class1>= class3

m=1;

elseif class2>= class1&& class2>= class3

m=2;

elseif class3>= class1&& class3>= class2

m=3;

end

if x<=29

disp(sprintf('第%d组数据分类后为第%d类',rbow1(:,30+x),m));

elseif x>29&&x<=65

disp(sprintf('第%d组数据分类后为第%d类',59+rbow2(:,x+6),m));

elseif x>65&&x<=89

disp(sprintf('第%d组数据分类后为第%d类',130+rbow3(:,x-41),m));

end

if (x<=29&&m==1)||(x>29&&x<=65&&m==2)||(x>65&&x<=89&&m==3) sum=sum+1;

end

end

disp(sprintf('第%d次分类识别率为%4.2f',ii,sum/89));

totalsum=totalsum+(sum/89);

end

disp(sprintf('10次分类平均识别率为%4.2f',totalsum/10));

第2组数据分类后为第1类

第4组数据分类后为第1类

第5组数据分类后为第3类

第6组数据分类后为第1类

第8组数据分类后为第1类

第10组数据分类后为第1类

第11组数据分类后为第1类

第14组数据分类后为第1类

第16组数据分类后为第1类

第19组数据分类后为第1类

第20组数据分类后为第3类

第21组数据分类后为第3类

第22组数据分类后为第3类

第26组数据分类后为第3类

第27组数据分类后为第1类

第28组数据分类后为第1类

第30组数据分类后为第1类

第33组数据分类后为第1类

第36组数据分类后为第1类

第37组数据分类后为第1类

第43组数据分类后为第1类

第44组数据分类后为第3类

第45组数据分类后为第1类

第46组数据分类后为第1类

第49组数据分类后为第1类

第54组数据分类后为第1类第56组数据分类后为第1类第57组数据分类后为第1类第60组数据分类后为第2类第61组数据分类后为第3类第63组数据分类后为第3类第65组数据分类后为第2类第66组数据分类后为第3类第67组数据分类后为第2类第71组数据分类后为第1类第72组数据分类后为第2类第74组数据分类后为第1类第76组数据分类后为第2类第77组数据分类后为第2类第79组数据分类后为第3类第81组数据分类后为第2类第82组数据分类后为第3类第83组数据分类后为第3类第84组数据分类后为第2类第86组数据分类后为第2类第87组数据分类后为第2类第88组数据分类后为第2类第93组数据分类后为第2类第96组数据分类后为第1类第98组数据分类后为第2类第99组数据分类后为第3类第102组数据分类后为第2类第104组数据分类后为第2类第105组数据分类后为第3类第106组数据分类后为第2类第110组数据分类后为第3类第113组数据分类后为第3类第114组数据分类后为第2类第115组数据分类后为第2类第116组数据分类后为第2类第118组数据分类后为第2类第122组数据分类后为第2类第123组数据分类后为第2类第124组数据分类后为第2类第133组数据分类后为第3类第134组数据分类后为第3类第135组数据分类后为第2类第136组数据分类后为第3类

第140组数据分类后为第3类

第142组数据分类后为第3类

第144组数据分类后为第2类

第145组数据分类后为第1类

第146组数据分类后为第3类

第148组数据分类后为第3类

第149组数据分类后为第2类

第152组数据分类后为第2类

第157组数据分类后为第2类

第159组数据分类后为第3类

第161组数据分类后为第2类

第162组数据分类后为第3类

第163组数据分类后为第3类

第164组数据分类后为第3类

第165组数据分类后为第3类

第167组数据分类后为第3类

第168组数据分类后为第3类

第173组数据分类后为第3类

第174组数据分类后为第3类

2.Fisher线性判别法

Fisher 线性判别是统计模式识别的基本方法之一。它简单,容易实现,且计算量和存储量小,是实际应用中最常用的方法之一。Fisher 判别法Fisher 在1936年发表的论文中首次提出的线性判别法。Fisher 判别法的基本思想是寻找一个最好的投影,当特征向量x 从d 维空间映射到这个方向时,两类能最好的分开。这个方法实际上涉及到特征维数的压缩问题。

一维空间的Fisher 线性判别函数为:

2

1212

()()F m m J w S S -=

+ (1)

i m =

∑x N

1

,i=1,2 (2)

2,1,)()(=--=∑∈i m x m x S T i x i i i

ξ (3)

其中,1m 和2m 是两个样本的均值,1S ,2S 分别为各类样本的的类内离散度。投影方向w 为:

)(211

m m S w w -=- (4)

12w S S S =+ (5)

在Fisher 判决函数中,分子反应了映射后两类中心的距离平方,该值越大,类间可分性越好;分母反应了两类的类内的离散度,其值越小越好;从总体上讲,

()F J w 的值越大越好,在这种可分性评价标准下,使()F J w 达到最大值的w 即为最佳投影方向。

2.1 实验原理

1.线性投影与Fisher 准则函数

各类在d 维特征空间里的样本均值向量:

∑∈=

i

k X x k

i

i x

n M 1

,2,1=i (4.5-2)

通过变换w 映射到一维特征空间后,各类的平均值为:

∑∈=

i

k Y y k

i

i y

n m 1,2,1=i (4.5-3)

映射后,各类样本“类内离散度”定义为:

22

()k i

i k i y Y S y m ∈=

-∑,2,1=i (4.5-4)

显然,我们希望在映射之后,两类的平均值之间的距离越大越好,而各类的样本类内离散度越小越好。因此,定义Fisher 准则函数:

2

122

2

12

||()F m m J w s s -=+ (4.5-5) 使F J 最大的解*

w 就是最佳解向量,也就是Fisher 的线性判别式。

2.求解*

w

从)(w J F 的表达式可知,它并非w 的显函数,必须进一步变换。 已知:∑∈=

i

k Y y k

i i y

n m 1,2,1=i , 依次代入(4.5-1)和(4.5-2),有:

i

T

X x k

i

T k X x T i

i M w x n w x w n m i

k i

k ===

∑∑∈∈)1(

1,2,1=i (4.5-6)

所以:2

212212

21||)(||||||||M M w M w M w m m T T

T

-=-=-

w S w w M M M M w b T T T =--=))((2121 (4.5-7) 其中:T b M M M M S ))((2121--= (4.5-8)

b S 是原d 维特征空间里的样本类内离散度矩阵,表示两类均值向量之间的离散度大小,因此,b S 越大越容易区分。

将(4.5-6)i T

i M w m =和(4.5-2)∑∈=

i

k X x k

i

i x

n M 1代入(4.5-4)2

i S 式中:

∑∈-=

i

k X x i T k

T i M w x

w S 22)(

∑∈?--?

=i

k X x T i k i k

T w M x M x

w ))((

w S w i T = (4.5-9)

其中:T i X x k i k

i M x M x

S i

k ))((--=

∑=,2,1=i (4.5-10)

因此:w S w w S S w S S w T T =+=+)(212

221 (4.5-11)

显然:21S S S w += (4.5-12)

i S 称为原d 维特征空间里,样本“类内离散度”矩阵。 w S 是样本“类内总离散度”矩阵。

为了便于分类,显然i S 越小越好,也就是w S 越小越好。 将上述的所有推导结果代入)(w J F 表达式:

可以得到:

)(211

*

M M S w w -=-λγ

其中,λ

γ是一个比例因子,不影响*

w 的方向,可以删除,从而得到最后解:

)(211

*M M S w w -=- (4.5-18)

*w 就使)(w J F 取得最大值,*w 可使样本由d 维空间向一维空间映射,其投影方向最好。)(211

*M M S w w -=-是一个Fisher 线性判断式。

这个向量指出了相对于Fisher 准则函数最好的投影线方向。

3. Fisher 算法步骤

由Fisher 线性判别式)(211

*

M M S w w -=-求解向量*

w 的步骤:

① 把来自两类21/w w 的训练样本集X 分成1w 和2w 两个子集1X 和2X 。 ② 由∑∈=i

k X x k

i

i x

n M 1,2,1=i ,计算i M 。

③ 由T i X x k i k

i M x M x

S i

k ))((--=

∑=计算各类的类内离散度矩阵i S ,2,1=i 。

④ 计算类内总离散度矩阵21S S S w +=。 ⑤ 计算w S 的逆矩阵1

-w

S 。

⑥ 由)(211

*

M M S w w -=-求解*

w 。

4.算法优缺点分析

优点:(1)一般对于线性可分的样本,总能找到一个投影方向,使得降维后样本仍然线性可分,而且可分性更好即不同类别的样本之间的距离尽可能远,同一类别的样本尽可能集中分布。

(2)Fisher 方法可直接求解权向量*

w ;

(3)Fisher 的线性判别式不仅适用于确定性模式分类器的训练,而且对于随机模式也是适用的,Fisher 还可以进一步推广到多类问题中去

缺点:

(1)如果21M M =,0*

=w ,则样本线性不可分; 21M M ≠,未必线性可分; w S 不可逆,未必不可分。

(2)对线性不可分的情况,Fisher 方法无法确定分类

2.1 Fisher 线性判别实验流程图

分别取25组类别1和类别2的样本进行训练

通过式2~5,计算得到w 和决策面阈值

构成fisher 判别函数

分别计算类1类2识别的准确率

选取另外25组类别1和类别2的样本进行测试

是否大于阈值?

类别1的个数加1 类别2的个数加2

Y N

三、matlab代码及实验结果分析

(1)训练样本程序确定投影方向

clear

% w1类训练样本,10组,每组为行向量。

w1=[-0.4,0.58,0.089;-0.31,0.27,-0.04;-0.38,0.055,-0.035;-0.15,0.53,0.011;-0.35,0.47,0.034;.. .

0.17,0.69,0.1;-0.011,0.55,-0.18;-0.27,0.61,0.12;-0.065,0.49,0.0012;-0.12,0.054,-0.063]; % w2类训练样本,10组,每组为行向量。

w2=[0.83,1.6,-0.014;1.1,1.6,0.48;-0.44,-0.41,0.32;0.047,-0.45,1.4;0.28,0.35,3.1;...

-0.39,-0.48,0.11;0.34,-0.079,0.14;-0.3,-0.22,2.2;1.1,1.2,-0.46;0.18,-0.11,-0.49];

%w1=load('xxx1.txt');

%w2=load('xxx2.txt');

xx1=[-0.7,0.58,0.089]'; % 测试数据xx1,为列向量。

xx2=[0.047,-0.4,1.04]'; % 测试数据xx2,为列向量。

m1=mean(w1,1)'; % w1类样本均值向量,为列向量

sw1=cov(w1,1); % w1类样本类内离散度矩阵

m2=mean(w2,1)'; % w2类样本均值向量,为列向量

sw2=cov(w2,1); % w2类样本类内离散度矩阵

sw=sw1+sw2; % 总类内离散度矩阵

w= inv(sw)*(m1-m2); % 投影方向

y0=(w'*m1+w'*m2)/2; % 阈值y0

figure(1)

for i=1:10

plot3(w1(i,1),w1(i,2),w1(i,3),'g+')

hold on

plot3(w2(i,1),w2(i,2),w2(i,3),'ro')

end

xlabel('x轴');

ylabel('y轴');

title('原始训练数据w1,w2三维分布图');

z1=w'*w1';

z2=w'*w2';

figure(2)

for i=1:10

plot3(z1(i)*w(1),z1(i)*w(2),z1(i)*w(3),'g+')

hold on

plot3(z2(i)*w(1),z2(i)*w(2),z2(i)*w(3),'ro')

end

xlabel('x 轴'); ylabel('y 轴');

title('训练数据w1,w2线性分类效果图'); hold off

y1=w'*xx1; if y1>y0

fprintf('测试数据xx1属于w1类\n'); else

fprintf('测试数据xx1属于w2类\n'); end y2=w'*xx2; if y2>y0

fprintf('测试数据xx2属于w1类\n'); else

fprintf('测试数据xx2属于w2类\n'); end

结果如下:

-0.5

0.5

1

1.5

-1

1

2

-101234原始训练数据w1,w2三维分布图

x 轴

y 轴

-60

-40

-200

20

40

-20

20

40

-6-4-2024训练数据w1,w2线性分类效果图

x 轴

y 轴

测试数据xx1属于w1类 测试数据xx2属于w2类

(2)对样本数据w3中的10个样本数据进行fisher 判别法分类(程序及结果) 程序如下:

clear

% w1类训练样本,10组,每组为行向量。

w1=[-0.4,0.58,0.089;-0.31,0.27,-0.04;-0.38,0.055,-0.035;-0.15,0.53,0.011;-0.35,0.47,0.034;.. 0.17,0.69,0.1;-0.011,0.55,-0.18;-0.27,0.61,0.12;-0.065,0.49,0.0012;-0.12,0.054,-0.063]; % w2类训练样本,10组,每组为行向量。

w2=[0.83,1.6,-0.014;1.1,1.6,0.48;-0.44,-0.41,0.32;0.047,-0.45,1.4;0.28,0.35,3.1;... -0.39,-0.48,0.11;0.34,-0.079,0.14;-0.3,-0.22,2.2;1.1,1.2,-0.46;0.18,-0.11,-0.49];

% w3为待分类样本数据,10组,每组为列向量。

w3=[1.58,2.32,-5.8;0.67,1.58,-4.78;1.04,1.01,-3.63;-1.49,2.18,-3.39;-0.41,1.21,-4.73;... 1.39,3.61,2.87;1.2,1.4,-1.89;-0.92,1.44,-3.22;0.45,1.33,-4.38;-0.76,0.84,-1.96]';

m1=mean(w1,1)'; % w1类样本均值向量,为列向量 sw1=cov(w1,1); % w1类样本类内离散度矩阵 m2=mean(w2,1)'; % w2类样本均值向量,为列向量 sw2=cov(w2,1); % w2类样本类内离散度矩阵

sw=sw1+sw2; % 总类内离散度矩阵

w= inv(sw)*(m1-m2); % 投影方向

y0=(w'*m1+w'*m2)/2 % 阈值y0

% w1,w2,w3原始数据三维分布图

figure(3)

for i=1:10

plot3(w1(i,1),w1(i,2),w1(i,3),'g+')

hold on

plot3(w2(i,1),w2(i,2),w2(i,3),'ro')

hold on

plot3(w3(1,i),w3(2,i),w3(3,i),'bp')

end

xlabel('x轴');

ylabel('y轴');

title('训练w1,w2/样本w3原始数据三维分布图');

% w1,w2,w3数据线性投影分类效果图

z1=w'*w1';

z2=w'*w2';

z3=w'*w3;

figure(4)

for i=1:10

plot3(z1(i)*w(1),z1(i)*w(2),z1(i)*w(3),'g+') hold on

plot3(z2(i)*w(1),z2(i)*w(2),z2(i)*w(3),'ro') hold on

plot3(z3(i)*w(1),z3(i)*w(2),z3(i)*w(3),'bp') end

xlabel('x轴');

ylabel('y轴');

title('训练w1,w2/样本w3数据线性投影分类效果图'); hold off

for i=1:10

y(i)=w'*w3(:,i);

if y(i)>y0

fprintf('样本数据%d属于w1类\n',i);

else

fprintf('样本数据%d属于w2类\n',i);

end

end

-2

-1

1

2

-2

2

4

-6-4-2024训练w1,w2/样本w3原始数据三维分布图

x 轴

y 轴

-200

-150

-100-50

50

-50

50

100

150

-25-20-15-10-505训练w1,w2/样本w3数据线性投影分类效果图

x 轴

y 轴

西电随机信号大课后复习

随机信号大作业 班级:02xxxx 姓名:xx

学号:02xxxxx 第一章 1.23上机题:设有随机初相信号X(t)=5cos(t+φ),其中相位φ是在区间(0,2π)上均匀分布的随机变量。试用Matlab编程产生其三个样本函数。 解:程序: clc clear m=unifrnd(0,2*pi,1,10); for k=1:3 t=1:0.1:10; X=5*cos(t+m(k)); plot(t,X); hold on

end title('其三个样本函数'); xlabel('t');ylabel('X(t)'); grid on ;axis tight ; 由 Matlab 产生的三个样本函数如下图所示: 第二章 2.22 上机题:利用Matlab 程序设计一正弦型信号加高斯白噪声的复合信号。 (3)分析复合信号通过理想低通系统后的功率谱密度和相应的幅度分布特性。 1 2 3 4 5 6 7 8 9 10 -4-3-2-101 23 4其三个样本函数 t X (t )

解:取数据如下: 正弦信号的频率为:fc=10HZ,抽样频率为:fs=100HZ; 信号:x=sin(2*pi*fc*t); 高斯白噪声产生复合信号y: y=awgn(x,10); 复合信号y通过理想滤波器电路后得到信号y3 ,通过卷积计算可以得到y3 即:y3=conv2(y,sin(10*t)/(pi*t)); y3的幅度分布特性可以通过傅里叶变换得到Y3(jw)=fft(y3),y3的功率谱密度:G3(w)=Y3(jw).*conj(Y3(jw)/length(Y3(jw)))。 程序: clear all; fs=100; fc=10; n=201; t=0:1/fs:2; x=sin(2*pi*fc*t); y=awgn(x,10); m=50; i=-0.49:1/fs:0.49; for j=1:m R(j)=sum(y(1:n-j-1).*y(j:199),2)/(n-j); Ry(49+j)=R(j);

模式识别大作业02125128(修改版)

模式识别大作业 班级 021252 姓名 谭红光 学号 02125128 1.线性投影与Fisher 准则函数 各类在d 维特征空间里的样本均值向量: ∑∈= i k X x k i i x n M 1 ,2,1=i (1) 通过变换w 映射到一维特征空间后,各类的平均值为: ∑∈= i k Y y k i i y n m 1,2,1=i (2) 映射后,各类样本“类内离散度”定义为: 22 ()k i i k i y Y S y m ∈= -∑,2,1=i (3) 显然,我们希望在映射之后,两类的平均值之间的距离越大越好,而各类的样本类内离 散度越小越好。因此,定义Fisher 准则函数: 2 1222 12||()F m m J w s s -= + (4) 使F J 最大的解* w 就是最佳解向量,也就是Fisher 的线性判别式. 从 )(w J F 的表达式可知,它并非w 的显函数,必须进一步变换。 已知: ∑∈= i k Y y k i i y n m 1,2,1=i , 依次代入上两式,有: i T X x k i T k X x T i i M w x n w x w n m i k i k === ∑∑∈∈)1 (1 ,2,1=i (5) 所以:2 21221221||)(||||||||M M w M w M w m m T T T -=-=- w S w w M M M M w b T T T =--=))((2121 (6)

其中:T b M M M M S ))((2121--= (7) b S 是原d 维特征空间里的样本类内离散度矩阵,表示两类均值向量之间的离散度大 小,因此,b S 越大越容易区分。 将(4.5-6) i T i M w m =和(4.5-2) ∑∈= i k X x k i i x n M 1代入(4.5-4)2i S 式中: ∑∈-= i k X x i T k T i M w x w S 22)( ∑∈?--? =i k X x T i k i k T w M x M x w ))(( w S w i T = (8) 其中:T i X x k i k i M x M x S i k ))((--= ∑=,2,1=i (9) 因此:w S w w S S w S S w T T =+=+)(212221 (10) 显然: 21S S S w += (11) w S 称为原d 维特征空间里,样本“类内离散度”矩阵。 w S 是样本“类内总离散度”矩阵。 为了便于分类,显然 i S 越小越好,也就是 w S 越小越好。

北邮模式识别课堂作业答案(参考)

第一次课堂作业 1.人在识别事物时是否可以避免错识 2.如果错识不可避免,那么你是否怀疑你所看到的、听到的、嗅 到的到底是真是的,还是虚假的 3.如果不是,那么你依靠的是什么呢用学术语言该如何表示。 4.我们是以统计学为基础分析模式识别问题,采用的是错误概率 评价分类器性能。如果不采用统计学,你是否能想到还有什么合理地分类 器性能评价指标来替代错误率 1.知觉的特性为选择性、整体性、理解性、恒常性。错觉是错误的知觉,是在特定条件下产生的对客观事物歪曲的知觉。认知是一个过程,需要大脑的参与.人的认知并不神秘,也符合一定的规律,也会产生错误 2.不是 3.辨别事物的最基本方法是计算 . 从不同事物所具有的不同属性为出发点认识事物. 一种是对事物的属性进行度量,属于定量的表示方法(向量表示法 )。另一种则是对事务所包含的成分进行分析,称为定性的描述(结构性描述方法)。 4.风险 第二次课堂作业 作为学生,你需要判断今天的课是否点名。结合该问题(或者其它你熟悉的识别问题,如”天气预报”),说明: 先验概率、后验概率和类条件概率 按照最小错误率如何决策 按照最小风险如何决策 ωi为老师点名的事件,x为判断老师点名的概率 1.先验概率: 指根据以往经验和分析得到的该老师点名的概率,即为先验概率 P(ωi ) 后验概率: 在收到某个消息之后,接收端所了解到的该消息发送的概率称为后验概率。 在上过课之后,了解到的老师点名的概率为后验概率P(ωi|x) 类条件概率:在老师点名这个事件发生的条件下,学生判断老师点名的概率p(x| ωi ) 2. 如果P(ω1|X)>P(ω2|X),则X归为ω1类别 如果P(ω1|X)≤P(ω2|X),则X归为ω2类别 3.1)计算出后验概率 已知P(ωi)和P(X|ωi),i=1,…,c,获得观测到的特征向量X 根据贝叶斯公式计算 j=1,…,x

西电随机信号分析大作业

随机信号分析大作业 学院:电子工程学院 班级:021151 学号:02115037 姓名:隋伟哲

第一题:设有随机信号X(t)=5cos(t+a),其中相位a是在区间(0,2π)上均匀分布的随机变量,使用Matlab编程产生其三个样本函数。 解: 源程序如下: clc;clear; C=2*pi*rand(1,3);%在[0,2π]产生均匀分布的相位角 t=1:.1:80; y1=5*cos(t+C(1)); %将产生的随机相位角逐一代入随机过程中 y2=5*cos(t+C(2)); %将产生的随机相位角逐一代入随机过程中 y3=5*cos(t+C(3)); %将产生的随机相位角逐一代入随机过程中 plot(t,y1,'r-'); hold on; plot(t,y2,'g--'); hold on; plot(t,y3,'k-'); xlabel('t');ylabel('X(t)'); grid on;axis([0 30 -8 8]); title('随机相位的三条样本曲线'); 产生的三条样本曲线:

第二题:利用Matlab程序设计一正弦型信号加高斯白噪声的复合信号。(1)分析复合信号的功率谱密度、幅度分布特性; (2)分析复合信号通过RC积分电路后的功率谱密度和相应的幅度分布特性; (3)分析复合信号通过理想低通系统后的功率谱密度和相应的幅度分布特性。 解:设定正选信号的频率为10HZ,抽样频率为100HZ x=sin(2*pi*fc*t)

(1)正弦函数加上高斯白噪声: y=awgn(x,10) y 的幅度分布特性可以通过傅里叶变换得到: Y(jw)=fft(y) y 的功率谱密度: G(w)=Y(jw).*conj(Y(jw)/length(Y(jw))) 随机序列自相关函数的无偏估计公式为: 1 01()()()N m xx n R m x n x n m N m --==+-∑ 01m N ≤≤- (2)复合信号 y 通过RC 积分电路后得到信号y2 通过卷积计算可以得到y2 即:y2= conv2(y,b*pi^-b*t) y2的幅度分布特性可以通过傅里叶变换得到: Y2(jw)=fft(y2) y2的功率谱密度: G2(w)=Y2(jw).*conj(Y2(jw)/length(Y2(jw))) (3)复合信号 y 通过理想滤波器电路后得到信号y3 通过卷积计算可以得到y3 即:y3=conv2(y,sin(10*t)/(pi*t)) y3的幅度分布特性可以通过傅里叶变换得到: Y3(jw)=fft(y3) y3的功率谱密度: G3(w)=Y3(jw).*conj(Y3(jw)/length(Y3(jw)))

大工19秋《数据挖掘》大作业题目及要求答案

网络教育学院 《数据挖掘》课程大作业 题目:题目一:Knn算法原理以及python实现 姓名: XXX 报名编号: XXX 学习中心:奥鹏XXX 层次:专升本 专业:计算机科学与技术 第一大题:讲述自己在完成大作业过程中遇到的困难,解决问题的思路,以及相关感想,或者对这个项目的认识,或者对Python与数据挖掘的认识等等,300-500字。 答: 数据挖掘是指从大量的数据中通过一些算法寻找隐藏于其中重要实用信息的过程。这些算法包括神经网络法、决策树法、遗传算法、粗糙集法、模糊集法、关联规则法等。在商务管理,股市分析,公司重要信息决策,以及科学研究方面都有十分重要的意义。数据挖掘是一种决策支持过程,它主要基于人工智能、机器学习、模式识别、统计学、数据库、可视化技术,从大量数据中寻找其肉眼难以发现的规律,和大数据联系密切。如今,数据挖掘已经应用在很多行业里,对人们的生产生活以及未来大数据时代起到了重要影响。

第二大题:完成下面一项大作业题目。 2019秋《数据挖掘》课程大作业 注意:从以下5个题目中任选其一作答。 题目一:Knn算法原理以及python实现 要求:文档用使用word撰写即可。 主要内容必须包括: (1)算法介绍。 (2)算法流程。 (3)python实现算法以及预测。 (4)整个word文件名为 [姓名奥鹏卡号学习中心](如 戴卫东101410013979浙江台州奥鹏学习中心[1]VIP ) 答: KNN算法介绍 KNN是一种监督学习算法,通过计算新数据与训练数据特征值之间的距离,然后选取K(K>=1)个距离最近的邻居进行分类判(投票法)或者回归。若K=1,新数据被简单分配给其近邻的类。 KNN算法实现过程 (1)选择一种距离计算方式, 通过数据所有的特征计算新数据与

模式识别特征选择与提取

模式识别特征选择与提取 中国矿业大学计算机科学与技术学院电子信息科学系 班级:信科11-1班,学号:08113545,姓名:褚钰博 联系方法(QQ或手机):390345438,e-mail:390345438@https://www.360docs.net/doc/a218046525.html, 日期:2014 年06月10日 摘要 实际问题中常常需要维数约简,如人脸识别、图像检索等。而特征选择和特征提取是两种最常用的维数约简方法。特征选择是从某些事物中提取出本质性的功能、应用、优势等,而特征提取是对特征空间进行变换,将原始特征空间映射到低维空间中。 本文是对主成分分析和线性判别分析。 关键词:特征选择,特征提取,主成分分析,线性判别分析 1.引言 模式识别的主要任务是利用从样本中提取的特征,并将样本划分为相应的模式类别,获得好的分类性能。而分类方法与分类器设计,都是在d(变量统一用斜体)维特征空间已经确定的前提下进行的。因此讨论的分类器设计问题是一个选择什么准则、使用什么方法,将已确定的d维特征空间划分成决策域的问题。对分类器设计方法的研究固然重要,但如何确定合适的特征空间是设计模式识别系统另一个十分重要,甚至更为关键的问题。如果所选用的特征空间能使同类物体分布具有紧致性,即各类样本能分布在该特征空间中彼此分割开的区域内,这就为分类器设计成功提供良好的基础。反之,如果不同类别的样本在该特征空间中混杂在一起,再好的设计方法也无法提高分类器的准确性。本文要讨论的问题就是特征空间如何设计的问题。 基于主成分分析的特征选择算法的思想是建立在这样的基础上的:主成分分析方法将原始特征通过线性变换映射到新的低维空间时,获得的主成分是去了新的物理意义,难以理解,并且主成分是所有原始特征的线性组合。所以将主成分分析与特征选择相结合,设计多种相似性度量准则,通过找到与主成分相关的关键特征或者删除冗余、不相关以及没有意义的特征,将主成分又重新映射到原始空间,来理解成主成分的实际意义。 基于线性判别分析的高维特征选择将单个特征的Fisher准则与其他特征选择算法相结合,分层消除不相关特征与冗余特征。不相关特征滤波器按照每个特征的Fisher评价值进行特征排序,来去除噪音和不相关特征。通过对高维数据特征关联性的分析,冗余特征滤波器选用冗余度量方法和基于相关性的快速过滤器算法。分别在不同情境下进行数据分类实验,验证其性能。

随机信号分析大作业

随机信号分析实验报告 信息25班 2120502123 赵梦然

作业题三: 利用Matlab 产生一个具有零均值、单位方差的的高斯白噪声随机序列X(n),并通过一脉冲响应为 (0.8)(0)0 n n h n else =≥??? 的线性滤波器。 (1) 产生一个具有零均值、单位方差的的高斯白噪声随机序列X(n),检验其一维概率密度函 数是否与理论相符。 (2) 绘出输入输出信号的均值、方差、自相关函数及功率谱密度的图形,讨论输出信号服从 何种分布。 (3) 试产生在[-1,+1]区间均匀分布的白噪声序列,并将其替换高斯白噪声通过上述系统。 画出此时的输出图形,并观察讨论输出信号服从何种分布。 作业要求 (1) 用MATLAB 编写程序。最终报告中附代码及实验结果截图。 (2) 实验报告中必须有对实验结果的分析讨论。 提示: (1) 可直接使用matlab 中已有函数产生高斯白噪声随机序列。可使用hist 函数画出序列的 直方图,并与标准高斯分布的概率密度函数做对比。 (2) 为便于卷积操作,当N 很大时,可近似认为h(N)=0。卷积使用matlab 自带的conv 函 数。 (3) 分析均值、方差等时,均可使用matlab 现有函数。功率谱密度和自相关函数可通过傅 里叶变换相互获得。傅里叶变换使用matlab 自带的fft 函数。 (4) 作图使用plot 函数。

一、作业分析: 本题主要考察的是加性高斯白噪声相关问题,因此构造一个高斯白噪声十分重要,故在本题中使用randn函数随机生成一个个符合高斯分布的数据,并由此构成高斯白噪声;而且由于白噪声是无法完全表示的,故此根据噪声长度远大于信号长度时可视为高斯白噪声,构造了一个长度为2000的高斯白噪声来进行试验。 二、作业解答: (1)matlab程序为: x-1000:1:1000; k=1*randn(1,length(x));% 生成零均值单位方差的高斯白噪声。 [f,xi]=ksdensity(x);%利用ksdensity函数估计样本的概率密度。 subplot(1,2,1); plot(x,k); subplot(1,2,2); plot(xi,f); 实验结果为:

模式识别作业(全)

模式识别大作业 一.K均值聚类(必做,40分) 1.K均值聚类的基本思想以及K均值聚类过程的流程图; 2.利用K均值聚类对Iris数据进行分类,已知类别总数为3。给出具体的C语言代码, 并加注释。例如,对于每一个子函数,标注其主要作用,及其所用参数的意义,对程序中定义的一些主要变量,标注其意义; 3.给出函数调用关系图,并分析算法的时间复杂度; 4.给出程序运行结果,包括分类结果(只要给出相对应的数据的编号即可)以及循环 迭代的次数; 5.分析K均值聚类的优缺点。 二.贝叶斯分类(必做,40分) 1.什么是贝叶斯分类器,其分类的基本思想是什么; 2.两类情况下,贝叶斯分类器的判别函数是什么,如何计算得到其判别函数; 3.在Matlab下,利用mvnrnd()函数随机生成60个二维样本,分别属于两个类别(一 类30个样本点),将这些样本描绘在二维坐标系下,注意特征值取值控制在(-5,5)范围以内; 4.用样本的第一个特征作为分类依据将这60个样本进行分类,统计正确分类的百分 比,并在二维坐标系下将正确分类的样本点与错误分类的样本点用不同标志(正确分类的样本点用“O”,错误分类的样本点用“X”)画出来; 5.用样本的第二个特征作为分类依据将这60个样本再进行分类,统计正确分类的百分 比,并在二维坐标系下将正确分类的样本点与错误分类的样本点用不同标志画出来; 6.用样本的两个特征作为分类依据将这60个样本进行分类,统计正确分类的百分比, 并在二维坐标系下将正确分类的样本点与错误分类的样本点用不同标志画出来; 7.分析上述实验的结果。 8.60个随即样本是如何产生的的;给出上述三种情况下的两类均值、方差、协方差矩 阵以及判别函数; 三.特征选择(选作,15分) 1.经过K均值聚类后,Iris数据被分作3类。从这三类中各选择10个样本点; 2.通过特征选择将选出的30个样本点从4维降低为3维,并将它们在三维的坐标系中

计算智能大作业.

题目:遗传算法在图像处理中的应用研究课程: 计算智能 姓名: 学号: 专业:模式识别与智能系统

遗传算法在图像处理中的应用 摘要 遗传算法是一种基于生物自然选择与遗传机理的随机搜索与优化方法。近年来,由于遗传算法求解复杂优化问题的巨大潜力,广泛应用在生物信息学、系统发生学、计算科学、工程学、经济学、化学、制造、数学、物理、药物测量学和其他领域之中,这种算法受到了国内外学者的广泛关注,尤其是在计算机科学人工智能领域中。本文介绍了遗传算法基本理论,描述了它的主要特点和基本性质;重点综述遗传算法在图像处理中的主要应用,特别是在图像分割、图像压缩、图像增强等方面的作用;深入研究目前遗传算法在图像处理领域中存在的问题,并结合自己的研究方向,对这些问题提出了一些深刻的见解,展望了今后遗传算法在图像处理应用的发展方向。 关键词:遗传算法,数字图像处理

1.背景介绍 遗传算法(Genetic Algorithm,GA)是一种自适应启发式群体型概率性迭代式的全局收敛搜索算法,其基本思想来源于生物进化论和群体遗传学,体现了适者生存、优胜劣汰的进化原则。使用遗传算法求解科学研究工作和工程技术中各种组合搜索和优化计算问题这一基本思想早在20世纪60年代初期就由美国Michigan大学的Holland教授提出,其数学框架也于20世纪60年代中期形成。由于GA的整体搜索策略和优化计算不依赖于梯度信息,所以它的应用范围非常广泛,尤其适合于处理传统方法难以解决的高度复杂的非线性问题。它在自适应控制、组合优化、模式识别、机器学习、规划策略、信息处理和人工生命等领域的应用中越来越展示出优越性。 图像处理(image processing),用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要内容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。图像处理是计算机视觉中德一个重要研究领域,然而,在图像处理过程中,如扫描、特征提取、图像分割等不可避免地会存在一些误差,从而影响图像的效果。于是,研究者就开始探索怎么样才能使这些误差最小从而使计算机视觉达到实用化的重要要求,最终,遗传算法凭借其在这些图像处理中的优化计算方面独特的优势成为各种算法的佼佼者,得到了广泛的应用。 2.遗传算法的原理和基本步骤 遗传算法是一个不断迭代过程的搜索算法,它的基本处理流程如下图所示。

神经网络大作业

神经网络的基本特征及其在战斗识别领域的应用前景简介 —神经网络原理及应用报告 课程名称:神经网络原理及应用 课程编号: 指导教师: 学院: 班级: 姓名: 学号: 日期:

神经网络的基本特征及其在战斗识别领域的应用前景简介 摘要:在未来的军事对抗上,对军事打击的物理距离越来越大,对打击的反应时间的要求越来越短,对打击的精度要求越来越高。在这种情况下,迅速且精确的敌我识别系统显得尤其重要。传统的战斗识别方式早已遇到了瓶颈,而神经网络因为它在信息、信号处理、模式识别方面有些独到之处,近年来受到各国军界的普遍重视。 关键词:军事,战斗识别,模式识别,敌我识别,神经网络 1 引言 众多科学家预言,21世纪将是“生物”世纪。这说明生物学的研究和应用已进入了空前繁荣的时代。神经网络系统理论就是近十多年来受其影响而得到飞速发展的一个世界科学研究的前沿领域。这股研究热潮必然会影响到军事技术的研究。在现代战争中,因为远程制导武器的广泛应用,绝大多数军事打击都不再依靠肉眼来辨析敌我,战场上的敌我识别变成了一个重要的问题。据统计,1991年的海湾战争期间,美军与友军之间的误伤比例高达24%;在伊拉克战争期间,共发生17起误伤事件,死18人,伤47人。两场战争的伤亡结果表明,单一的敌我识别武器已不能适应现代战争复杂的作战环境和作战要求。所以提高军队战斗识别的效率是现代军事科技研究中一个极其重要的课题。神经网络作为新的热门技术,必然受到军事研究学者们的青睐。本文只选取战斗识别这一领域,简要探讨神经网络技术在战斗识别领域中的应用前景,但求管中一窥,抛砖引玉。 2 神经网络简介 2.1 神经网络的历史 神经网络的研究可以追溯到上个世纪的1890年。但真正展开神经网络理论研究却始于本世纪40年代。1943年,有心理学家McCulloch和数学家Pitts合作提出了形式神经元的数学模型——MP模型,从此开创了神经网络理论研究的新时代。MP模型以集体并行计算结构来描述神经网络及网络的运行机制,可完成有限的逻辑运算。 1949年,Hebb通过对大脑神经的细胞、人的学习行为和条件反射等一系列

北邮模式识别课堂作业答案(参考)

第一次课堂作业 ? 1.人在识别事物时是否可以避免错识? ? 2.如果错识不可避免,那么你是否怀疑你所看到的、听到的、嗅到的到底 是真是的,还是虚假的? ? 3.如果不是,那么你依靠的是什么呢?用学术语言该如何表示。 ? 4.我们是以统计学为基础分析模式识别问题,采用的是错误概率评价分类 器性能。如果不采用统计学,你是否能想到还有什么合理地分类器性能评价指标来替代错误率? 1.知觉的特性为选择性、整体性、理解性、恒常性。错觉是错误的知觉,是在特定条件下产生的对客观事物歪曲的知觉。认知是一个过程,需要大脑的参与.人的认知并不神秘,也符合一定的规律,也会产生错误 2.不是 3.辨别事物的最基本方法是计算.从不同事物所具有的不同属性为出发点认识事物.一种是对事物的属性进行度量,属于定量的表示方法(向量表示法)。另一种则是对事务所包含的成分进行分析,称为定性的描述(结构性描述方法)。 4.风险 第二次课堂作业 ?作为学生,你需要判断今天的课是否点名。结合该问题(或者其它你熟悉的识别问题, 如”天气预报”),说明: ?先验概率、后验概率和类条件概率? ?按照最小错误率如何决策? ?按照最小风险如何决策? ωi为老师点名的事件,x为判断老师点名的概率 1.先验概率:指根据以往经验和分析得到的该老师点名的概率,即为先验概率P(ωi ) 后验概率:在收到某个消息之后,接收端所了解到的该消息发送的概率称为后验概率。 在上过课之后,了解到的老师点名的概率为后验概率P(ωi|x) 类条件概率:在老师点名这个事件发生的条件下,学生判断老师点名的概率p(x| ωi ) 2. 如果P(ω1|X)>P(ω2|X),则X归为ω1类别 如果P(ω1|X)≤P(ω2|X),则X归为ω2类别 3.1)计算出后验概率 已知P(ωi)和P(X|ωi),i=1,…,c,获得观测到的特征向量X 根据贝叶斯公式计算 j=1,…,x 2)计算条件风险

《模式识别》大作业人脸识别方法

《模式识别》大作业人脸识别方法 ---- 基于PCA 和欧几里得距离判据的模板匹配分类器 一、 理论知识 1、主成分分析 主成分分析是把多个特征映射为少数几个综合特征的一种统计分析方法。在多特征的研究中,往往由于特征个数太多,且彼此之间存在着一定的相关性,因而使得所观测的数据在一定程度上有信息的重叠。当特征较多时,在高维空间中研究样本的分布规律就更麻烦。主成分分析采取一种降维的方法,找出几个综合因子来代表原来众多的特征,使这些综合因子尽可能地反映原来变量的信息,而且彼此之间互不相关,从而达到简化的目的。主成分的表示相当于把原来的特征进行坐标变换(乘以一个变换矩阵),得到相关性较小(严格来说是零)的综合因子。 1.1 问题的提出 一般来说,如果N 个样品中的每个样品有n 个特征12,,n x x x ,经过主成分分析,将 它们综合成n 综合变量,即 11111221221122221122n n n n n n n nn n y 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 轴上

模式识别作业2

作业一: 在一个10类的模式识别问题中,有3类单独满足多类情况1,其余的类别满足多类情况2。问该模式识别问题所需判别函数的最少数目是多少? 答案:将10类问题可看作4类满足多类情况1的问题,可将3类单独满足多类情况1的类找出来,剩下的7类全部划到4类中剩下的一个子类中。再在此子类中,运用多类情况2的判别法则进行分类,此时需要7*(7-1)/2=21个判别函数。故共需要4+21=25个判别函数。 作业二: 一个三类问题,其判别函数如下: d1(x)=-x1, d2(x)=x1+x2-1, d3(x)=x1-x2-1 1.设这些函数是在多类情况1条件下确定的,绘出其判别界 面和每一个模式类别的区域。 2.设为多类情况2,并使:d12(x)= d1(x), d13(x)= d2(x), d23(x)= d3(x)。绘出其判别界面和多类情况2的区域。 3. 设d1(x), d2(x)和d3(x)是在多类情况3的条件下确定的,绘 出其判别界面和每类的区域。 答案: 1

2

3 作业三: 两类模式,每类包括5个3维不同的模式,且良好分布。如果它们是线性可分的,问权向量至少需要几个系数分量?假如要建立二次的多项式判别函数,又至少需要几个系数分量?(设模式的良好分布不因模式变化而改变。) 答案:如果它们是线性可分的,则至少需要4个系数分量;如果要建立二次的多项式判别函数,则至少需要10 25 C 个系数分量。 作业四: 用感知器算法求下列模式分类的解向量w :

ω1: {(0 0 0)T, (1 0 0)T, (1 0 1)T, (1 1 0)T} ω2: {(0 0 1)T, (0 1 1)T, (0 1 0)T, (1 1 1)T} 答案:将属于ω2的训练样本乘以(-1),并写成增广向量的形式。 x①=(0 0 0 1)T,x②=(1 0 0 1)T,x③=(1 0 1 1)T,x④=(1 1 0 1)T x⑤=(0 0 -1 -1)T,x⑥=(0 -1 -1 -1)T,x⑦=(0 -1 0 -1)T,x⑧=(-1 -1 -1 -1)T 第一轮迭代:取C=1,w(1)=(0 0 0 0)T 因w T(1)x①=(0 0 0 0)(0 0 0 1)T=0≯0,故w(2)=w(1)+x①=(0 0 0 1) 因w T(2)x②=(0 0 0 1)(1 0 0 1)T =1>0,故w(3)=w(2)=(0 0 0 1)T 因w T(3)x③=(0 0 0 1)(1 0 1 1)T=1>0,故w(4)=w(3)=(0 0 0 1)T 因w T(4)x④=(0 0 0 1)(1 1 0 1)T=1>0,故w(5)=w(4)=(0 0 0 1)T 因w T(5)x⑤=(0 0 0 1)(0 0 -1 -1)T=-1≯0,故w(6)=w(5)+x⑤=(0 0 -1 0)T 因w T(6)x⑥=(0 0 -1 0)(0 -1 -1 -1)T=1>0,故w(7)=w(6)=(0 0 -1 0)T 因w T(7)x⑦=(0 0 -1 0)(0 -1 0 -1)T=0≯0,故w(8)=w(7)+x⑦=(0 -1 -1 -1)T 因w T(8)x⑧=(0 -1 -1 -1)(-1 -1 -1 -1)T=3>0,故w(9)=w(8)=(0 -1 -1 -1)T 因为只有对全部模式都能正确判别的权向量才是正确的解,因此需进行第二轮迭代。 第二轮迭代:

华南理工大学《模式识别》大作业报告

华南理工大学《模式识别》大作业报告 题目:模式识别导论实验 学院计算机科学与工程 专业计算机科学与技术(全英创新班) 学生姓名黄炜杰 学生学号201230590051 指导教师吴斯 课程编号145143 课程学分2分 起始日期2015年5月18日

实验概述 【实验目的及要求】 Purpose: Develop classifiers,which take input features and predict the labels. Requirement: ?Include explanations about why you choose the specific approaches. ?If your classifier includes any parameter that can be adjusted,please report the effectiveness of the parameter on the final classification result. ?In evaluating the results of your classifiers,please compute the precision and recall values of your classifier. ?Partition the dataset into2folds and conduct a cross-validation procedure in measuring the performance. ?Make sure to use figures and tables to summarize your results and clarify your presentation. 【实验环境】 Operating system:window8(64bit) IDE:Matlab R2012b Programming language:Matlab

西交计算方法A上机大作业

计算方法A 上机大作业 1. 共轭梯度法求解线性方程组 算法原理:由定理3.4.1可知系数矩阵A 是对称正定矩阵的线性方程组Ax=b 的解与求解二次函数1()2 T T f x x Ax b x =-极小点具有等价性,所以可以利用共轭梯度法求解1()2 T T f x x Ax b x = -的极小点来达到求解Ax=b 的目的。 共轭梯度法在形式上具有迭代法的特征,在给定初始值情况下,根据迭代公式: (1)()()k k k k x x d α+=+ 产生的迭代序列(1)(2)(3)x x x ,,,... 在无舍入误差假定下,最多经过n 次迭代,就可求得()f x 的最小值,也就是方程Ax=b 的解。 首先导出最佳步长k α的计算式。 假设迭代点()k x 和搜索方向()k d 已经给定,便可以通过()()()() k k f x d φαα=+的极小化 ()()min ()()k k f x d φαα=+ 来求得,根据多元复合函数的求导法则得: ()()()'()()k k T k f x d d φαα=?+ 令'()0φα=,得到: ()() ()()k T k k k T k r d d Ad α=,其中()()k k r b Ax =- 然后确定搜索方向()k d 。给定初始向量(0)x 后,由于负梯度方向是函数下降最快的方向,故第一次迭代取搜索方向(0) (0)(0)(0)()d r f x b Ax ==-?=-。令 (1)(0)00x x d α=+ 其中(0)(0)0(0)(0) T T r d d Ad α=。第二次迭代时,从(1) x 出发的搜索方向不再取(1)r ,而是选取(1) (1)(0)0d r d β=+,使得(1)d 与(0)d 是关于矩阵A 的共轭向量,由此可 求得参数0β:

随机信号实验报告

随机信号分析 实验报告 目录 随机信号分析 (1) 实验报告 (1) 理想白噪声和带限白噪声的产生与测试 (2) 一、摘要 (2) 二、实验的背景与目的 (2) 背景: (2) 实验目的: (2) 三、实验原理 (3) 四、实验的设计与结果 (4) 实验设计: (4) 实验结果: (5) 五、实验结论 (12) 六、参考文献 (13) 七、附件 (13) 1

理想白噪声和带限白噪声的产生与测试一、摘要 本文通过利用MATLAB软件仿真来对理想白噪声和带限白噪声进行研究。理想白噪声通过低通滤波器和带通滤波器分别得到低通带限白噪声和帯通带限白噪声。在仿真的过程中我们利用MATLAB工具箱中自带的一些函数来对理想白噪声和带限白噪声的均值、均方值、方差、功率谱密度、自相关函数、频谱以及概率密度进行研究,对对它们进行比较分析并讨论其物理意义。 关键词:理想白噪声带限白噪声均值均方值方差功率谱密度自相关函数、频谱以及概率密度 二、实验的背景与目的 背景: 在词典中噪声有两种定义:定义1:干扰人们休息、学习和工作的声音,引起人的心理和生理变化。定义2:不同频率、不同强度无规则地组合在一起的声音。如电噪声、机械噪声,可引伸为任何不希望有的干扰。第一种定义是人们在日常生活中可以感知的,从感性上很容易理解。而第二种定义则相对抽象一些,大部分应用于机械工程当中。在这一学期的好几门课程中我们都从不同的方面接触到噪声,如何的利用噪声,把噪声的危害减到最小是一个很热门的话题。为了加深对噪声的认识与了解,为后面的学习与工作做准备,我们对噪声进行了一些研究与测试。 实验目的: 了解理想白噪声和带限白噪声的基本概念并能够区分它们,掌握用MATLAB 或c/c++软件仿真和分析理想白噪声和带限白噪声的方法,掌握理想白噪声和带限白噪声的性质。

中科大模式识别大作业miniproject资料

模式识别miniproject 实验报告 报告人:李南云 学号:SA16173027 日期:2016.12.23

数据分析 在此简要的说明一下数据情况,给定数据集分为train和test 两个data文件, train.data是11列8285行,意味着有8285个样本,矩阵的最后一列是该列所对应的样本类别。根据统计,train数据前466个样本均为1类,而后7819个样本均为-1类,所以该分类器为二分类问题。MATLAB中用importdata()读取数据,并将样本和其所属类别分开来,样本为trnset,所属类别为trnclass,train数据用于训练分类器。 Test.data是11列2072行,同样也意味着有2072个样本,最后一列为该列所对应样本类别,test数据前117为1类,后1955个数据为-1类。同样读取数据后,分为tstset和tstclass两个矩阵,前者代表2072个样本,后者代表所对应样本的类别,我们需要将train所训练好的分类器应用在tstset样本上,输出分类结果tstclass1,将其与tstclass相比较,计算每个类别的正确率和总的正确率。 算法介绍 本次实验采用了SVM(support vector machines)分类模型,由于数据线性不可分而且在实际问题中数据也大都线性不可分,所以本次试验采取的线性不可分SVM方法,即将数据向高维空间映射,使其变得线性可分。 本实验选取的二分类算法,SVC_C。

下面先以线性分类器为例,来引入SVM算法的一些概念和处理流程,如图1所示,假设C1和C2是需要区分的类别,而在二维平面中它们的样本如图,中间的一条直线就是一个线性分类函数,由图中可以看出,这个线性分类函数可以完全的将两类样本区分开来,我们就称这样的数据是线性可分的,否则则为线性不可分,本实验中所采用的数据在二维空间里分布如图2和图3所示(红色标注分类为1的样本,蓝色标注为分类为-1的样本),明显线性不可分。 图1

模式识别作业

模式识别作业 班级: 学号: 姓名:

一、实验内容 (1)了解与熟悉模式识别系统的基本组成和系统识别原理。 (2)使用增添特征法对特征进行提取与选择。 (3)编写MATLAB程序,对原始数据特征进行提取与选择,并选择适当的分类器对样本进行训练和分类,得出最后的分类结果以及识别正确率。二、实验原理 模式识别系统的原理图如下: 图1.模式识别系统原理图 对原始样本数据进行一些预处理,使用增添特征法进行特征提取与选择。增添特征法也称为顺序前进法(SFS),每次从未选择的特征中选择一个,使得它与已选特征组合后判据值J最大,直到选择的特征数目达到d。特征选取后用SVM分类器对随机选取的训练样本和测试样本进行分类,最后得出不同特征维数下的最高SVM分类正确率,以及不同特征维数下的最大类别可分性判据。 三、实验方法及程序 clear; clc; load('C:\Users\Administrator\Desktop\homework\ionosphere.mat'); m1=225;m2=126; p1=m1/(m1+m2);p2=m2/(m1+m2); chosen=[]; for j=1:34 [m,n]=size(chosen);n=n+1; J1=zeros(1,33); for i=1:34 Sw=zeros(n,n);Sb=zeros(n,n); S1=zeros(n,n);S2=zeros(n,n); p=any(chosen==i); if p==0 temp_pattern1=data(1:225,[chosen i]); temp_pattern2=data(226:351,[chosen i]);

模式识别大作业汇总

作业1 用身高和/或体重数据进行性别分类(一) 基本要求: 用FAMALE.TXT和MALE.TXT的数据作为训练样本集,建立Bayes分类器,用测试样本数据对该分类器进行测试。调整特征、分类器等方面的一些因素,考察它们对分类器性能的影响,从而加深对所学内容的理解和感性认识。 具体做法: 1.应用单个特征进行实验:以(a)身高或者(b)体重数据作为特征,在正态分布假设下利用最大似然法或者贝叶斯估计法估计分布密度参数,建立最小错误率Bayes分类器,写出得到的决策规则,将该分类器应用到测试样本,考察测试错误情况。在分类器设计时可以考察采用不同先验概率(如0.5对0.5, 0.75对0.25, 0.9对0.1等)进行实验,考察对决策规则和错误率的影响。 图1-先验概率0.5:0.5分布曲线图2-先验概率0.75:0.25分布曲线 图3--先验概率0.9:0.1分布曲线图4不同先验概率的曲线 有图可以看出先验概率对决策规则和错误率有很大的影响。 程序:bayesflq1.m和bayeszcx.m

关(在正态分布下一定独立),在正态分布假设下估计概率密度,建立最小错误率Bayes 分类器,写出得到的决策规则,将该分类器应用到训练/测试样本,考察训练/测试错误情况。比较相关假设和不相关假设下结果的差异。在分类器设计时可以考察采用不同先验概率(如0.5 vs. 0.5, 0.75 vs. 0.25, 0.9 vs. 0.1等)进行实验,考察对决策和错误率的影响。 训练样本female来测试 图1先验概率0.5 vs. 0.5 图2先验概率0.75 vs. 0.25 图3先验概率0.9 vs. 0.1 图4不同先验概率 对测试样本1进行试验得图

中科院模式识别大作业——人脸识别

人脸识别实验报告 ---- 基于PCA 和欧氏距离相似性测度 一、理论知识 1、PCA 原理 主成分分析(PCA) 是一种基于代数特征的人脸识别方法,是一种基于全局特征的人脸识别方法,它基于K-L 分解。基于主成分分析的人脸识别方法首次将人脸看作一个整体,特征提取由手工定义到利用统计学习自动获取是人脸识别方法的一个重要转变[1]。简单的说,它的 原理就是将一高维的向量,通过一个特殊的特征向量矩阵,投影到一个低维的向量空间中,表示为一个低维向量,并不会损失任何信息。即通过低维向量和特征向量矩阵,可以完全重构出所对应的原来高维向量。特征脸方法就是将包含人脸的图像区域看作是一种随机向量,因此,可以采用K-L 变换获得其正交K-L 基底。对应其中较大特征值的基底具有与人脸相似的形状,因此又称为特征脸。利用这些基底的线性组合可以描述、表达和逼近人脸图像,因此可以进行人脸识别与合成。识别过程就是将人脸图像映射到由特征脸张成的子空间上,比较其与己知人脸在特征空间中的位置,从而进行判别。 2、基于PCA 的人脸识别方法 2.1 计算特征脸 设人脸图像f(x,y)为二维N×M 灰度图像,用NM 维向量R 表示。人脸图像训练集为{}|1,2,...,i R i P =,其中P 为训练集中图像总数。这P 幅图像的平均向量为: _ 11P i i R R P ==∑ 对训练样本规范化,即每个人脸i R 与平均人脸_ R 的差值向量: i A =i R -_R (i= 1,2,…,P) 其中列向量i A 表示一个训练样本。 训练图像由协方差矩阵可表示为: T C AA = 其中训练样本NM ×P 维矩阵12[,,...,]P A A A A = 特征脸由协方差矩阵C 的正交特征向量组成。对于NM 人脸图像,协方差矩

相关文档
最新文档