当前位置:文档之家› 模式识别实验报告

模式识别实验报告

模式识别实验报告
模式识别实验报告

模式识别与智能信息处理实践

实验一聚类分析

一、实验目的

通过聚类分析实验,加深对聚类分析基本思想、方法的理解和掌握。

二、实验内容

了解动态、静态聚类算法的特点;

熟练掌握k-均值算法或层次聚类算法;

编写能对实际模式样本正确分类的算法程序。

掌握动态聚类算法的基本思想;

认识类别数、初始类心的选择对k-均值算法聚类结果的影响;

编写能对实际模式样本正确分类的k-均值算法程序。

三、方法手段

设类别数为k,选取k个初始聚类中心,按最小距离原则将各模式分配到k类中的某一类,

不断地计算类心和调整各模式的类别使每个模式特征矢量到其所属类别中心的距离平方之和

最小。

四、k-均值算法

(1)从D中随机取k个元素,作为k个簇的各自的中心。

(2)分别计算剩下的元素到k个簇中心的相异度,将这些元素分别划归到相异度最低的簇。(3)根据聚类结果,重新计算k个簇各自的中心,计算方法是取簇中所有元素各自维度的算术平均数。

(4)将D中全部元素按照新的中心重新聚类。

(5)重复第4步,直到聚类结果不再变化。

五、k-均值程序运行结果

(1)改变初始类心,观察对聚类结果的影响

若选初始类心是[1 2 3]时的结果为其分为1类共39个,分为2类共61个,分为3类共

50个,其中被分为第1类的样本为{51 53 78 101 103 104 105 106 108 109 110 111 112 113 116 117 118 119 121 123 125 126 129 130 131 132 133 135 136 137 138 140 141 142 144 145 146 148 149}

被分为第2类的样本为{52 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 102 107 114 115 120 122 124 127 128 134 139 143 147 150}

被分为第3类的样本为{1 2 3 4 5 6 7 8 9 10

11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50}。

若选初始类心是[2 4 5]时其聚类结果为其分为1类共96个,分为2类共22个,分为3

类共个32,其中被分为第1类的样本为{51 52 53 54 55 56 57 59 60 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150}

被分为第2类的样本为{ 2 3 4 7 9 10 13 14 25 26 30 31 35 39 42 43 46 48 58 61 94 99}

被分为第3类的样本为{1 5 6 8 11 12 15 16 17 18 19 20 21 22 23 24 27 28 29 32 33 34 36 37 38 40 41 44 45 47 49 50}。

可见,初始类心的选择对于K均值算法的影响较大。

(2)改变类别数k,比较其对类内距离平方和的大小的影响

若k=3且选初始类心是[1 2 3]时,其最终各类中心的距离为[1.1657 0.8230 4.0783],若k=4且选初始类心是[1 2 3 4]时,其最终各类中心的距离为[1.3049 0.4917 4.0783 1.3928],可见,改变类别数k,其对类内距离平方和的大小有直接的影响,且k

越大,其类内距离平方和距离越小。

六、实验总结

影响k-均值算法结果的因素有:初始类心的选择以及k值的选择,且k-均值算法适用于k

值已知的情况,即类别号已知的情况。

七、Kmeans程序

function y=my_Kmeans(k,mid)

k=3;%类数

mid=[1 2 3]; %随便给三个聚类中心

%从文本文件读入数据放入X中

load fisheriris;X=meas;k=3;mid=[1 2 3]; %Iris测试数据集

num=size(X,1);%获得X维数大小

for i=1:k

Z(i,:)=X(mid(i),:);%获取k个聚类中心的初始坐标

end

%计算新的聚类中心,K-均值算法的核心部分

temp=[];

while(~isequal(Z,temp)) %聚类中心是否变化,若不变化则停止循环

temp=Z;

class=cell(k,1);%初始化类样本class

value=cell(k,1);%初始化类样本的坐标value

for j=1:num

for t=1:k

D(t)=dist(X(j,:),Z(t,:)');%计算每个样本到类中心的距离 [minu,index]=min(D);%求出离聚类中心最小的一个样本

end

class{index}=cat(1,class{index},j);%将该样本归于一类

value{index}=cat(1,value{index},X(j,:));%存放该类样本的坐标 end

for i=1:k

Z(i,:)=mean(value{i});%计算k类样本的均值,更新聚类中心

end

end

celldisp(class);%显示Kmeans聚类结果

D %显示最终类间距离

实验二 判别域代数界面方程法

一、实验目的

通过实验加深对判别域代数界面方程法基本思想、方法的认识,了解线性判别函数的分类能力,熟练掌握感知器算法,或H-K 算法,或累积势函数分类法,以及它们各自的适用条件,加深对有监督训练、线性可分、解空间、权空间等概念的理解,编写能对实际模式样本正确分类的算法程序。 二、实验内容

编写能对实际模式样本正确分类的感知器算法,或H-K 算法,或累积势函数分类法的算法程序,能对实际模式样本进行正确分类。 三、方法手段

设已知类别模式特征矢量集为{x 1,x 2,…,x N },类别数为c 。

感知器算法是基于一次准则函数的梯度下降法。从任意初始解矢量w 0出发,利用产生错分的样本对解矢量进行迭代校正:w k =w k-1+ρx i ,i=1,2,…,c,k=0,1,2…,ρ=常数,从而解得线性判决函数d(x )=w ’x 的解矢量w . 四、感知器算法 1、算法思想

校正方法实际上是最优化技术中的负梯度下降法。该算法也是人工神经网络理论中的线性阈值神经元的学习算法。 2、算法原理步骤 设给定一个增广的训练模式集{}N x x x ,,,21,其中每个模式类别已知,它们分属1ω类和2

ω类。

(1) 置步数1=k ,令增量=ρ某正的常数,分别赋给增广权矢量初值)1(w 的各分量较小的任

意值。

(2) 输入训练模式k x

。 (3)计算判别函数值

k x k w )('。 (4)调整增广权矢量,规则是

① 如果1ω∈k x 和0)(≤'k x k w ,则

k x k w k w

ρ+=+)()1(;(偏小,故加) ② 如果2ω∈k x 和0)(≥'k x k w

,则

k x k w k w ρ-=+)()1(;(偏大,故减) ③ 如果1ω∈k x 和0)(>'k x k w ,或2ω∈k x 和0)(<'k x k w ,则)()1(k w k w

=+。(分类正确,不校正)

(5)令1+=k k 。如果N k ≤,返至⑵。如果N k >,检验判别函数x w '对N x x x ,,,2

1是否都能正确分类。若是,结束;若不是,令1=k ,返至(2)。

如果训练模式已经符号规范化,即2ω∈k x 已乘以-1(包括增广分量1),则校正权矢量的规则可统一为

???ρ+=+k x k w k w k w )()()1(

)(0)()

