基于-Fisher准则线性分类器设计

合集下载

6-线性分类器设计-第六章

6-线性分类器设计-第六章

k 此法可收敛于W值。W满足: XT(XW-b)=0
令 ρk =
ρ1
其中 ρ 1 为任意常数
因此下降算法不论XTX是否奇异,总能产生一个解。 若训练样本无限的重复出现,则简化为 W1任意 Wk+1=Wk+ρk(bk-WkTXk) Xk k+1
取 ρK
=
ρ1
k
ρk随迭代次数k而减少,以保证算法收敛于满意的W值
其中N/N1有N1个,N/N2有N2个
四 韦—霍氏法(LMS法)迭代法
上节得到MSE法的W解为:W=X+b
伪逆 X + =
(
XT X
)
−1
X
T
计算量很大
在计算X+时, 1. 要求XTX矩阵为非奇异 2 2. 由于计算量太大而引入比较大误差 所以要用迭代法来求 求J(W)的梯度 ▽J(W) =2XT(XW-b) 代入迭代公式 W1任意设定 Wk+1 = Wk-ρkXT(XWk-b)
H wk+1 ρk x
权值修正过程
例题:有两类样本 ω1=(x1,x2)={(1,0,1),(0,1,1)} ω2=(x3,x4)={(1,1,0),(0,1,0)} 解:先求四个样本的增值模式 x1=(1,0,1,1) x2=(0,1,1,1) x3=(1,1,0,1) x4=(0,1,0,1) 假设初始权向量 w1=(1,1,1,1) ρk=1 第一次迭代: w1Tx1=(1,1,1,1) (1,0,1,1)T=3>0 所以不修正 w1Tx2=(1,1,1,1) (0,1,1,1)T=3>0 所以不修正 w1Tx3=(1,1,1,1) (1,1,0,1)T=3>0 所以修正w1 w2=w1-x3=(0,0,1,0) w2Tx4=(0,0,1,0)T (0,1,0,1) =0 所以修正w2 w3=w2-x4=(0,-1,1,-1) 第一次迭代后,权向量w3=(0,-1,1,-1),再进行第2,3,…次迭代 如下表

Fisher准则线性分类器设计

Fisher准则线性分类器设计

F i s h e r准则线性分类器设计内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)一 、基于F i s h e r 准则线性分类器设计1、 实验内容: 已知有两类数据1ω和2ω二者的概率已知1)(ωp =,2)(ωp =。

1ω中数据点的坐标对应一一如下:数据:x =y =z =2ω数据点的对应的三维坐标为x2 =y2 =z2 =数据的样本点分布如下图:1)请把数据作为样本,根据Fisher选择投影方向W的原则,使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求,求出评价投影方向W的函数,并在图形表示出来。

取极大值的*w。

用matlab完并在实验报告中表示出来,并求使)J(wF成Fisher线性分类器的设计,程序的语句要求有注释。

2)根据上述的结果并判断(1,,),,,,,,,,,(,,),属于哪个类别,并画出数据分类相应的结果图,要求画出其在W上的投影。

3)回答如下问题,分析一下W的比例因子对于Fisher判别函数没有影响的原因。

