模式识别作业电信

发布 2021-03-07 06:58:28 阅读 7524

课程设计题目。

设计基于k-l变换的特征提取算法,编写程序,分析实验结果,提交报告一份。

报告内容包括: (1)基于k-l变换的特征提取算法的原理;(10分)

2)基于k-l变换的特征提取算法的步骤;(20分)

3)算法流程设计;(20分)

4)算法程序;(20分)

5)程序**;(20分)

6)结果分析。(10分)

一、基于k-l变换的特征提取算法的原理。

k-l变换的定义:将一组离散信号变换为不相关数列的变换方法称为hotelling变换。由于是是和等人提出将连续信号变换为一组不相关数列的,所以也将hotelling变换称为k-v变换。

k-v变换是一种基于目标统计特征的最佳正交变换。它具有一些优良的性质:即变换后产生的矢量更趋确定,能量更集中。

这一方法的目的是寻找任意统计分布的数据集合之主要分量的子集。

设n维矢量x=[x1,x2,x3…],其均值矢量u=e[x],协方差矩阵c=e[(x-u)(x-u)*]此协方差矩阵为对称正定阵,则通过正交分解表示为cx=uaut其中a=diag[1, 2,..u=[u1,u2,..为对应特征值的特征向量组成的变换矩阵,且满足u-1=ut。

变换矩阵ut为旋转矩阵,在此变换矩阵下x变换为y=ut(x-u),在新的真交基空间中,相应的协方差矩阵cx=ucxu=diag[..通过滤应于若干较小特征值的特征向量来给y降维然后进行处理。通常情况下特征值幅度差别很大,忽略一些较小的值并不会引起大的误差。

2、基于k-l变换的特征提取算法的步骤。

1、计算样本的均值u=e[x]和协方差矩阵c=e[(x-u)(x-u)t];

均值。协方差矩阵

2、计算协方差矩阵cx的特征值和特征向量;

为新的特征向量。

3、将样本按新的特征向量进行变换:y=ut(x-u),是数据从四维降到二维;

4、按最小错误率对降维数据进行分类,包括训练和测试。

三、算法流程设计。

1、将原始数据导入,有三类数据,每类20四维个数据;

2、求数据的均值和协方差;

3、对样本数据进行k-l变换,将原数据有四维数据变换为二维数据;

4、得到变换后的二维数据w_k_l;

5、将三组数据的前10个数据用来做样本训练;

6、求取样本数据的均值和协方差;

7、进行样本数据分类测试;

8、任意选取一类数据的后10位数据进行分类测试。

9、使用最小错误贝叶斯判别函数进行判别,判别函数如下:

g(x)=-0.5*(x-u)’*ut*(x-u)-0.5*log|u|

u为协方差,u为均值,x为测试数据;

10、测试数据分类使用t1,t2,t3记录测试数据的分类个数,即分类情况。

4、算法程序。

clear原始数据导入。

iris=load('c:\users\acer\desktop\模式识别\样本数据。txt')

n=60n=60个样本。

求样本均值。

for i=1:n

for j=1:4

w(i,j) =iris(i,j);

endend

sumx=sum(w,1);

for i=1:4

**(1,i)=sumx(1,i)/n;

end求样本协方差矩阵。

var(4,4)=0;

var=cov(w);

v,latent,explained]=pcacov(var);

v=fliplr(v对特征向量按特征值大小从小到大排序。

v(:,1:2去掉最小特征值对应的特征向量。

for i=1:60

w_k_l(i,:)w(i,:)**)*v; %对数据降维。

end求训练样本均值。

m=10;w1_k_l(:,w_k_l(1:m,:)

**1_k_l=sum(w1_k_l,1)/m;

w2_k_l(:,w_k_l(21:30,:)

**2_k_l=sum(w2_k_l,1)/m;

w3_k_l(:,w_k_l(41:50,:)

**3_k_l=sum(w3_k_l,1)/m;

求训练样本协方差矩阵。

var1_k_l=cov(w1_k_l);

var2_k_l=cov(w2_k_l);

var3_k_l=cov(w3_k_l);

var1_k_l_inv=inv(var1_k_l);

var2_k_l_inv=inv(var2_k_l);

var3_k_l_inv=inv(var3_k_l);

var1_k_l_det=det(var1_k_l);

var2_k_l_det=det(var2_k_l);

var3_k_l_det=det(var3_k_l);

进行数据测试。

a=0.5;b=0.5;c=0.5;

ceshi(:,w_k_l(11:20,:)

ceshi(:,w_k_l(31:40,:)

ceshi(:,w_k_l(51:60,:)

t1=0;t2=0;t3=0;

for i=1:10

x=ceshi(i,1);y=ceshi(i,2);%z=ceshi(i,3);

%g1=(-0.5)*(x,y,z]-**1_k_l)*var1_k_l_inv*([x,y,z]'-**1_k_l')-0.5*log(abs(var1_k_l_det));

%g2=(-0.5)*(x,y,z]-**2_k_l)*var2_k_l_inv*([x,y,z]'-**2_k_l')-0.5*log(abs(var2_k_l_det));

%g3=(-0.5)*(x,y,z]-**3_k_l)*var3_k_l_inv*([x,y,z]'-**3_k_l')-0.5*log(abs(var3_k_l_det));

g1=(-0.5)*(x,y]-**1_k_l)*var1_k_l_inv*([x,y]'-**1_k_l')-0.5*log(abs(var1_k_l_det));

g2=(-0.5)*(x,y]-**2_k_l)*var2_k_l_inv*([x,y]'-**2_k_l')-0.5*log(abs(var2_k_l_det));

g3=(-0.5)*(x,y]-**3_k_l)*var3_k_l_inv*([x,y]'-**3_k_l')-0.5*log(abs(var3_k_l_det));

if g2>g3

t2=t2+1;

elset3=t3+1;

endend

5、程序**。

1、取第一类样本数据的后10个,按w1,w2进行分类。

分类正确;取第二类样本数据的后10个,按w1,w2进行分类

分类真确;2、取第一类样本数据的后10个数据,按w1,w3进行分类。

分类正确;取第三类样本数据的后10个数据,按w1,w3进行分类。

分类正确;3、取第二类样本数据的后10个数据,按w2,w3进行分类。

一样本错分到第三类数据,其他分类正确;

取第三类数据的后10个数据,按w2,w3进行分类。

一样本错分到第三类数据,其他分类正确;

6、结果分析。

对于k-l变换,主要目的是减少计算量。提取主要特征量,去掉低分量在本设计中,实验数据为四维数据,通过k-l变换,降低维数,然后再进行分类测试。

1、将最小的一个特征值对应的特征向量去掉,则由四维降为三维,其新的变换矩阵为:

经变换后的向量在三维空间分布如图1

2、将最小的两个特征值对应的特征向量去掉,则由四维降为二维,其新的变换矩阵为:

经变换后的向量在二维空间分布如图2图1图2

由上分析可知经过k-l变换降维,其样本数据的空间分布依然呈现三类分布,由此可知k-l变换确实降低了数据的计算量,简化了数据处理,从四维数据到三维再到二维,依然保留了数据的主要特征。

在**阶段第二类和第三类数据分类出现一样本分类错误,其主要原因主要可能是,训练样本数据不足的原因,因为k-l变换没有确定的变换式,他与变换量有密切的关系,由训练样本训练得出变换矩阵。

附页1%图1绘图程序。

a=w_k_l(1:20,1);

b=w_k_l(1:20,2);

c=w_k_l(1:20,3);

plot3(a,b,c,'rd');

hold on;

d=w_k_l(21:40,1);

e=w_k_l(21:40,2);

f=w_k_l(21:40,3);

plot3(d,e,f,'b+')

hold on;

g=w_k_l(41:60,1);

h=w_k_l(41:60,2);

i=w_k_l(41:60,3);

plot3(g,h,i,'k*')

模式识别作业

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...

模式识别作业

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