(0)(错误分类若正确分类若≤'>'k k x k w x k w

在用全部模式训练完一轮后只要还有模式被判错,则需要进行第二轮迭代,用全部训练模式再训练一次,建立新的权矢量。如果对训练模式还有错分的,则进行第三轮迭代,余类推,

直至对所有训练模式均能正确分类为止,此时的w

即为所求的权矢量。 五、感知器算法实验结果

(1)改变权矢量初值,观察对算法的影响

已知w1:X1=(0 0)’,X2=(1 0)’,X3=(1 1)’,X4=(1 2)’;

w2:X5=(1 3)’,X6=(2 3)’,X7=(3 2)’,X8=(3 3)’, 若步长因子ρ=1不变,权初始值取w=[0 0 0],则需迭代eth0=15步,若权初始值取w=[1 1 1],则需迭代eth0=18步,可见,权初始值选取的不同,将直接导致算法的收敛速度不同。 (2)改变步长因子ρ,观察对算法的影响

若权初始值取w=[0 0 0]不变,取步长因子ρ=1,则需迭代eth0=15步,若取步长因子ρ=0.1,则需迭代eth0=16步,可见,步长因子ρ选取的不同,也将直接导致算法的收敛速度不同。 (3)算法的适用性

若已知w1:X1=(1 3)’,X2=(2 3)’,X3=(1 1)’,X4=(1 2)’;

w2:X5=(0 0)’,X6=(1 0)’,X7=(3 2)’,X8=(3 3)’,则导致该程序死循环,可

见,感知器算法只适用两类样本线性可分的条件下(图1),若希望在两类样本线性不可分的条件下,构造一判决平面,则可考虑使用势函数。

图1 感知器算法分类结果

图2 线性不可分的情况

六、实验程序

function y=my_preception(W1,W2)

%感知器算法,对两类问题生成线性判别函数

%注意:前提是两类可线性判别,否则将死循环%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

W1=[0 0;1 0;1 1;1 2];%w1类中的样本

W2=[1 3;2 3;3 2;3 3];%w2类中的样本

%%%%%%初始化

w=[0 0 0]; %任取w初值

c=1; %任取校正增量系数c=1;

%%%%%%感知器算法部分%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%增广样本w1和w2乘(-1)

[m,n]=size(W1);

for i=1:m

W1(:,n+1)=1;%w1增广

end

[m,n]=size(W2);

for i=1:m

W2(:,n+1)=1;%w2增广

end

W2=-W2;%取反

%将增广向量转换成元组,便于处理

M=ones(1,m);

w1=mat2cell(W1,M,n+1);

w2=mat2cell(W2,M,n+1);

X=cat(1,w1,w2);%合并两类增广样本%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

eth0=0; %迭代次数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%感知器算法核心部分

[m,n]=size(X);

temp1=[];temp2=1;%随意两个赋不等的值

while(~isequal(temp1,temp2)) %判断权值是否变换化,若不变化,则终止循环 eth0=eth0+1;

temp2=temp1;

clear temp1;%不清除此变量不行啊!!

for i=1:m

temp1{i,1}=w;

if(w*X{i}'<=0) %w乘X{i}的转置

w=w+c*X{i}; %若小于0更新权值

end

end

end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

w %显示线性分类器权值

eth0 %显示迭代次数

实验三 Bayes 分类器设计

一、实验目的

通过实验,加深对统计判决与概率密度估计基本思想、方法的认识,了解影响Bayes 分类器性能的因素,掌握基于Bayes 决策理论的随机模式分类的原理和方法。 二、实验内容

设计Bayes 决策理论的随机模式分类器。 三、方法手段

Bayes 分类器的基本思想是依据类的概率、概密,按照某种准则使分类结果从统计上讲是最佳的。换言之,根据类的概率、概密将模式空间划分成若干个子空间,在此基础上形成模式分类的判决规则。准则函数不同,所导出的判决规则就不同,分类结果也不同。使用哪种准则或方法应根据具体问题来确定。 四、Bayes 算法 1.实验原理

多元正太分布的概率密度函数由下式定义

1

1

22

11()exp ()()2(2)T d p X X X μμπ-??=--∑-????

∑ 由最小错误概率判决规则,可得采用如下的函数作为判别函数

()(|)(),

1,2,,i i i g x p X P i N ωω==

这里,()i P ω为类别i ω发生的先验概率,(|)i p X ω为类别i ω的类条件概率密度函数,而N 为类别数。

设类别i ω,i=1,2,……,N 的类条件概率密度函数(|)i p X ω,i=1,2,……,N 服从正态分布,即有(|)i p X ω~(,)i i N μ∑,那么上式就可以写为

112

2

()1()exp ()(),

1,2,,2(2)T i i d

P g X X X i N ωμμπ-??=

--∑-=????

由于对数函数为单调变化的函数,用上式右端取对数后得到的新的判别函数替代原来的判别函数()i g X 不会改变相应分类器的性能。因此,可取

111()()()ln ()ln ln(2)222

T i i i i i i d

g X X X P μμωπ-=--∑-+-∑-

显然,上式中的第二项与样本所属类别无关,将其从判别函数中消去,不会改变分类结果。

这样,判别函数()i g X 可简化为以下形式

111

()()()ln ()ln 22

T i i i i i i g X X X P μμω-=--∑-+-∑

2.实验步骤

1、求出两类样本的均值

11,2i

X i

X i N ω

μ∈

=

=∑

2、求每一类样本的协方差矩阵

1

1()()

,1,21i i

i N w w i jk

lj j lk k l i s x x j k N μμ==--=-∑

式中,l 代表样本在类中的序号,其中

lj x 代表i w 类的第l 个样本,第j 个特征值;

i

w j μ代表i w 类的i N 个样品第j 个特征的平均值

lk x 代表i w 类的第l 个样品,第k 个特征值;

i

w k μ代表i w 类的i N 个样品第k 个特征的平均值。

i w 类的协方差矩阵为

1112

2122i i

i i

i ??∑∑∑= ?

∑∑??

3、计算出每一类的协方差矩阵的逆矩阵1i -∑以及协方差矩阵的行列式i ∑

4、求出每一类的先验概率

()/1,2i i P N N i ω≈=

5、将各个数值代入判别函数

111

()()()ln ()ln 22

T i i i i i i g X X X P μμω-=--∑-+-∑

判别边界为

12()()0g X g X -=

五、Bayes 分类器实验结果

已知(图1)数据a=[0.3760 0.0240 0.2440 -0.1740 0.0460 -0.3940 0.3760 0.7720 0.2660 0.5080 -0.4380 -0.0640 0.8160 0.5960

0.1120 0.3540 0.8380 -0.7680 0.4200 -0.7900];其满足正态分布(图2)。 1. 最小错误率贝叶斯决策

图1 样本数据

图2 样本的类条件概率

根据最小错误率准侧,计算其后验条件概率(图3),通过程序运行出结果细胞分类结果为:

1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0,其中,0为判成正常细胞,1为判成异常细胞。

图3 后验条件概率

2. 最小风险贝叶斯决策

根据最小风险判别准侧,其损失函数赋值为r=[0 1000 0;200 0 0],则计算其条件风险概率(图4)通过程序运行出结果细胞分类结果为:

1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1,其中,0为判成正常细胞,1为判成异常细胞。

图4 条件风险概率

3.两类分类器结果不同原因分析

由最小错误率的贝叶斯判决和基于最小风险的贝叶斯判决得出图形中的分类结果可以看出,样本0.0240,0.2440等在前者中被分为“正常细胞”,在后者被分为“异常细胞”,分类结果不同。因为在给予最小风险贝叶斯判决中,影响决策结果的因素多了损失r这一项,所以当结合最小风险贝叶斯决策表进行计算时,‘损失’起了主导作用,导致出现两者结果的不

一致。

六、Bayes分类器程序代码

function y=my_bayes(n,a) %%%%%%%%%%%%%最小错误率贝叶斯决策

% 构造实验数据

n=20; % 样本数

a=(round(100*rand(n,1))/100)*2.2 -0.9;

% 样本数为n,特征数为1,数据在-0.9与1.3之间

figure

plot(1:n,a,'rx')

xlabel('样本数');

ylabel('生化化验值');

title('样本数据:生化化验值'); pause;

% 先验概率

P=[0.9 0.1];

% 作类条件概率密度曲线p(x|wi)

x=-0.9:0.01:1.3;

px(1,:)=(1/(sqrt(2*pi)*0.3))*exp (-0.5*(x/0.3).^2);

px(2,:)=(1/(sqrt(2*pi)*0.1))*exp (-0.5*((x-1)/0.1).^2);

figure;

plot(x,px(1,:),'b',x,px(2,:),'r--');

xlabel('生化化验值');

ylabel('概率密度');

title('类条件概率密度曲线')

axis tight;

pause;

% 作后验概率曲线

for i=1:2

pwx(i,:)=px(i,:)*P(i)./(px(1,:)* P(1)+px(2,:)*P(2));

end

figure;

plot(x,pwx(1,:),'b',x,pwx(2,:),' r--');

xlabel('生化化验值'); ylabel('后验概率');

title('后验概率曲线')

axis tight;

pause;

% 计算给定生化化验值的类条件概率密度曲线

for j=1:n

s=a(j);

PXW1=spline(x,px(1,:),s);

PXW2=spline(x,px(2,:),s);

PXW=[PXW1,PXW2];

disp('样本')

s

%计算后验概率,判断输出

for i=1:2

Pwx(i)=PXW(i)*P(i)/(PXW(1)*P(1)+ PXW(2)*P(2));

end

disp('后验概率 P(wi|x)=')

Pwx

plot(x,pwx(1,:),'b',x,pwx(2,:),' r--');

xlabel('生化化验值');

ylabel('后验概率');

title('后验概率曲线')

hold on

plot(s,Pwx(1),'or',s,Pwx(2),'ob' );

axis tight;

hold off

if Pwx(1)>Pwx(2)

w(j,1)=s;

disp('正常人')

else

w(j,2)=s;

disp('感染病人')

end

pause;

end

disp('========================== ==============')

disp('正常人感染病人')

w

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %最小风险贝叶斯

n=20; % 样本数

figure

plot(1:n,a,'rx')

xlabel('样本数');

ylabel('生化化验值');

title('样本数据:生化化验值'); pause;

% 先验概率

P=[0.9 0.1];

% 作类条件概率密度曲线p(x|wi) x=-0.9:0.01:1.3;

px(1,:)=(1/(sqrt(2*pi)*0.3))*exp (-0.5*(x/0.3).^2);

px(2,:)=(1/(sqrt(2*pi)*0.1))*exp (-0.5*((x-1)/0.1).^2);

figure;

plot(x,px(1,:),'b',x,px(2,:),'r--');

xlabel('生化化验值');

ylabel('概率密度');

title('类条件概率密度曲线') axis tight;

pause;

% 作后验概率曲线

for i=1:2

pwx(i,:)=px(i,:)*P(i)./(px(1,:)* P(1)+px(2,:)*P(2));

end

figure;

plot(x,pwx(1,:),'b',x,pwx(2,:),' r--'); xlabel('生化化验值');

ylabel('后验概率');

title('后验概率曲线')

axis tight;

pause;

% 损失函数

r=[0 1000 0;200 0 0];

%作条件风险曲线

for i=1:2

R(i,:)=r(i,1)*pwx(1,:)+r(i,2)*pw x(2,:);

end

figure;

plot(x,R(1,:),'b',x,R(2,:),'r--' );

xlabel('生化化验值');

ylabel('条件风险');

title('条件风险曲线')

axis tight;

pause;

% 计算给定生化化验值的条件风险for j=1:n

s=a(j);

PXW1=spline(x,px(1,:),s); PXW2=spline(x,px(2,:),s); PXW=[PXW1,PXW2];

disp('样本')

s

%计算后验概率

for i=1:2

Pwx(i)=PXW(i)*P(i)/(PXW(1)*P(1)+ PXW(2)*P(2));

end

%计算条件风险,判断输出

for i=1:2

Rx(i,:)=r(i,1)*Pwx(1)+r(i,2)*Pwx (2);%%%%%

end

disp('条件风险 R(ai|x)=')

Rx

plot(x,R(1,:),'b',x,R(2,:),'r--' );

xlabel('生化化验值');

ylabel('条件风险');

title('条件风险曲线')

hold on

plot(s,Rx(1),'or',s,Rx(2),'ob'); axis tight;

hold off if Rx(1)>Rx(2)

w(j,1)=s;

disp('正常人')

else

w(j,2)=s;

disp('感染病人')

end

pause;

end

disp('========================== ==============')

disp('正常人感染病人')

w

实验四 特征提取与选择

一、实验目的

通过实验加深对特征提取与选择原理、方法的认识,编写基于离散K-L 变换的特征提取程序,或分支定界特征挑选算法程序,掌握离散K-L 变换原理、特点。编写基于离散K-L 变换的特征提取程序。 二、实验内容

编写基于离散K-L 变换的特征提取程序,主要使用主成分分析法(PCA )进行图像识别。 三、方法手段

设n 维特征矢量x =(x 1,x 2,…,x n )’,其均值矢量m =E[x ],协方差矩阵C=E[(x -m )(x -m )’],设λ1≥λ2≥…≥λn 是C 的本征值, t i 是λi 对应的本征矢量,i=1,2,…,n. x 经标准正交矩阵T ’=(t 1,t 2,…,t n )’正交变换后成为矢量y =(y 1,y 2,…,y n )’,即,y = T ’x 。这种正交变换称为离散K-L 变换(间记为DKLT )。

DKLT 的性质:

(1)变换后y 各分量正交或不相关;

(2)变换后y 各分量的方差更趋于不均匀,可分性强于x ;

(3)最佳逼近性,即,若用y 的前d

特征脸方法是基于K-L 变换的人脸识别方法,K-L 变换是图像压缩的一种最优正交变换。高维的图像空间经过K-L 变换后得到一组新的正交基,保留其中重要的正交基,由这些基可以张成低维线性空间。如果假设人脸在这些低维线性空间的投影具有可分性,就可以将这些投影用作识别的特征矢量,这就是特征脸方法用于人脸识别的基本思想。在人脸识别中,可以用离散K-L 变换对人脸图像的原始空间进行转换,即构造人脸图像数据集的协方差矩阵,对之进行正交变换,求出协方差矩阵的特征向量,再依据特征值的大小对这些特征向量进行排序,每一个向量表示人脸图像中一个不同数量的变量,这些特征向量表示特征的一个集合,它们共同表示一个人脸图像。在人脸识别领域,人们常称这些特征向量为特征脸。每一个体人脸图像都可以确切地表示为一组特征脸的线性组合。这样我们首先通过有指导的训练(给定训练样本集已知分类)得到样本集在特征脸空间中的坐标。训练完成后,输入待辨识图像,求得在特征脸空间的坐标,采用最近邻法,就可以实现人脸识别。一般说K-L 变换是均方差意义下的最佳变换,理论推导如下。

假设任何信号X 都可以被表示为:

∑∞

==1i i i u c X ,其中?

??≠==j i j

i u u j T

i

,0,1 (1.1)

K-L 变换是一种正交变换,即将一个向量X ,在某一种坐标系统中得描述,转换成用另一种基向量组成的坐标系表示。这组基向量是正交的,其中每个坐标基向量

用u i 表示,c i 为其分量数值,变换的目的是如何将(1.1)表示的无限多维基向量系统改成有限d 维坐标系近似。如X 的近似值或者估计量表示为:

∑==d

i i i u c X 1

? (1.2)

要使向量X 的估计量误差小,即使引起的均方误差

[]

)?()?(X X X

X E T --=ε (1.3) 为最小,而K-L 变换就实现了这个目的,下面详细证明。

求某一个数据X 的相应的ci 值,可以通过X 与对应某个基u i 的点积来计算。由

于不同的基之间是相互正交的,这个点积值就是c i

的值,即X

u c T

i i =,如果我

们要求一组系数c i ,并将其表示成一个向量形式T c c C ,...),(21=,则我们可以

得:

UX X u u C T T

=???

?

? ??=...21 (1.4)

则U 就是一个变换矩阵,其中每一行是某一个正交基向量的转置,由X 计算C 称为对X 的分解。反过来,如果我们希望用C 重构信号X ,则根据(1.2),它是各个成分

之和。如果我们将重构信号表示为T d x x x X

),...,,(?21=,则

()C

U c c c u u u x x X T d d d =?

?????

?

??=?????

??= 21211,..,,? (1.5) 我们称∑∞

+==-1?d i i i u c X X 为残差,带进(1.3)中我们可以得到:

[

][][]

∑∑∑∞+=∞+=∞+==?=--=12

11)?()?(d i i d i d j T j j T i i T c E u c u c E X X X X E ε另外:i T

j j T i j j j j T i T i i u X u u c u c u X u c ∑∑∞

=∞

=====11,

故:

21111[]T T T T i i i i i i d i d i d T

i

i

i d E c E u XX u u E XX u u u ∞∞∞=+=+=+∞

=+????==????

=ψ∑∑∑∑

欲使该均方误差为最小,就变成在保证正交变换的条件下,使ε最小的问题, 设一函数: ,并对其进行求导可

∞+==-ψ,...,1,0)(d i u I i i λ (1.6)

可见向量u i 应是ψ矩阵的特征值i λ的特征向量,而此时截断误差为

∑∞

+==1d i i λε,如将按其大小顺序排列,即 ≥≥≥≥d λλλ21,则取前d 项特征值对应的特征向量组成的坐标系,可使向量的均方误差为最小。满足上述条件

的变换就是K-L 变换。

五、K-L 变换人脸识别实验结果分析 1.数据准备

本实验数据是ORL 标准人脸数据库数据

1)给定样本集,在这里样本集的大小为400,一共是40人,每人10张图片。我选取每人5张图片一共200张作为训练集,训练集的大小是可选的,它的大小将直接影响到识别的正确率,在后面我对采用不同大小的训练集进行识别的正确率进行了统计。

2)确定采用何种产生矩阵,有总体散布矩阵{()()}T E x x μμ--和类间散布矩阵1