2、实验代码x1 =[];x2 =[];x3 =[];%将x1、x2、x3变为行向量x1=x1(:);x2=x2(:);x3=x3(:);%计算第一类的样本均值向量m1m1(1)=mean(x1);m1(2)=mean(x2);m1(3)=mean(x3);%计算第一类样本类内离散度矩阵S1S1=zeros(3,3);for i=1:36S1=S1+[-m1(1)+x1(i) -m1(2)+x2(i) -m1(3)+x3(i)]'*[-m1(1)+x1(i) -m1(2)+x2(i) -m1(3)+x3(i)];end%w2的数据点坐标x4 =[];x5 =[];x6 =[];x4=x4(:);x5=x5(:);x6=x6(:);%计算第二类的样本均值向量m2m2(1)=mean(x4);m2(2)=mean(x5);m2(3)=mean(x6);%计算第二类样本类内离散度矩阵S2S2=zeros(3,3);for i=1:36S2=S2+[-m2(1)+x4(i) -m2(2)+x5(i) -m2(3)+x6(i)]'*[-m2(1)+x4(i) -m2(2)+x5(i) -m2(3)+x6(i)];end%总类内离散度矩阵SwSw=zeros(3,3);Sw=S1+S2;%样本类间离散度矩阵SbSb=zeros(3,3);Sb=(m1-m2)'*(m1-m2);%最优解WW=Sw^-1*(m1-m2)'%将W变为单位向量以方便计算投影W=W/sqrt(sum(W.^2));%计算一维Y空间中的各类样本均值M1及M2for i=1:36y(i)=W'*[x1(i) x2(i) x3(i)]';endM1=mean(y);for i=1:36y(i)=W'*[x4(i) x5(i) x6(i)]';endM2=mean(y);%利用当P(w1)与P(w2)已知时的公式计算W0p1=;p2=;W0=-(M1+M2)/2+(log(p2/p1))/(36+36-2);%计算将样本投影到最佳方向上以后的新坐标X1=[x1*W(1)+x2*W(2)+x3*W(3)]';X2=[x4*W(1)+x5*W(2)+x6*W(3)]'; %得到投影长度XX1=[W(1)*X1;W(2)*X1;W(3)*X1];XX2=[W(1)*X2;W(2)*X2;W(3)*X2]; %得到新坐标%绘制样本点figure(1);plot3(x1,x2,x3,'r*'); %第一类hold onplot3(x4,x5,x6,'gp') ; %第二类legend('第一类点','第二类点');title('Fisher线性判别曲线');W1=5*W;%画出最佳方向line([-W1(1),W1(1)],[-W1(2),W1(2)],[-W1(3),W1(3)],'color','g'); %判别已给点的分类a1=[1,,]';a2=[,,]';a3=[,,]';a4=[,,]';a5=[,,]';A=[a1 a2 a3 a4 a5];n=size(A,2);%下面代码在改变样本时可不修改%绘制待测数据投影到最佳方向上的点for k=1:nA1=A(:,k)'*W;A11=W*A1;%得到待测数据投影y=W'*A(:,k)+W0; %计算后与0相比以判断类别,大于0为第一类,小于0为第二类if y>0plot3(A(1,k),A(2,k),A(3,k),'ro'); %点为"rp"对应第一类plot3(A11(1),A11(2),A11(3),'ro'); %投影为"r+"对应ro类elseplot3(A(1,k),A(2,k),A(3,k),'ch'); %点为"bh"对应ch类plot3(A11(1),A11(2),A11(3),'ch'); %投影为"b*"对应ch类endend%画出最佳方向line([-W1(1),W1(1)],[-W1(2),W1(2)],[-W1(3),W1(3)],'color','m');view([,30]);axis([-2,3,-1,3,,]);grid onhold off3、实验结果根据求出最佳投影方向,然后按照此方向,将待测数据进行投影。

使用Fisher线性判别方法的提取分类器

使用Fisher线性判别方法的提取分类器
LI W e bn, n- i CHEN - ig, Yi y n ZHANG u n,t 1 ig Fs e ie r ic i n n n lss o e ta t g ca s esCo - J a e a. n ih r l a dsrmia t a ay i Us n t xr ci lsi r. r n i f n
文, 用 , … 分别表示 个个体分类器 , , … } 。
1 问题 形 式化 描述 及个 体分 类器 训练
对分 类问题而 言 , 问题 域为 类 对象 , 类别标 签分别为