0()()()p T b i i i i S p ωμμμμ-==--∑,后面的例子程序中分别采用了这两种产生矩

阵,并进行了识别正确率的比较。

3)根据产生矩阵计算出特征脸,这里要用到奇异值分解,其基本原理就是通过计算较低维数矩阵的特征值与特征向量而间接求出较高维数矩阵的特征向量(特征脸),从而达到简化计算的目的。

4)分别求得训练集中各图像在特征脸空间中的坐标。 2.识别过程

首先求得待辨识图像相对于训练集平均脸的差值图像,然后求得该图像在特征脸空间中的坐标,最后采用最近邻法对图像进行归类。

3.实验结果

(1)训练样本的过程中生成的一些特征脸(图1)。

∑∞

+=∞+=--ψ=11)1()(d i i T i i d i i T

i i u u u u u g λ

图1 训练样本的过程中生成的一些特征脸(2)识别的正确率统计

图2 基于两种产生矩阵的识别正确率统计

4.实验结论

通过对分别采用类间散布矩阵和总体散布矩阵为产生矩阵的K-L变换进行人脸识别的正确率的统计可以看出,应用总体散布矩阵作为产生矩阵的K-L变换进行人脸识别的正确率明显要高。我想主要是因为类间散布矩阵采用每个人的平均图像向量组成训练集,来生成特征脸空间,计算量较之采用总体散布矩阵作为产生矩阵的K-L变换计算量又进一步减少,但是它忽略了每个人的图像的多样性,造成识别率低。以总体散布矩阵作为产生矩阵的K-L变换进行人脸识别的计算量较之采用类间散布矩阵作为产生矩阵的K-L变换要大一些,但是它充分考虑了每个人图像的多样性,使得识别率相对较高。

相关的程序以及图像可到https://www.doczj.com/doc/6f13615110.html,/detail/xuyouquan206/4941764去下载。

六、实验程序

function y=mypca() %%%%%%%%%%%%%%%%%%%%%%%%%PCA算法对人脸图像处理提取主成分程序

path = ['.\']; %提取目录

%读取图像

numimage=400; %40*10=400张人脸

imagepath=[path 'ORL\ORL001' '.bmp']; %第一张人脸文件的路径及文件名:D:\PCA\ORL\ORL001.bmp

immatrix=imread(imagepath); % 读入第一张人脸文件,构成矩阵immatrix [m,n]=size(immatrix); % 计算矩阵immatrix的行数m、列数n

DATA = uint8 (rand(m*n, numimage)); %随机生成m*n行、numimage列的矩阵,并取uint8

for i=1:numimage

s1=floor(i/100); % 取整,求第3位

tem=rem(i,100); % i除以100的余数,取后两位

s2=floor(tem/10); % 取第2位

s3=rem(tem,10); % 取第1位

imagepath=[path 'ORL\ORL' int2str(s1) int2str(s2) int2str(s3) '.bmp']; % 构成图像文件的路径即文件名

immatrix=imread(imagepath); % 读入每一张人脸文件,构成矩阵immatrix

imVector=reshape(immatrix,m*n,1); % 将矩阵immatrix转化为一个列向量,长度为m*n

DATA(:,i)=imVector; % 将列向量imVector依次加入到DATA矩阵的列中.DATA先随机生成过的

end

clear i;clear j;

save DATA DATA; % 保存DATA

mn=mean(double(DATA'))'; % 计算DATA的行向量的均值

save mn mn; % 保存DATA的行向量的均值

%image substracted by mean of all train images

DATAzeromean=double(DATA)-repmat(mn,1,numimage);

save DATAzeromean DATAzeromean;

clear DATA;

L=DATAzeromean'*DATAzeromean;

[V,D]=eig(L);

enginvalue=diag(D);

[enginvalue,ix]=sort(enginvalue);%按升序排列矩阵元素

ix=flipud(ix);%从上到下翻转矩阵,即按降序

V=V(:,ix); %对V的特征向量位置调整

facespace=DATAzeromean*V; %脸空间

for t=1:numimage

facespace(:,t)=facespace(:,t)/norm(facespace(:,t));%Normalisation

to unit length

end

subdim=200;

facespace=facespace(:,1:subdim);%选择子特征向量的协方差矩阵---facespace是400*200维,即前200个样本

模式识别实验指导书

类别1234 样本x 1x 2x 1x 2x 1x 2x 1x 2 10.1 1.17.1 4.2-3.0-2.9-2.0-8.4 2 6.87.1-1.4-4.30.58.7-8.90.23-3.5-4.1 4.50.0 2.9 2.1-4.2-7.74 2.0 2.7 6. 3 1.6-0.1 5.2-8.5-3.25 4.1 2.8 4.2 1.9-4.0 2.2-6.7-4.06 3.1 5.0 1.4-3.2-1.3 3.7-0.5-9.27-0.8-1.3 2.4-4.0-3. 4 6.2-5.3-6.7 80.9 1.2 2.5-6.1-4.1 3.4-8.7-6.4 9 5.0 6.48.4 3.7-5.1 1.6-7.1-9.7 10 3.9 4.0 4.1-2.2 1.9 5.1-8.0-6.3 实验一 感知器准则算法实验 一、实验目的: 贝叶斯分类方法是基于后验概率的大小进行分类的方法,有时需要进行概率密度函数的估计,而概率密度函数的估计通常需要大量样本才能进行,随着特征空间维数的增加,这种估计所需要的样本数急剧增加,使计算量大增。 在实际问题中,人们可以不去估计概率密度,而直接通过与样本和类别标号有关的判别函数来直接将未知样本进行分类。这种思路就是判别函数法,最简单的判别函数是线性判别函数。采用判别函数法的关键在于利用样本找到判别函数的系数,模式识别课程中的感知器算法是一种求解判别函数系数的有效方法。本实验的目的是通过编制程序,实现感知器准则算法,并实现线性可分样本的分类。 二、实验内容: 实验所用样本数据如表2-1给出(其中每个样本空间(数据)为两维,x 1表示第一维的值、x 2表示第二维的值),编制程序实现1、 2类2、 3类的分类。分析分类器算法的性能。 2-1 感知器算法实验数据 具体要求 1、复习 感知器算法;2、写出实现批处理感 知器算法的程序1)从a=0开 始,将你的程序应用在和的训练数据上。记下收敛的步数。2)将你的程序应用在和类上,同样记下收敛的步数。3)试解释它们收敛步数的差别。 3、提高部分:和的前5个点不是线性可分的,请手工构造非线性映射,使这些点在映射后的特征空间中是线性可分的,并对它们训练一个感知

模式识别实验报告

模式识别实验报告

————————————————————————————————作者:————————————————————————————————日期:

实验报告 实验课程名称:模式识别 姓名:王宇班级: 20110813 学号: 2011081325 实验名称规范程度原理叙述实验过程实验结果实验成绩 图像的贝叶斯分类 K均值聚类算法 神经网络模式识别 平均成绩 折合成绩 注:1、每个实验中各项成绩按照5分制评定,实验成绩为各项总和 2、平均成绩取各项实验平均成绩 3、折合成绩按照教学大纲要求的百分比进行折合 2014年 6月

实验一、 图像的贝叶斯分类 一、实验目的 将模式识别方法与图像处理技术相结合,掌握利用最小错分概率贝叶斯分类器进行图像分类的基本方法,通过实验加深对基本概念的理解。 二、实验仪器设备及软件 HP D538、MATLAB 三、实验原理 概念: 阈值化分割算法是计算机视觉中的常用算法,对灰度图象的阈值分割就是先确定一个处于图像灰度取值范围内的灰度阈值,然后将图像中每个像素的灰度值与这个阈值相比较。并根据比较的结果将对应的像素划分为两类,灰度值大于阈值的像素划分为一类,小于阈值的划分为另一类,等于阈值的可任意划分到两类中的任何一类。 最常用的模型可描述如下:假设图像由具有单峰灰度分布的目标和背景组成,处于目标和背景内部相邻像素间的灰度值是高度相关的,但处于目标和背景交界处两边的像素灰度值有较大差别,此时,图像的灰度直方图基本上可看作是由分别对应于目标和背景的两个单峰直方图混合构成。而且这两个分布应大小接近,且均值足够远,方差足够小,这种情况下直方图呈现较明显的双峰。类似地,如果图像中包含多个单峰灰度目标,则直方图可能呈现较明显的多峰。 上述图像模型只是理想情况,有时图像中目标和背景的灰度值有部分交错。这时如用全局阈值进行分割必然会产生一定的误差。分割误差包括将目标分为背景和将背景分为目标两大类。实际应用中应尽量减小错误分割的概率,常用的一种方法为选取最优阈值。这里所谓的最优阈值,就是指能使误分割概率最小的分割阈值。图像的直方图可以看成是对灰度值概率分布密度函数的一种近似。如一幅图像中只包含目标和背景两类灰度区域,那么直方图所代表的灰度值概率密度函数可以表示为目标和背景两类灰度值概率密度函数的加权和。如果概率密度函数形式已知,就有可能计算出使目标和背景两类误分割概率最小的最优阈值。 假设目标与背景两类像素值均服从正态分布且混有加性高斯噪声,上述分类问题可以使用模式识别中的最小错分概率贝叶斯分类器来解决。以1p 与2p 分别表示目标与背景的灰度分布概率密度函数,1P 与2P 分别表示两类的先验概率,则图像的混合概率密度函数可用下式表示为

模式识别第二次上机实验报告

北京科技大学计算机与通信工程学院 模式分类第二次上机实验报告 姓名:XXXXXX 学号:00000000 班级:电信11 时间:2014-04-16

一、实验目的 1.掌握支持向量机(SVM)的原理、核函数类型选择以及核参数选择原则等; 二、实验内容 2.准备好数据,首先要把数据转换成Libsvm软件包要求的数据格式为: label index1:value1 index2:value2 ... 其中对于分类来说label为类标识,指定数据的种类;对于回归来说label为目标值。(我主要要用到回归) Index是从1开始的自然数,value是每一维的特征值。 该过程可以自己使用excel或者编写程序来完成,也可以使用网络上的FormatDataLibsvm.xls来完成。FormatDataLibsvm.xls使用说明: 先将数据按照下列格式存放(注意label放最后面): value1 value2 label value1 value2 label 然后将以上数据粘贴到FormatDataLibsvm.xls中的最左上角单元格,接着工具->宏执行行FormatDataToLibsvm宏。就可以得到libsvm要求的数据格式。将该数据存放到文本文件中进行下一步的处理。 3.对数据进行归一化。 该过程要用到libsvm软件包中的svm-scale.exe Svm-scale用法: 用法:svmscale [-l lower] [-u upper] [-y y_lower y_upper] [-s save_filename] [-r restore_filename] filename (缺省值:lower = -1,upper = 1,没有对y进行缩放)其中,-l:数据下限标记;lower:缩放后数据下限;-u:数据上限标记;upper:缩放后数据上限;-y:是否对目标值同时进行缩放;y_lower为下限值,y_upper为上限值;(回归需要对目标进行缩放,因此该参数可以设定为–y -1 1 )-s save_filename:表示将缩放的规则保存为文件save_filename;-r restore_filename:表示将缩放规则文件restore_filename载入后按此缩放;filename:待缩放的数据文件(要求满足前面所述的格式)。缩放规则文件可以用文本浏览器打开,看到其格式为: y lower upper min max x lower upper index1 min1 max1 index2 min2 max2 其中的lower 与upper 与使用时所设置的lower 与upper 含义相同;index 表示特征序号;min 转换前该特征的最小值;max 转换前该特征的最大值。数据集的缩放结果在此情况下通过DOS窗口输出,当然也可以通过DOS的文件重定向符号“>”将结果另存为指定的文件。该文件中的参数可用于最后面对目标值的反归一化。反归一化的公式为: (Value-lower)*(max-min)/(upper - lower)+lower 其中value为归一化后的值,其他参数与前面介绍的相同。 建议将训练数据集与测试数据集放在同一个文本文件中一起归一化,然后再将归一化结果分成训练集和测试集。 4.训练数据,生成模型。 用法:svmtrain [options] training_set_file [model_file] 其中,options(操作参数):可用的选项即表示的涵义如下所示-s svm类型:设置SVM 类型,默

模式识别实验指导书

实验一、基于感知函数准则线性分类器设计 1.1 实验类型: 设计型:线性分类器设计(感知函数准则) 1.2 实验目的: 本实验旨在让同学理解感知准则函数的原理,通过软件编程模拟线性分类器,理解感知函数准则的确定过程,掌握梯度下降算法求增广权向量,进一步深刻认识线性分类器。 1.3 实验条件: matlab 软件 1.4 实验原理: 感知准则函数是五十年代由Rosenblatt 提出的一种自学习判别函数生成方法,由于Rosenblatt 企图将其用于脑模型感知器,因此被称为感知准则函数。其特点是随意确定的判别函数初始值,在对样本分类训练过程中逐步修正直至最终确定。 感知准则函数利用梯度下降算法求增广权向量的做法,可简单叙述为: 任意给定一向量初始值)1(a ,第k+1次迭代时的权向量)1(+k a 等于第k 次的权向量)(k a 加上被错分类的所有样本之和与k ρ的乘积。可以证明,对于线性可分的样本集,经过有限次修正,一定可以找到一个解向量a ,即算法能在有限步内收敛。其收敛速度的快慢取决于初始权向量)1(a 和系数k ρ。 1.5 实验内容 已知有两个样本空间w1和w2,这些点对应的横纵坐标的分布情况是: x1=[1,2,4,1,5];y1=[2,1,-1,-3,-3]; x2=[-2.5,-2.5,-1.5,-4,-5,-3];y2=[1,-1,5,1,-4,0]; 在二维空间样本分布图形如下所示:(plot(x1,y1,x2,y2))

-6-4-20246 -6-4 -2 2 4 6w1 w2 1.6 实验任务: 1、 用matlab 完成感知准则函数确定程序的设计。 2、 请确定sample=[(0,-3),(1,3),(-1,5),(-1,1),(0.5,6),(-3,-1),(2,-1),(0,1), (1,1),(-0.5,-0.5),( 0.5,-0.5)];属于哪个样本空间,根据数据画出分类的结果。 3、 请分析一下k ρ和)1(a 对于感知函数准则确定的影响,并确定当k ρ=1/2/3时,相应 的k 的值,以及)1(a 不同时,k 值得变化情况。 4、 根据实验结果请说明感知准则函数是否是唯一的,为什么?

2014春《文献检索》实验指导书-机械类六个专业-(需要发送电子稿给学课件

《文献检索》实验指导书 刘军安编写 适用专业:机械类各专业 总学时:24~32学时 实验学时:6~14 机械设计与制造教研室 2014. 3

一、课程总实验目的与任务 《文献检索》课程实验是机械学院机械类专业的选修课的实验。通过实验内容与过程,主要培养学生在信息数字化、网络化存储环境下信息组织与检索的原理、技术和方法,以及在数字图书馆系统和数字信息服务系统中检索专业知识的能力,辅助提高21世纪大学生人文素质。通过实验,使学生对信息检索的概念及发展、检索语言、检索策略、检索方法、检索算法、信息检索技术、网络信息检索原理、搜索引擎、信息检索系统的结构、信息检索系统的使用、信息检索系统评价以及所检索信息的分析等技术有一个全面熟悉和掌握。本实验主要培养和考核学生对信息检索基本原理、方法、技术的掌握和知识创新过程中对知识的检索与融合能力。实验主要侧重于培养学生对本专业技术原理和前言知识的信息检索能力,引导学生应理论联系实际,同时要了解本专业科技信息的最新进展和研究动态与走向。 二、实验内容 通过课程的学习,结合老师给出的检索主题,学生应该完成以下内容的实验: 实验一:图书馆专业图书检索(印刷版图书) 实验二:中文科技期刊信息检索 实验三:科技文献数据库信息检索 实验四:网络科技信息检索(含报纸和网络) 文献检索参考主题: 1.工业工程方向: 工业工程;工业工程师的素质、精神、修养、气质与能力;工业工程的本质;企业文化与工业工程;战略工程管理;工程哲学;创新管理;生产管理;品质管理;优化管理或管理的优化;零库存;敏捷制造;敏捷管理;(优秀的、现代的、或未来的)管理哲学;生产管理七大工具;质量管理;设备管理;基础管理;现场管理;六西格玛管理;生产线平衡;工程经济;系统哲学;系统管理;柔性制造;看板管理;工程心理学;管理心理学;激励管理;管理中的真、善、美(或假、恶、丑);工程哲学;工业工程中的责任;安全管理;优化调度;系统工程;系统管理与过程控制;设计哲学;智能管理;工业工程中的数学;智能工业工程,或工业工程的智能化;生态工程管理;绿色工业工程,或绿色管理;协同学与协同管理;工业工程中的协同;概念工程与概念管理;工业工程与蝴蝶效应;管理中的蝴蝶效应,等等…… 2.机械电子工程方向: CAD;CAM;CAE;CAPP;PDM;EPR;CIMS;VD;VM;FMS;PLC;协同设计;协同制造;概念设计;自底向上;自顶向下;智能设计;智能制造;智能材料;特种加工(线切割、电火花、激光加工、电化学加工、超声波加工、光刻技术、快速成型、反求工程);微机械;精密加工;精密制造;机电一体化;自动化;控制论;线性控制;非线性控制;混沌控制;模糊控制;人工智能;神经网络;纳米技术;纳米制造;机器人;智能机器人;传感器;智能传感器;自动化生产线;机械手;智能机械手;自动检测;数据采集;信号处理;信息识别、模式识别等等……

西交大模式识别实验报告

模式识别实验报告 姓名: 班级: 学号: 提交日期:

实验一 线性分类器的设计 一、 实验目的: 掌握模式识别的基本概念,理解线性分类器的算法原理。 二、 实验要求 (1)学习和掌握线性分类器的算法原理; (2)在MATLAB 环境下编程实现三种线性分类器并能对提供的数据进行分类; (3) 对实现的线性分类器性能进行简单的评估(例如算法使用条件,算法效率及复杂度等)。 三、 算法原理介绍 (1)判别函数:是指由x 的各个分量的线性组合而成的函数: 00g(x)w ::t x w w w =+权向量阈值权 若样本有c 类,则存在c 个判别函数,对具有0g(x)w t x w =+形式的判别函数的一个两类线性分类器来说,要求实现以下判定规则: 1 2(x)0,y (x)0,y i i g g ωω>∈?? <∈? 方程g(x)=0定义了一个判定面,它把两个类的点分开来,这个平面被称为超平面,如下图所示。

(2)广义线性判别函数 线性判别函数g(x)又可写成以下形式: 01 (x)w d i i i g w x ==+∑ 其中系数wi 是权向量w 的分量。通过加入另外的项(w 的各对分量之间的乘积),得到二次判别函数: 因为 ,不失一般性,可以假设 。这样,二次判别函数拥有更多 的系数来产生复杂的分隔面。此时g(x)=0定义的分隔面是一个二阶曲面。 若继续加入更高次的项,就可以得到多项式判别函数,这可看作对某一判别函数g(x)做级数展开,然后取其截尾逼近,此时广义线性判别函数可写成: 或: 这里y 通常被成为“增广特征向量”(augmented feature vector),类似的,a 被称为

《认知心理学》实验指导

概念形成 简介: 概念是人脑反映事物本质属性的思维形式。个体掌握一类事物本质属性的过程,就是概念形成的过程。实验室中为了研究概念形成的过程,常使用人工概念。 制造人工概念时先确定一个或几个属性作为分类标准,但并不告诉被试,只是将材料交给被试,请其分类。在此过程中,反馈给被试是对还是错。通过这种方法,被试可以发现主试的分类标准,从而学会正确分类,即掌握了这个人工概念。通过人工概念的研究,可以了解概念形成的过程。一般来讲,被试都是经过概括-假设-验证的循环来达到概念形成的。 叶克斯复杂选择器可用来制造人工概念。本实验模拟叶克斯复杂选择器来研究简单空间位置关系概念的形成。 方法与程序: 本实验共有4个人工概念,难度顺次增加,被试可以任选其中1个。 实验时,屏幕上会出现十二个圆键,有空心和实心两种。其中只有一个实心圆与声音相联系,此键出现的相对位置是有规律的,被试要去发现其中的规律(概念),找到这个键。被试用鼠标点击相应的实心圆,如果没有发生任何变化,表明选择错误;如果有声音呈现,同时该圆变为红色,则表明选择正确。只有选择正确,才能继续下一试次。当连续三次第一遍点击就找对了位置时,就认为被试已形成了该人工概念,实验即结束。如果被试在60个试次内不能形成正确概念,实验自动终止。 结果与讨论: 结果文件第一行是被试达到标准所用的遍数(不包括连续第一次就对的三遍)。其后的结果分三列印出:第一列是遍数;第二列为每遍中反应错的次数,如为0则表示这一遍第一次就做对了;第三列表示这一遍所用的时间,以毫秒为单位。 根据结果试说明被试概念形成的过程。 交叉参考:思维策略 参考文献: 杨博民主编心理实验纲要北京大学出版社 319-321页

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

华南理工大学《模式识别》大作业报告 题目:模式识别导论实验 学院计算机科学与工程 专业计算机科学与技术(全英创新班) 学生姓名黄炜杰 学生学号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

《模式识别》实验报告

《模式识别》实验报告 一、数据生成与绘图实验 1.高斯发生器。用均值为m,协方差矩阵为S 的高斯分布生成N个l 维向量。 设置均值 T m=-1,0 ?? ??,协方差为[1,1/2;1/2,1]; 代码: m=[-1;0]; S=[1,1/2;1/2,1]; mvnrnd(m,S,8) 结果显示: ans = -0.4623 3.3678 0.8339 3.3153 -3.2588 -2.2985 -0.1378 3.0594 -0.6812 0.7876 -2.3077 -0.7085 -1.4336 0.4022 -0.6574 -0.0062 2.高斯函数计算。编写一个计算已知向量x的高斯分布(m, s)值的Matlab函数。 均值与协方差与第一题相同,因此代码如下: x=[1;1]; z=1/((2*pi)^0.5*det(S)^0.5)*exp(-0.5*(x-m)'*inv(S)*(x-m)) 显示结果: z = 0.0623 3.由高斯分布类生成数据集。编写一个Matlab 函数,生成N 个l维向量数据集,它们是基于c个本体的高斯分布(mi , si ),对应先验概率Pi ,i= 1,……,c。 M文件如下: function [X,Y] = generate_gauss_classes(m,S,P,N) [r,c]=size(m); X=[]; Y=[]; for j=1:c t=mvnrnd(m(:,j),S(:,:,j),fix(P(j)*N)); X=[X t]; Y=[Y ones(1,fix(P(j)*N))*j]; end end

调用指令如下: m1=[1;1]; m2=[12;8]; m3=[16;1]; S1=[4,0;0,4]; S2=[4,0;0,4]; S3=[4,0;0,4]; m=[m1,m2,m3]; S(:,:,1)=S1; S(:,:,2)=S2; S(:,:,3)=S3; P=[1/3,1/3,1/3]; N=10; [X,Y] = generate_gauss_classes(m,S,P,N) 二、贝叶斯决策上机实验 1.(a)由均值向量m1=[1;1],m2=[7;7],m3=[15;1],方差矩阵S 的正态分布形成三个等(先验)概率的类,再基于这三个类,生成并绘制一个N=1000 的二维向量的数据集。 (b)当类的先验概率定义为向量P =[0.6,0.3,0.1],重复(a)。 (c)仔细分析每个类向量形成的聚类的形状、向量数量的特点及分布参数的影响。 M文件代码如下: function plotData(P) m1=[1;1]; S1=[12,0;0,1]; m2=[7;7]; S2=[8,3;3,2]; m3=[15;1]; S3=[2,0;0,2]; N=1000; r1=mvnrnd(m1,S1,fix(P(1)*N)); r2=mvnrnd(m2,S2,fix(P(2)*N)); r3=mvnrnd(m3,S3,fix(P(3)*N)); figure(1); plot(r1(:,1),r1(:,2),'r.'); hold on; plot(r2(:,1),r2(:,2),'g.'); hold on; plot(r3(:,1),r3(:,2),'b.'); end (a)调用指令: P=[1/3,1/3,1/3];

温度控制系统曲线模式识别及仿真

锅炉温度定值控制系统模式识别及仿真专业:电气工程及其自动化姓名:郭光普指导教师:马安仁 摘要本文首先简要介绍了锅炉内胆温度控制系统的控制原理和参数辨识的概念及切线近似法模式识别的基本原理,然后对该系统的温控曲线进行模式识别,而后着重介绍了用串级控制和Smith预估器设计一个新的温度控制系统,并在MATLAB的Simulink中搭建仿真模型进行仿真。 关键词温度控制,模式识别,串级控制,Smith预测控制 ABSTRACT This article first briefly introduced in the boiler the gallbladder temperature control system's control principle and the parameter identification concept and the tangent approximate method pattern recognition basic principle, then controls the curve to this system to carry on the pattern recognition warm, then emphatically introduced designs a new temperature control system with the cascade control and the Smith estimator, and carries on the simulation in the Simulink of MATLAB build simulation model. Key Words:Temperature control, Pattern recognition, Cascade control, Smith predictive control

模式识别实验报告(一二)

信息与通信工程学院 模式识别实验报告 班级: 姓名: 学号: 日期:2011年12月

实验一、Bayes 分类器设计 一、实验目的: 1.对模式识别有一个初步的理解 2.能够根据自己的设计对贝叶斯决策理论算法有一个深刻地认识 3.理解二类分类器的设计原理 二、实验条件: matlab 软件 三、实验原理: 最小风险贝叶斯决策可按下列步骤进行: 1)在已知 ) (i P ω, ) (i X P ω,i=1,…,c 及给出待识别的X 的情况下,根据贝叶斯公式计 算出后验概率: ∑== c j i i i i i P X P P X P X P 1 ) ()() ()()(ωωωωω j=1,…,x 2)利用计算出的后验概率及决策表,按下面的公式计算出采取i a ,i=1,…,a 的条件风险 ∑== c j j j i i X P a X a R 1 )(),()(ωω λ,i=1,2,…,a 3)对(2)中得到的a 个条件风险值) (X a R i ,i=1,…,a 进行比较,找出使其条件风险最小的 决策k a ,即()() 1,min k i i a R a x R a x == 则 k a 就是最小风险贝叶斯决策。 四、实验内容 假定某个局部区域细胞识别中正常(1ω)和非正常(2ω)两类先验概率分别为 正常状态:P (1ω)=; 异常状态:P (2ω)=。 现有一系列待观察的细胞,其观察值为x : 已知先验概率是的曲线如下图:

)|(1ωx p )|(2ωx p 类条件概率分布正态分布分别为(-2,)(2,4)试对观察的结果 进行分类。 五、实验步骤: 1.用matlab 完成分类器的设计,说明文字程序相应语句,子程序有调用过程。 2.根据例子画出后验概率的分布曲线以及分类的结果示意图。 3.最小风险贝叶斯决策,决策表如下: 结果,并比较两个结果。 六、实验代码 1.最小错误率贝叶斯决策 x=[ ] pw1=; pw2=; e1=-2; a1=; e2=2;a2=2; m=numel(x); %得到待测细胞个数 pw1_x=zeros(1,m); %存放对w1的后验概率矩阵 pw2_x=zeros(1,m); %存放对w2的后验概率矩阵

模式识别实验最小错误率下的贝叶斯决策

《模式识别》实验报告题目:最小错误率贝叶斯决策

一、实验内容 1,实验原理 2,实验步骤 1)从iris.txt 文件(课程邮箱-文件中心)中读取估计参数用的样本,每一类样本抽出前40个,分别求其均值; (2)求每类样本的协方差矩阵、逆矩阵以及协方差矩阵的行列式; (3)对三个类别,分别取每组剩下的 10个样本,每两组进行分类。由于每类样本都相等, 且每类选取用作训练的样本也相等,在每两组进行分类时,待分类样本的类

先验概率为0.5。 将各个样本代入判别函数既公式(5),进行分类。 3,实验要求 (1)复习最小错误率贝叶斯决策原理,写出实验代码,实现对三类样本的分类; (2)计算分类的正确率,画出三维空间的样本分类图; (3)分析实验结果,完成实验报告。 二、实验代码 (1), clear % 原始数据导入 iris=load('iris.txt'); N=40;%每组取N=40个样本 %求第一类样本均值 for i = 1:N for j = 1:4 w1(i,j) = iris(i,j+1); end end sumx1 = sum(w1,1); for i=1:4 meanx1(1,i)=sumx1(1,i)/N; end %求第二类样本均值 for i = 1:N for j = 1:4 w2(i,j) = iris(i+50,j+1); end end sumx2 = sum(w2,1); for i=1:4 meanx2(1,i)=sumx2(1,i)/N; end %求第三类样本均值

for i = 1:N for j = 1:4 w3(i,j) = iris(i+100,j+1); end end sumx3 = sum(w3,1); for i=1:4 meanx3(1,i)=sumx3(1,i)/N; end (2), %求第一类样本协方差矩阵 z1(4,4) = 0; var1(4,4) = 0; for i=1:4 for j=1:4 for k=1:N z1(i,j)=z1(i,j)+(w1(k,i)-meanx1(1,i))*(w1(k,j)-meanx1(1,j)); end var1(i,j) = z1(i,j) / (N-1); end end %求第二类样本协方差矩阵 z2(4,4) = 0 ; var2(4,4) = 0; for i=1:4 for j=1:4 for k=1:N z2(i,j)=z2(i,j)+(w2(k,i)-meanx2(1,i))*(w2(k,j)-meanx2(1,j)); end ar2(i,j) = z2(i,j) / (N-1); end end %求第三类样本协方差矩阵 z3(4,4) = 0 ;