, , 。每—个样本可以表示成一个 d 的权重特征向 J …, , 维
个体 分类器 训练指从 数据集 中训练 获得这 个分 类器 的过
p tr En iern n pia o s 2 1 4 ( 4 :3 - 3 . ue g e ig a d Ap l t n . 0 0。6 I ) 1 2 1 4 n ci
Ab t a t I r e o ei n t e aii ewe n n e ld ca s ir n mp o e f c n tb l y o o i e , n a p o c sr c : n od r t l mi ae rl t t b t e e s mb e ls i e a d i r v e e t a d sa i t f c mbn r a p r a h vy f s f i
e ta t ca sfes xr ci ng l si r ba e o Fih r i e r ic i n n a lss s o o e I c n e uc ca sfe s c wih ih i e in, i sd n s e ln a ds rmi a t nay i i pr p s d.t a r d e l s i r pa e i t hg dm nso

FISHER分类

FISHER分类

Fisher 线性判别分类器成员姓名: 学号:莫文敏 201111921217 赵越 201111921229 顾瑞煌 201111921104一、实验目的1.实现基于FISHER 分类的算法程序;2.能够根据自己的设计加深对FISHER 分类的认识;3.掌握FISHER 分类的原理、特点。

二、实验设备1.手提电脑2.MATLAB三、FISHER 算法原理线性判别函数的一般形式可表示成0)(w X W X g T +=其中⎪⎪⎪⎭⎫ ⎝⎛=d x x X 1 ⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=d w w w W 21但是,在应用统计方法解决模式识别的问题时,经常会遇到“维数风暴”的问题,因此压缩特征空间的维数在此时十分重要,FISHER 方法实际上是涉及维数压缩的问题。

把多为特征空间的点投影到一条直线上,就能把特征空间压缩成一维,这在数学上是很容易做到的。

但是在高维空间里很容易一分开的样品,把它们投射到任意一条直线上,有可能不同类别的样品就混在一起,无法区分了,如图5-16(a )所示,投影1x 或2x 轴无法区分。

若把直线绕原点转动一下,就有可能找到一个方向,样品投射到这个方向的直线上,各类样品就能很好地分开,如图5-16(b )所示。

因此直线方向的选择是很重要的。

一般来说总能找到一个最好的方向,使样品投射到这个方向的直线上很容易分开。

如何找到这个最好的直线方向以及如何实现向最好方向投影的变换,这正是FISHER 算法要解决的基本问题,这个投影变换正是我们寻求的解向量*W 。

样品训练集以及待测样品的特征总数目为n ,为找到最佳投影方向,需要计算出各类样品的均值、样品类内离散度矩阵i S 和总类间矩阵w S 、样品类间离散度矩阵b S ,根据FISHER 准则找到最佳投影向量,将训练集内所有样品进行投影,投影到一维Y 空间,由于Y 空间是一维的,则需要求出Y 空间的划分边界点,找到边界点后,就可以对待测样品进行一维Y 空间的投影,判断它的投影点与分界点的关系将其归类。

基于Fisher的分类器设计

基于Fisher的分类器设计

7
8 9 10 11 12
2
3 4 1 3 3
2
3 4 1 3 3
13
14 15 16 17 18
1
2 4 2 4 3
1
2 4 2 4 2
19
20 21 22 23 24
4
2 2 3 3 1
4
2 3 3 3 1
25
26 27 28 29 30
1
4 1 3 3 3
1
4 1 3 3 3
结果分析:从表中可以看出有2个分类结果是错的,正确率为93.3%。
T
0 1
y y , x
0
2
算法实现
◆ 流程图
算法实现
◆ 样本均值



clear,close all; N=29; %N为训练样本总个数 X = [1495.18 1957.44 3498.02 %X为训练样本 1125.17 1594.39 2937.73 1269.07 1910.72 2701.97 …… ……] m1=mean(X(1:11,:)); %求得第一类样本均值 m2=mean(X(12:29,:)); %求得第二类样本均值


y0
Fisher投影原理
Fisher分类器设计
样本在d维特征空间的一些描述量 (1)各类样本均值 m 1 m i 1,2 x N (2)样本类内离散度矩阵 S 与总类内离散度矩阵 S
i
i X i i
i
w
S ( X m )( X m )
i X wi i i
T
基于Fisher的分类器设计
主 单 讲:周润景 教授 位:电子信息工程学院

基于Fisher准则线性分类器设计

基于Fisher准则线性分类器设计

基于Fisher 准则线性分类器设计一、实验类型设计型:线性分类器设计(Fisher 准则)二、实验目的本实验旨在让同学进一步了解分类器的设计概念,能够根据自己的设计对线性分类器有更深刻地认识,理解Fisher 准则方法确定最佳线性分界面方法的原理,以及Lagrande 乘子求解的原理。

三、实验条件matlab 软件四、实验原理线性判别函数的一般形式可表示成0)(w X W X g T += 其中⎪⎪⎪⎭⎫⎝⎛=d x x X 1根据Fisher 选择投影方向W 的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求,用以评价投影方向W 的函数为:2221221~~)~~()(S S m m W J F +-= )(211*m m S W W -=-⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=d w w w W 21我们称为线性变换,其中式一个向量,1-W S 是W S 的逆矩阵,如21m m -是d 维,W S 和1-W S 都是d ×d 维,得到的*W 也是一个d 维的向量。

向量*W 就是使Fisher 准则函数)(W J F 达极大值的解,也就是按Fisher 准则将d 维X 空间投影到一维Y 空间的最佳投影方向,该向量*W 的各分量值是对原d 维特征向量求加权和的权值。

以上讨论了线性判别函数加权向量W 的确定方法,并讨论了使Fisher 准则函数极大的d 维向量 的计算方法,但是判别函数中的另一项0W 尚未确定,一般可采用以下几种方法确定0W 如或者 或当1)(ωp 与2)(ωp 已知时可用[]⎥⎦⎤⎢⎣⎡-+-+=2)(/)(ln 2~~2121210N N p p m m W ωω……当W 0确定之后,则可按以下规则分类,2010ωω∈→->∈→->X w X W X w X W TT使用Fisher 准则方法确定最佳线性分界面的方法是一个著名的方法,尽管提出该方法的时间比较早,仍见有人使用。

《模式识别》课程实验 线性分类器设计实验

《模式识别》课程实验 线性分类器设计实验

《模式识别》课程实验线性分类器设计实验一、实验目的:1、掌握Fisher 线性分类器设计方法;2、掌握感知准则函数分类器设计方法。

二、实验内容:1、对下列两种情况,求采用Fisher 判决准则时的投影向量和分类界面,并做图。

12{(2,0),(2,2),(2,4),(3,3)}{(0,3),(2,2),(1,1),(1,2),(3,1)}T T T T T T T T T ωω⎧=⎪⎨=-----⎪⎩ 12{(1,1),(2,0),(2,1),(0,2),(1,3)}{(1,2),(0,0),(1,0),(1,1),(0,2)}T T T T T T T T T T ωω⎧=⎪⎨=-----⎪⎩ 2、对下面的两类分类问题,采用感知准则函数,利用迭代修正求权向量的方法求两类的线性判决函数及线性识别界面,并画出识别界面将训练样本区分的结果图。

12{(1,1),(2,0),(2,1),(0,2),(1,3)}{(1,2),(0,0),(1,0),(1,1),(0,2)}T T T T T T T T T T ωω⎧=⎪⎨=-----⎪⎩ 三、实验原理:(1)Fisher 判决准则投影方向:*112()w w S μμ-=-(2)感知准则函数:()()kT p z Z J v v z ==-∑当k Z为空时,即()0J v ,*v即为所求p四、解题思路:1、fisher线性判决器:A.用mean函数求两类样本的均值B.求两类样本的均值的类内离散矩阵SiC.利用类内离散矩阵求总类内离散矩阵SwD.求最佳投影方向WoE.定义阈值,并求得分界面2、感知准则函数分类器:A.获得增广样本向量和初始增广权向量B.对样本进行规范化处理C.获得解区,并用权向量迭代修正错分样本集,得到最终解区五、实验结果:1、fisher线性判决分类器:条件:取pw1=pw2=0.5,阈值系数为0.5A.第一种情况B.第二种情况2、感知准则函数判决:条件:取步长row为1判决结果:六、结果分析:1、fisher线性判决器中,调整阈值系数时,分界面会随之平行上下移动,通过调整阈值系数的大小,就能比较合理的得到分界面。

基于Fisher判别分析的贝叶斯分类器

基于Fisher判别分析的贝叶斯分类器
mi
并且从贝叶斯分类器学习的过程来看,无法有效地使用类间 信息。 为了改善这一问题,本文结合 Fisher 线性判别分析,提 出了一种基于 Fisher 线性判别分析的贝叶斯分类器的改进算 法。该算法的主要思想是利用变换矩阵,对原始训练样本进 行变换,投影到新的样本空间,分类器在投影后的新的样本 空间进行学习分类。原样本属性集中,任意 2 个属性间可能 存在一定的依赖关系,投影后在新样本空间,新样本的属性 假定为相互独立。通过变换可把维数较高的测量空间中表示 的模式变为在维数较低的特征空间中表示的模式。这样能有 效地实现分类识别,从而得到能较好反映分类本质的特征。 根据上述分析给出该算法的流程如图 1 所示。
c i =1 T
T
(6)
(7)
显然,类内散布矩阵表达的是同一类中样本到类内中心 的距离,其值的大小表示同类样本的集中程度。其值越小, 说明同类样本相对越集中;类间散布矩阵是不同类的中心距 离的度量,其值越大,说明异类样本的可分性越好。如果能 够使得在投影后的空间,类内样本集中,类间样本分离,即 可达到目的 [2] 。从高维空间向低维空间的投影过程中,类内 散布矩阵和类间散布矩阵经历了一些变换。本文目标是寻找 一个投影方向变换矩阵 W,能在某种意义上使投影后的类间 散布矩阵和类内散布矩阵的比值最大。为此定义如下的准则 函数:
(
)
(1)
其物理意义为:在观测得到的特征向量发生的条件下,
第 37 卷
第 10 期
曹玲玲,潘建寿:基于 Fisher 判别分析的贝叶斯分类器
163
决策结果。 2.2 Fisher 线性判别分析 Fisher 线性判别分析方法是模式识别中一种行之有效的 Fisher 线性判别分析力图找到一组最佳的投 特征提取方法 [4]。 影方向,在这些投影方向上,可以最好的区分训练集中属于 不同类别的样本。 设有一组 d 维的训练样本 x1 , x2 ," , xn ( xi 为 d 维行向量,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于Fisher准则线性分类器设计专业:电子信息工程学生:子龙学号:201316040117一、实验类型设计型:线性分类器设计(Fisher 准则)二、实验目的本实验旨在让同学进一步了解分类器的设计概念,能够根据自己的设计对线性分类器有更深刻地认识,理解Fisher 准则方法确定最佳线性分界面方法的原理,以及Lagrande 乘子求解的原理。

三、实验条件matlab 软件四、实验原理线性判别函数的一般形式可表示成 0)(w X W X g T+= 其中⎪⎪⎪⎭⎫⎝⎛=d x x X Λ1⎪⎪⎪⎪⎪⎭⎫⎝⎛=d w w w W Λ21根据Fisher 选择投影方向W 的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类样本投影尽可能密集的要求,用以评价投影方向W 的函数为:2221221~~)~~()(S S m m W J F +-= )(211*m m S W W -=-上面的公式是使用Fisher 准则求最佳法线向量的解,该式比较重要。

另外,该式这种形式的运算,我们称为线性变换,其中21m m -式一个向量,1-W S 是W S 的逆矩阵,如21m m -是d 维,W S 和1-W S 都是d ×d 维,得到的*W 也是一个d 维的向量。

向量*W 就是使Fisher 准则函数)(W J F 达极大值的解,也就是按Fisher 准则将d 维X 空间投影到一维Y 空间的最佳投影方向,该向量*W 的各分量值是对原d 维特征向量求加权和的权值。

以上讨论了线性判别函数加权向量W 的确定方法,并讨论了使Fisher 准则函数极大的d 维向量*W 的计算方法,但是判别函数中的另一项0W 尚未确定,一般可采用以下几种方法确定0W 如2~~210m m W +-= 或者 m N N m N m N W ~~~2122110=++-= 或当1)(ωp 与2)(ωp 已知时可用[]⎥⎦⎤⎢⎣⎡-+-+=2)(/)(ln 2~~2121210N N p p m m W ωω……当W 0确定之后,则可按以下规则分类,2010ωω∈→->∈→->X w X W X w X W TT使用Fisher 准则方法确定最佳线性分界面的方法是一个著名的方法,尽管提出该方法的时间比较早,仍见有人使用。

五、实验容已知有两类数据1ω和2ω二者的概率已知1)(ωp =0.6,2)(ωp =0.4。

1ω中数据点的坐标对应一一如下:数据:x1 =0.2331 1.5207 0.6499 0.7757 1.0524 1.1974 0.2908 0.2518 0.6682 0.5622 0.9023 0.1333 -0.5431 0.9407 -0.2126 0.0507 -0.0810 0.7315 0.3345 1.0650 -0.0247 0.1043 0.3122 0.6655 0.5838 1.1653 1.2653 0.8137 -0.3399 0.5152 0.7226 -0.2015 0.4070 -0.1717 -1.0573 -0.2099 x2 =2.3385 2.1946 1.6730 1.6365 1.7844 2.0155 2.0681 2.1213 2.4797 1.5118 1.9692 1.83401.87042.2948 1.7714 2.3939 1.5648 1.93292.2027 2.4568 1.7523 1.6991 2.4883 1.7259 2.0466 2.0226 2.3757 1.7987 2.0828 2.0798 1.9449 2.3801 2.2373 2.1614 1.9235 2.2604 x3 =0.5338 0.8514 1.0831 0.4164 1.1176 0.55360.6071 0.4439 0.4928 0.5901 1.0927 1.07561.0072 0.4272 0.4353 0.9869 0.4841 1.0992 1.0299 0.7127 1.0124 0.4576 0.8544 1.1275 0.7705 0.4129 1.0085 0.7676 0.8418 0.8784 0.9751 0.7840 0.4158 1.0315 0.7533 0.9548 数据点的对应的三维坐标为2x1 =1.4010 1.23012.0814 1.1655 1.3740 1.18291.7632 1.97392.4152 2.5890 2.8472 1.9539 1.2500 1.2864 1.2614 2.0071 2.1831 1.79091.3322 1.1466 1.7087 1.59202.9353 1.46642.9313 1.8349 1.8340 2.5096 2.7198 2.3148 2.0353 2.6030 1.2327 2.1465 1.5673 2.9414x2 =1.0298 0.9611 0.9154 1.4901 0.8200 0.9399 1.1405 1.0678 0.8050 1.2889 1.4601 1.4334 0.7091 1.2942 1.3744 0.9387 1.2266 1.18330.8798 0.5592 0.5150 0.9983 0.9120 0.71261.2833 1.1029 1.2680 0.7140 1.2446 1.3392 1.1808 0.5503 1.4708 1.1435 0.7679 1.1288 x3 =0.6210 1.3656 0.5498 0.6708 0.8932 1.43420.9508 0.7324 0.5784 1.4943 1.0915 0.76441.2159 1.3049 1.1408 0.9398 0.6197 0.6603 1.3928 1.4084 0.6909 0.8400 0.5381 1.3729 0.7731 0.7319 1.3439 0.8142 0.9586 0.7379 0.7548 0.7393 0.6739 0.8651 1.3699 1.1458数据的样本点分布如下图:图 1:样本点分布图六、实验要求1) 请把数据作为样本,根据Fisher 选择投影方向W 的原则,使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类样本投影尽可能密集的要求,求出评价投影方向W 的函数,并在图形表示出来。