模式识别实验报告

实验一Bayes 分类器设计 本实验旨在让同学对模式识别有一个初步的理解,能够根据自己的设计对贝叶斯决策理论算法有一个深刻地认识,理解二类分类器的设计原理。 1实验原理 最小风险贝叶斯决策可按下列步骤进行: (1)在已知)(i P ω,)(i X P ω,i=1,…,c 及给出待识别的X 的情况下,根据贝叶斯公式计算出后验概率: ∑== c j i i i i i P X P P X P X P 1 ) ()() ()()(ωωωωω j=1,…,x (2)利用计算出的后验概率及决策表,按下面的公式计算出采取i a ,i=1,…,a 的条件风险 ∑== c j j j i i X P a X a R 1 )(),()(ωω λ,i=1,2,…,a (3)对(2)中得到的a 个条件风险值)(X a R i ,i=1,…,a 进行比较,找出使其条件风险最小的决策k a ,即 则k a 就是最小风险贝叶斯决策。 2实验内容 假定某个局部区域细胞识别中正常(1ω)和非正常(2ω)两类先验概率分别为 正常状态:P (1ω)=0.9; 异常状态:P (2ω)=0.1。

现有一系列待观察的细胞,其观察值为x : -3.9847 -3.5549 -1.2401 -0.9780 -0.7932 -2.8531 -2.7605 -3.7287 -3.5414 -2.2692 -3.4549 -3.0752 -3.9934 2.8792 -0.9780 0.7932 1.1882 3.0682 -1.5799 -1.4885 -0.7431 -0.4221 -1.1186 4.2532 已知类条件概率密度曲线如下图: )|(1ωx p )|(2ωx p 类条件概率分布正态分布分别为(-2,0.25)(2,4)试对观察的结果进 行分类。 3 实验要求 1) 用matlab 完成分类器的设计,要求程序相应语句有说明文字。 2) 根据例子画出后验概率的分布曲线以及分类的结果示意图。 3) 如果是最小风险贝叶斯决策,决策表如下:

模式识别作业--两类贝叶斯分类

深圳大学研究生课程:模式识别理论与方法 课程作业实验报告 实验名称:Bayes Classifier 实验编号:proj02-01 姓名:汪长泉 学号:2100130303 规定提交日期:2010年10月20日 实际提交日期:2010年10月20日 摘要:在深入掌握多维高斯分布性质,贝叶斯分类的基础上,用计算机编程实现一个分类两类模式样本的贝叶斯分类器。用matlab编程,并分析了实验结果,得出贝叶斯分类的一般结论。

1. 贝叶斯分类器 贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。 1.1 两类情况 两类情况是多类情况的基础,多类情况往往是用多个两类情况解决的。 ① 用i ω,i =1, 2表示样本x (一般用列向量表示)所属的类别。 ② 假设先验概率()P ω1,()P ω2已知。(这个假设是合理的,因为如果先验概率未知,可以从训 练特征向量中估算出来,即如果N 是训练样本总数,其中有,N N 12个样本分别属于 2,1ωω,则相应的先验概率: ()/P N N ω≈11,2 ()/P N N ω≈2) ③ 假设(类)条件概率密度函数 (|),i p ωx i =1,2 已知,用来描述每一类中特征向量的分 布情况。如果类条件概率密度函数未知,则可以从可用的训练数据中估计出来。 1.2贝叶斯判别方法 贝叶斯分类规则描述为: 如果2(|)(|)P ωP ω>1x x ,则x ∈1ω 如果2(|)(|)P ωP ω<1x x ,则x ∈2ω (2-1-1) 贝叶斯分类规则就是看x ∈ω1的可能性大,还是x ∈2ω的可能性大。(|)i P ωx , i =1,2解释为当样本x 出现时,后验概率(|)P ω1x 和(|)P ω2x 的大小从而判别为属于 1ω或属于2ω类。 1.3三种概率的关系――――贝叶斯公式 ()() (|)= () i i i p |P P p ωωωx x x (2-1-3) 其中,()p x 是x 的概率密度函数(全概率密度),它等于所有可能的类概率密度函数乘以相应的先验概率之和。 ()(|)()i i i p p P ωω==∑2 1 x x