并在实验报告中表示出来,并求使)(w J F 取极大值的*w 。

用matlab 完成Fisher 线性分类器的设计,程序的语句要求有注释。

2) 根据上述的结果并判断(1,1.5,0.6)(1.2,1.0,0.55),(2.0,0.9,0.68),(1.2,1.5,0.89),(0.23,2.33,1.43),属于哪个类别,并画出数据分类相应的结果图,要求画出其在W 上的投影。

3) 回答如下问题,分析一下W 的比例因子对于Fisher 判别函数没有影响的原因。

七、实验结果1、源代码x1=[0.2331 1.5207 0.6499 0.7757 1.0524 1.1974 ...0.2908 0.2518 0.6682 0.5622 0.9023 0.1333 ...-0.5431 0.9407 -0.2126 0.0507 -0.0810 0.7315 ...0.3345 1.0650 -0.0247 0.1043 0.3122 0.6655 ...0.5838 1.1653 1.2653 0.8137 -0.3399 0.5152 ...0.7226 -0.2015 0.4070 -0.1717 -1.0573 -0.2099]';y1=[2.3385 2.1946 1.6730 1.6365 1.7844 2.0155 ...2.0681 2.1213 2.4797 1.5118 1.9692 1.8340 ...1.87042.2948 1.7714 2.3939 1.5648 1.9329 ...2.2027 2.4568 1.7523 1.6991 2.4883 1.7259 ...2.0466 2.0226 2.3757 1.7987 2.0828 2.0798 ...1.94492.3801 2.2373 2.1614 1.9235 2.2604]';z1=[0.5338 0.8514 1.0831 0.4164 1.1176 0.5536 ...0.6071 0.4439 0.4928 0.5901 1.0927 1.0756 ...1.0072 0.4272 0.4353 0.9869 0.4841 1.0992 ...1.0299 0.7127 1.0124 0.4576 0.8544 1.1275 ...0.7705 0.4129 1.0085 0.7676 0.8418 0.8784 ...0.9751 0.7840 0.4158 1.0315 0.7533 0.9548]'; %存储第一类点x2=[1.4010 1.2301 2.0814 1.1655 1.3740 1.1829 ...1.7632 1.97392.4152 2.5890 2.8472 1.9539 ...1.2500 1.2864 1.26142.0071 2.1831 1.7909 ...1.3322 1.1466 1.7087 1.59202.9353 1.4664 ...2.9313 1.8349 1.8340 2.5096 2.7198 2.3148 ...2.0353 2.6030 1.2327 2.1465 1.5673 2.9414]';y2=[1.0298 0.9611 0.9154 1.4901 0.8200 0.9399 ...1.1405 1.0678 0.8050 1.2889 1.4601 1.4334 ...0.7091 1.2942 1.3744 0.9387 1.2266 1.1833 ...0.8798 0.5592 0.5150 0.9983 0.9120 0.7126 ...1.2833 1.1029 1.2680 0.7140 1.2446 1.3392 ...1.1808 0.5503 1.4708 1.1435 0.7679 1.1288]';z2=[0.6210 1.3656 0.5498 0.6708 0.8932 1.4342 ...0.9508 0.7324 0.5784 1.4943 1.0915 0.7644 ...1.2159 1.3049 1.1408 0.9398 0.6197 0.6603 ...1.3928 1.4084 0.6909 0.8400 0.5381 1.3729 ...0.7731 0.7319 1.3439 0.8142 0.9586 0.7379 ...0.7548 0.7393 0.6739 0.8651 1.36991.1458]'; %存储第二类点Pw1=0.6Pw2=0.4%求第一类点的均值向量m1m1x=mean(x1(:)) %全部平均m1y=mean(y1(:)) %全部平均m1z=mean(z1(:)) %全部平均m1=[m1xm1ym1z]%求第二类点的均值向量m2m2x=mean(x2(:)) %全部平均m2y=mean(y2(:)) %全部平均m2z=mean(z2(:)) %全部平均m2=[m2xm2ym2z]%求第一类类离散矩阵S1S1=zeros(3,3)for i=1:36S1=S1+([x1(i),y1(i),z1(i)]'-m1)*([x1(i),y1(i),z1(i)]'-m1)'end%求第二类类离散矩阵S2S2=zeros(3,3)for i=1:36S2=S2+([x2(i),y2(i),z2(i)]'-m2)*([x2(i),y2(i),z2(i)]'-m2)'end%求总类离散度矩阵SwSw=S1+S2%求向量W*W=(inv(Sw))*(m1-m2)%画出决策面x=0:.1:2.5y=0:.1:3[X,Y]=meshgrid(x,y)Z=(W(1)*X+W(2)*Y)/(-W(3))mesh(X,Y,Z)%保持hold on%透视决策面hidden off%求第一类样品的投影值均值Y1=0for i=1:36Y1=Y1+W'*[x1(i),y1(i),z1(i)]'endM1=Y1/36%求第二类样品的投影值均值Y2=0for i=1:36Y2=Y2+W'*[x2(i),y2(i),z2(i)]'endM2=Y2/36%选取阈值Y0Y0=(M1+M2)/2+(log(Pw1)/log(Pw2))/70%判定未知样品类别X1=[1,1.5,0.6]'if W'*X1>Y0disp('点X1(1,1.5,0.6)属于第一类')plot3(1,0.5,0.6,'or')elsedisp('点X1(1,1.5,0.6)属于第二类')plot3(1,0.5,0.6,'ob')endX2=[1.2,1.0,0.55]'if W'*X2>Y0disp('点X2(1.2,1.0,0.55)属于第一类') plot3(1.2,1.0,0.55,'or')elsedisp('点X2(1.2,1.0,0.55)属于第二类') plot3(1.2,1.0,0.55,'ob')endX3=[2.0,0.9,0.68]'if W'*X3>Y0disp('点X3(2.0,0.9,0.68)属于第一类') plot3(2.0,0.9,0.68,'or')elsedisp('点X3(2.0,0.9,0.68)属于第二类') plot3(2.0,0.9,0.68,'ob')endX4=[1.2,1.5,0.89]'if W'*X4>Y0disp('点X4(1.2,1.5,0.89)属于第一类') plot3(1.2,1.5,0.89,'or')elsedisp('点X4(1.2,1.5,0.89)属于第二类')plot3(1.2,1.5,0.89,'ob')endX5=[0.23,2.33,1.43]'if W'*X5>Y0disp('点X5(0.23,2.33,1.43)属于第一类')plot3(0.23,2.33,1.43,'or')elsedisp('点X5(0.23,2.33,1.43)属于第二类')plot3(0.23,2.33,1.43,'ob')end2、决策面图2:决策面(红色代表第一类,蓝色代表第二类)3、参数决策面向量W =-0.07980.2005-0.0478阈值Y0 =0.1828样本点分类X1 =1.00001.50000.6000点X1(1,1.5,0.6)属于第一类X2 =1.20001.00000.5500点X2(1.2,1.0,0.55)属于第二类X3 =2.00000.90000.6800点X3(2.0,0.9,0.68)属于第二类X4 =1.20001.50000.8900点X4(1.2,1.5,0.89)属于第二类X5 =0.23002.33001.4300点X5(0.23,2.33,1.43)属于第一类八、实验分析1、比例因子决策面向量W 的比例因子并不影响判别函数。

相关文档
最新文档