模式识别实验报告_2

模式识别理论与方法 课程作业实验报告 实验名称:Generating Pattern Classes 实验编号:Proj01-01 规定提交日期:2012年3月16日 实际提交日期:2012年3月13日 摘要: 在熟悉Matlab中相关产生随机数和随机向量的函数基础上,重点就多元(维)高斯分布情况进行了本次实验研究:以mvnrnd()函数为核心,由浅入深、由简到难地逐步实现了获得N 个d维c类模式集,并将任意指定的两个维数、按类分不同颜色进行二维投影绘图展示。 技术论述:

1,用矩阵表征各均值、协方差2,多维正态分布函数: 实验结果讨论:

从实验的过程和结果来看,进一步熟悉了多维高斯分布函数的性质和使用,基本达到了预期目的。 实验结果: 图形部分: 图1集合中的任意指定两个维度投影散点图形

图2集合中的任意指定两个维度投影散点图形,每类一种颜色 数据部分: Fa= 9.6483 5.5074 2.4839 5.72087.2769 4.8807 9.1065 4.1758 1.5420 6.1500 6.2567 4.1387 10.0206 3.5897 2.6956 6.1500 6.9009 4.0248 10.1862 5.2959 3.1518 5.22877.1401 3.1974 10.4976 4.9501 1.4253 5.58257.4102 4.9474 11.3841 4.5128 2.0714 5.90068.2228 4.4821 9.6409 5.43540.9810 6.2676 6.9863 4.2530 8.8512 5.2401 2.7416 6.5095 6.1853 4.8751 9.8849 5.8766 3.3881 5.7879 6.7070 6.6132 10.6845 4.8772 3.4440 6.0758 6.6633 3.5381 8.7478 3.3923 2.4628 6.1352 6.9258 3.3907

模式识别实验

《模式识别》实验报告 班级:电子信息科学与技术13级02 班姓名: 学号: 指导老师: 成绩:

通信与信息工程学院二〇一六年

实验一 最大最小距离算法 一、实验内容 1. 熟悉最大最小距离算法,并能够用程序写出。 2. 利用最大最小距离算法寻找到聚类中心,并将模式样本划分到各聚类中心对应的类别中。 二、实验原理 N 个待分类的模式样本{}N X X X , 21,,分别分类到聚类中心{}N Z Z Z , 21,对应的类别之中。 最大最小距离算法描述: (1)任选一个模式样本作为第一聚类中心1Z 。 (2)选择离1Z 距离最远的模式样本作为第二聚类中心2Z 。 (3)逐个计算每个模式样本与已确定的所有聚类中心之间的距离,并选出其中的最小距离。 (4)在所有最小距离中选出一个最大的距离,如果该最大值达到了 21Z Z -的一定分数比值以上,则将产生最大距离的那个模式样本定义为新增的聚类中心,并返回上一步。否则,聚类中心的计算步骤结束。这里的21Z Z -的一定分数比值就是阈值T ,即有: 102 1<<-=θθZ Z T (5)重复步骤(3)和步骤(4),直到没有新的聚类中心出现为止。在这个过程中,当有k 个聚类中心{}N Z Z Z , 21,时,分别计算每个模式样本与所有聚类中心距离中的最小距离值,寻找到N 个最小距离中的最大距离并进行判别,结果大于阈值T 是,1+k Z 存在,并取为产生最大值的相应模式向量;否则,停止寻找聚类中心。 (6)寻找聚类中心的运算结束后,将模式样本{}N i X i ,2,1, =按最近距离划分到相应的聚类中心所代表的类别之中。

哈尔滨工程大学模式识别实验报告

实验报告实验课程名称:模式识别 姓名:班级:学号:

注:1、每个实验中各项成绩按照5分制评定,实验成绩为各项总和 2、平均成绩取各项实验平均成绩 3、折合成绩按照教学大纲要求的百分比进行折合 ; 2015年4月 实验1 图像的贝叶斯分类 实验目的 将模式识别方法与图像处理技术相结合,掌握利用最小错分概率贝叶斯分类器进行图像分类的基本方法,通过实验加深对基本概念的理解。 实验仪器设备及软件 HP D538、MATLAB ( 实验原理 基本原理 阈值化分割算法是计算机视觉中的常用算法,对灰度图象的阈值分割就是先确定一个处于图像灰度取值范围内的灰度阈值,然后将图像中每个像素的灰度值与这个阈值相比较。并根据比较的结果将对应的像素划分为两类,灰度值大于阈值的像素划分为一类,小于阈值的划分为另一类,等于阈值的可任意划分到两类中的任何一类。此过程中,确定阈值是分割的关键。

对一般的图像进行分割处理通常对图像的灰度分布有一定的假设,或者说是基于一定的图像模型。最常用的模型可描述如下:假设图像由具有单峰灰度分布的目标和背景组成,处于目标和背景内部相邻像素间的灰度值是高度相关的,但处于目标和背景交界处两边的像素灰度值有较大差别,此时,图像的灰度直方图基本上可看作是由分别对应于目标和背景的两个单峰直方图混合构成。而且这两个分布应大小接近,且均值足够远,方差足够小,这种情况下直方图呈现较明显的双峰。类似地,如果图像中包含多个单峰灰度目标,则直方图可能呈现较明显的多峰。 上述图像模型只是理想情况,有时图像中目标和背景的灰度值有部分交错。这时如用全局阈值进行分割必然会产生一定的误差。分割误差包括将目标分为背景和将背景分为目标两大类。实际应用中应尽量减小错误分割的概率,常用的一种方法为选取最优阈值。这里所谓的最优阈值,就是指能使误分割概率最小的分割阈值。图像的直方图可以看成是对灰度值概率分布密度函数的一种近似。如一幅图像中只包含目标和背景两类灰度区域,那么直方图所代表的灰度值概率密度函数可以表示为目标和背景两类灰度值概率密度函数的加权和。如果概率密度函数形式已知,就有可能计算出使目标和背景两类误分割概率最小的最优阈值。 假设目标与背景两类像素值均服从正态分布且混有加性高斯噪声,上述分类问题可用模式识别中的最小错分概率贝叶斯分类器来解决。以1p 与2p 分别表示目标与背景的灰度分布概率密度函数,1P 与2P 分别表示两类的先验概率,则图像的混合概率密度函数用下式表示 1122()()()p x P p x P p x =+ 式中1p 和2p 分别为 … 212 1()21()x p x μσ--= 222 2()22()x p x μσ-- = 121P P += 1σ、2σ是针对背景和目标两类区域灰度均值1μ与2μ的标准差。若假定目标的灰度较亮,

中国地质大学(武汉)模式识别第四次实验:PCA

模式识别第四次实验 学号:20121001873 班学号:07512213 姓名:吴泽光 指导老师:马丽 中国地质大学(武汉)机械与电子信息学院 2015年4月

题目:基于PCA降维的遥感图像分类 实验目标: 1.掌握PCA算法原理 2.用MATLAB实现PCA,并进行结果分析。 实验内容: 1.采用INP数据(145*145*200),该数据有16个类别,PCA进行数据降维,然后对降维数据采用kNN分类(k=1)。 2.要求 (1)得到整个图像的降维结果,报告中画出前面5个主成分/波段的图像。 (2)分析参数:降维波段数量d(尝试下列7个取值:3,5,10,20,30,40,50)。随机10次选择train数据和test数据(例如30%train,70%test),得到这些train和test数据的pca降维结果,采用kNN分类,求出分类准确度OA。(注意,一共得到7*10个OA,7是指不同的d值,10是指10次实验,也就是每个d每次随机数据下都有一个分类结果OA)。对每个d值下的10个OA取平均,得到该d值下的分类准确度。最后画1个表格,给出7种不同d值下的分类结果。 d=3d=5d=10d=20d=30d=40d=50平均 OA (3)【选作optional】选择出最好OA所对应的d,然后在该d下,对全图进行1NN分类(1NN 作用在pca降维图像上),画出全图分类结果。 (4)和第三次上机的结果进行比较(数据不降维,直接采用kNN算法分类),看PCA降维的作用(对于kNN算法,PCA降维是因为信息损失而使得分类效果下降,还是PCA降维提高了分类效果)。 PCA算法原理: PCA算法的原理是设法将原来变量重新组合成一组新的互相无关的几个综合变量,同时根据实际需要从中可以取出几个较少的总和变量尽可能多地反映原来变量的信息的统计的方法,也是数学上处理降维的一种方法。 PCA算法步骤: 1、求出矩阵的协方差矩阵Cx; 2、对协方差矩阵进行特征值的分解[a,b]=eig(Cx); 3、找出最大的d个特征值对应的特征向量,组成一个新的矩阵I; 4、将原矩阵与新的矩阵I相乘,实现数据降维。

相关主题
文本预览
相关文档 最新文档