Fisher分类器设计

合集下载

机器学习实验1-Fisher线性分类器设计

机器学习实验1-Fisher线性分类器设计

一、实验意义及目的

掌握Fisher分类原理,能够利用Matlab编程实现Fisher线性分类器设计,

熟悉基于Matlab算法处理函数,并能够利用算法解决简单问题。

二、算法原理

Fisher准则基本原理:找到一个最合适的投影周,使两类样本在该轴上投影之间的距离尽可能远,而每一类样本的投影尽可能紧凑,从而使分类效果为最佳。

内容:

(1)尝试编写matlab程序,用Fisher线性判别方法对三维数据求最优方向w的通用函数(2)对下面表1-1样本数据中的类别w1和w2计算最优方向w

(3)画出最优方向w 的直线,并标记出投影后的点在直线上的位置

(4)选择决策边界,实现新样本xx1=(-0.7,0.58,0.089),xx2=(0.047,-0.4,1.04)的分类

三、实验内容

(1)尝试编写matlab程序,用Fisher线性判别方法对三维数据求最优方向w的通用函数程序清单:

clc

clear all

%10*3样本数据

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,.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=[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;-

线性分类器设计fisher准则

线性分类器设计fisher准则

线性分类器设计(fisher准则)

一、数据来源

参考文献:《车辆类型自动分类器的研究》农业装备与车辆工程,2007年9月,总第149期

二、设计分析

众所周知,最简单的判别函数是线性函数,最简单的分界面是超平面,采用线性判别函数所产生的错误率或风险虽然可能比贝叶斯分类器来得大。不过,它简单,容易实现,而且需要的计算量和存储量小。故在不要求太高精确度情况下,小样本时可采用此法。

采用上面文献中的数据集,利用fisher准则我们设计了一个线性的分类器。因为线性分类器只能处理两类问题,所以把原问题做了初步的处理。

选取的特征:

长高比( 汽车总长/汽车高度) : x1=L/H

顶篷相对位置( ( 车头坐标- 顶篷中心坐标) /汽

车总长) : x2=l1 /L

顶长比( 顶蓬长度/汽车总长) : x3=l /L

样本空间:

sample=[2.6522,0.5021,0.8951;

2.6240,0.4923,0.9823;%客车训练样本

2.9825,0.1922,0.3217;

3.0124,0.1596,0.1972;%货车训练样本

3.3345,0.6896,0.4217;

3.6532,0.6482,0.4576];%轿车训练样本

三、程序见fisher.m文件

四、结果分析

原文章中采用的的改进的BP神经网络算法,能很好的实现分类的效果。而在这里我们挑了6个训练集样本和3个测试集样本,也很好的实现了分类效果。但是,若对于大样本来说,贝叶斯分类器的效果更好。下图就是采用线性分类器的效果图。

客车样本和非客车样本

1 1.

Fisher分类器(算法及程序)

Fisher分类器(算法及程序)

3.5 Fisher分类器(Fisher Linear Discriminant)

Fisher 判别法是历史上最早提出的判别方法之一,其基本思想是将n 类m 维数据集尽可能地投影到一个方向(一条直线),使得类与类之间尽可能分开。从形式上看,该方法就是所谓的一种降维处理方法。为简单起见,我们以两类问题1和

2的分类来说明

Fisher 判别

法的原理,如图3.4所示。

设数据阵为X

R N

m

1共有N 1个样本,2共有N 2个样本,

N = N 1+N 2。两个类别在输入空间的均值向量为

1类

*w

最佳投影方向

2类

判为

判为

最不利投影方向

x p 1

x p 2

图3.4, Fisher 判别法几何原理示意图

)37.3(112

1

2

211⎪⎪⎩

⎪⎪⎨⎧∈=∈=∑∑∈∈m p

m

p R N R N p p

ϖϖ

x x x μx μ

设有一个投影方向()m

T m R w w w ∈=,,,21 w ,这两个均值向量

在该方向的投影为

)38.3(1~1~12221

1112

1⎪⎪⎩⎪⎪⎨⎧∈==∈==∑∑∈∈R N R N p p p

T T p T T ϖϖx x x w μw μx w μw μ

在w

方向,两均值之差为

()

)39.3(~~

2121μμw μμ -=-=∇T

类似地,样本总均值向量在该方向的投影为

)40.3(1~

11

R N

N

p p

T T ∈=

=∑=x w μw μ

定义类间散度(Between-class scatter)平方和SS B 为

()()()

(

)()

()()()()[

]

)

41.3(~

~~~~~2221112222112

Fisher线性分类器通俗解释及MATLAB、Python实现

Fisher线性分类器通俗解释及MATLAB、Python实现

Fisher线性分类器通俗解释及MATLAB、Python实现

⼀、通俗的解释:

问题提出:还是以iris的数据为例,有A、B、C三种花,每⼀类的特征都⽤4维特征向量表⽰。现在已知⼀个特征向量,要求对应的类别,⽽我们⼈可以直接通过眼睛看⽽作出分类的是在⼀维⼆维三维空间,⽽不适应这样的四维数据。

启⽰:假设有这样的⼀个⽅向向量,其与特征向量进⾏内积运算(即向⽅向向量的投影)后,结果为⼀个数值,若同类的特征向量投影后聚集在⼀起,不同类的特征投影后相对分散,那么,我们的⽬的就达到了。

⽬标:这样就有了⽅向,即要寻找⼀个独特的⽅向,使其达到我们的要求。

注:具体的推导过程,参看教科书,另外,在求解极值的时候,利⽤了矩阵论中的向量导数运算。

⼆、MATLAB程序:

clear

A=[5.1,3.5,1.4,0.2

4.9,3.0,1.4,0.2

4.7,3.2,1.3,0.2

4.6,3.1,1.5,0.2

5.0,3.6,1.4,0.2

5.4,3.9,1.7,0.4

4.6,3.4,1.4,0.3

5.0,3.4,1.5,0.2

4.4,2.9,1.4,0.2

4.9,3.1,1.5,0.1

5.4,3.7,1.5,0.2

4.8,3.4,1.6,0.2

4.8,3.0,1.4,0.1

4.3,3.0,1.1,0.1

5.8,4.0,1.2,0.2

5.7,4.4,1.5,0.4

5.4,3.9,1.3,0.4

5.1,3.5,1.4,0.3

5.7,3.8,1.7,0.3

5.1,3.8,1.5,0.3

5.4,3.4,1.7,0.2

5.2,4.1,1.5,0.1

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

(w

F

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

2)根据上述的结果并判断(1,,),,,,,,,,,(,,),属

于哪个类别,并画出数据分类相应的结果图,要求画出其在W上的投

影。

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

响的原因。

2、实验代码

x1 =[

];

x2 =[

];

x3 =[

];

%将x1、x2、x3变为行向量

x1=x1(:);x2=x2(:);x3=x3(:);

%计算第一类的样本均值向量m1

m1(1)=mean(x1);

m1(2)=mean(x2);

m1(3)=mean(x3);

%计算第一类样本类内离散度矩阵S1

S1=zeros(3,3);

for i=1:36

S1=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)];

基于Fisher的分类器设计

基于Fisher的分类器设计
F
Fisher分类器设计
最好投影方向 w S (m m ) 阈值点 y m m 2 N m N m y N N m m ln( P( ) / P( )) y 2 N N 2
* 1 w 1 2
1 2 0
1
1ቤተ መጻሕፍቲ ባይዱ
2
2
0
1
2
1
2
1
2
0
1
2
对于任意未知类别的样本x,计算它的投影点 y w x 决策规则为: y y , x
Fisher判别法的基本原理
Fisher 判别法基本原理是:对于 d维空间的样本,投影到一维坐标上,样 本特征将混杂在一起,难以区分。 Fisher判别法的目的,就是要找到一个最合 适的投影轴w,使两类样本在该轴上投影的交迭部分最少,从而使分类效果为 最佳。如何寻找一个投影方向,使得样本集合在该投影方向上最易区分,这就 是Fisher判别法所要解决的问题。Fisher投影原理如下所示。 Fisher准则函数的基本思路: 即向量w的方向选择应能使两类样本投影的均 值之差尽可能大些,而使类内样本的离散程度尽可能小。
i
w
S ( y m ) , i 1,2
2 i yyi i
S S S
w 1
2
Fisher分类器设计
Fisher准则函数定义原则为:希望投影后,在一维空间中样本类别区 分清晰,即两类样本的距离越大越好,也就是 (m m ) 均值之差越大

Fisher分类器(算法及程序)

Fisher分类器(算法及程序)

3.5 Fisher分类器(Fisher Linear Discriminant)

Fisher判别法是历史上最早提出的判别方法之一,其基本思想是将n类m维数据集尽可能地投影到一个方向(一条直线),使得类与类之间尽可能分开。从形式上看,该方法就是所谓的一种降维处理方法。为简单起见,我们以两类问题ω1和ω2的分类来说明Fisher判别法的原理,如图3.4所示。

设数据阵为X∈R N⨯m,ω1共有N1个样本,ω2共有N2个样本,N= N1+N2。两个类别在输入空间的均值向量为

图3.4, Fisher判别法几何原理示意图

)37.3(112

1

2

211⎪⎪⎩

⎪⎪⎨⎧∈=∈=∑∑∈∈m p

m

p R N R N p p

ϖϖ

x x x μx μρ

ρρρρρ

设有一个投影方向()m

T m R w w w ∈=,,,21Λρw ,这两个均值向量

在该方向的投影为

)38.3(1~1~12221

1112

1⎪⎪⎩⎪⎪⎨⎧∈==∈==∑∑∈∈R N R N p p p

T T p T T ϖϖx x x w μw μx w μw μρρρρρρρρρρρρ

在w ρ

方向,两均值之差为

()

)39.3(~~

2121μμw μμρρρρρ-=-=∇T

类似地,样本总均值向量在该方向的投影为

)40.3(1~

11

R N

N

p p

T T ∈=

=∑=x w μw μρρρρρ

定义类间散度(Between-class scatter)平方和SS B 为

()()()

(

)()

()()()()[

]

)

41.3(~~

~~~~22211122221122

Fisher准则线性分类器设计

Fisher准则线性分类器设计

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

1、 实验内容:

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

1ω中数据点的坐标对应一一如下:

数据:

x =

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 y =

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.8704 2.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.9449 2.3801 2.2373 2.1614 1.9235 2.2604 z =

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

基于Fisher准则线性分类器设计实验报告

基于Fisher准则线性分类器设计实验报告

北京邮电大学模式识别实验

实验二:基于Fisher准则线性分类器设计

专业:×××

学生姓名:×××

指导教师:×××

完成时间:××××

目录

一、实验类型 (3)

二、实验目的 (3)

三、实验条件 (3)

四、实验原理 (3)

五、实验内容 (5)

六、实验要求 (7)

七、实验结果 (8)

1、源代码 (8)

2、决策面 (11)

3、参数 (12)

决策面向量 (12)

阈值 (12)

样本点分类 (12)

八、实验分析 (13)

1、比例因子 (13)

2、语法障碍 (13)

一、实验类型

设计型:线性分类器设计(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 的函数为:

2

2

2122

1~~)~~()(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

Fisher分类器设计

Fisher分类器设计

Fisher分类器设计

班级:自092 姓名:刘昌元学号:099064370 一、实验目的:

1:根据fisher准则设计线性分类器

2:由fisher分类器训练样本数据

3:由fisher分类器测试样本观察出错率并与贝叶斯分类器的出错率比较判断两种分类器的性能优劣

4:将测试数据和决策面画在一张图上直观显示

三、实验所用函数:

类均值向量:∑=∈i

xj j i x N M χ1

类内离散度矩阵:T

i j i i

xj j i

M x M x S ))((--∑∈=χ

总类内离散度矩阵:21S S S w +=

类间离散度矩阵:T b M M M M S ))((2121--= 最有投影方向:)(211

*

M M S W w -=-

决策函数:0)

(w x w x G T +=

阈值:)(2

1210M w M w w T T

+-= 四、实验结果:

1:得到参数:最有投影向量和阈值

2:利用分类器输入身高和体重数据得到性别分类(实验结果如下)

w=[ 0.0012; 0.0003] threshold =0.2318

classify(165,56) 结果为“女” classify(178,70) 结果为“男”3:fisher准则分类器的出错率统计:

测试test1:

实际个数分类个数出错率

男生84.0000 31.0000 0.6310

女生40.0000 93.0000 1.3250

测试test2:

4:bayes分类器测试出错统计:

测试test1:

测试test2:

结论:很显然bayes分类器比fisher分类器准确率高的多。4:分类面决策图:

FISHER分类器(FISHER

FISHER分类器(FISHER

3.5 Fisher分类器(Fisher Linear Discriminant)

Fisher判别法是历史上最早提出的分类方法之一,其基本思想是将n类m维数据集尽可能地投影到一个方向(一条直线),使得类与类之间尽可能地分开。从形式上看,该方法就是一种所谓的降维处理方法。为简单起见,我们以两类问题ω1和ω2的分类来说明Fisher判别法的原理,如图3.5所示。

设训练集数据阵为X∈R N⨯m,ω1共有N1个样本,ω2共有N2个样本,样本总数N= N1+N2,这两个类别在输入空间的均值向量为

图3.5, Fisher判别法几何原理示意图

)37.3(112

12211⎪⎪⎩

⎪⎪⎨⎧∈=∈=∑

∈∈m p m p R N R N p

p ω

ωx x

x μx μ

设有一个投影方向()m

T m R w w w ∈=,...,,21w ,这两个均值向量

在该方向的投影为

)38.3(1~1~

122211112

1⎪⎪⎩

⎪⎪⎨⎧∈==∈==∑

∈∈R N R N p

p p T T p T T ϖ

ϖx x

x w μw μx w μw μ

(3-38)表示的是两个数。在w

方向,两均值之差为

()

)39.3(~~

2121μμw μμ -=-=∇T

类似地,样本总均值向量在该方向的投影为

)40.3(1~

1

1

R N

N

p p T T ∈=

=∑

=x w μw μ

定义类间散度(Between-class scatter )平方和SS B 为

()()(

)

()()

()()()()[]

)

41.3(~~~

~~~2221112

222112

2

1

222211w

Fisher准则线性分类器设计

Fisher准则线性分类器设计

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

1、 实验内容:

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

1ω中数据点的坐标对应一一如下:

数据:

x =

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

y =

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

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

2.3801 2.2373 2.1614 1.9235 2.2604

z =

0.5338 0.8514 1.0831 0.4164 1.1176 0.5536

0.6071 0.4439 0.4928 0.5901 1.0927 1.0756

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

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

作业二 F i s h e r

线性判别分类器

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

二 实验条件

Matlab 软件

三 实验原理

线性判别函数的一般形式可表示成

0)(w X W X g T += 其中

根据Fisher 选择投影方向W 的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求,用以评价投影方向W 的函数为:

)(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 如 或者 m N N m N m N W ~~~2

122110=++-= 或当1)(ωp 与2)(ωp 已知时可用

feisher线性判别分类器的设计实验报告()

feisher线性判别分类器的设计实验报告()

实验二 Fisher 线性判别实验

一、实验目的

应用统计方法解决模式识别问题的困难之一是维数问题, 低维特征空间的分类问题一般比高维空间分类问题简单。 因此, 人们力图将特征空间进行降维, 降维的一个基本思路是将 d 维特征空间投影到一条直线上, 形成一维空间, 这在数学上比较容易实现。 问题的关键是投影之后原来线性可分的样本可能变为线性不可分。 一般对于线性可分的样本, 总能找到一个投影方向, 使得降维后样本仍然线性可分。 如何确定投影方向使得降维以后, 样本不但线性可分, 而且可分性更好(即不同类别的样本之间的距离尽可能远,同一类别的样本尽可能集中分布),就是 Fisher 线性判别所要解决的问题。

本实验通过编制程序让初学者能够体会 Fisher 线性判别的基本思路,理解线性判别的基本思想,掌握 Fisher 线性判别问题的实质。

二、实验原理

Fisher 线性判别分类器(Fisher Linear Discriminant Analysis,FLDA ),此方法的

基本思想是在Fisher 准则下,先求解最佳鉴别矢量,然后将高维的样本投影到最佳鉴别矢量张成的空间,使投影后的样本在低维空间有最大类间距离和最小类内距离,这样在低维空间中样本将有最佳的可分性,分类是一项非常基本和重要的任务,并有着极其广泛的应用。分类是利用预定的已分类数据集构造出一个分类函数或分类模型(也称作分类器),并利用该模型把未分类数据映射到某一给定类别中的过程。分类器的构造方法很多,主要包括规则归纳、决策树、贝叶斯、神经网络、粗糙集、以及支持向量机(SVM)等方法。其中贝叶斯分类方法建立在贝叶斯统计学[v1和贝叶斯网络[s1基础上,能够有效地处理不完整数据,并且具有模型可解释、精度高等优点,而被认为是最优分类模型之一[9]。尤其是最早的朴素贝叶斯分类器[l0l 虽然结构简单,但在很多情况下却具有相当高的分类精度,可以达到甚至超过其它成熟算法如c4.5[l ’]的分类精度,而且对噪声数据具有很强的抗干扰能力。因此,对贝叶斯分类算法的深入研究,无论对其理论的发展,还是在实际中的应用,都具有很重要的意义。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Fisher分类器设计

班级:自092 姓名:刘昌元学号:099064370 一、实验目的:

1:根据fisher准则设计线性分类器

2:由fisher分类器训练样本数据

3:由fisher分类器测试样本观察出错率并与贝叶斯分类器的出错率比较判断两种分类器的性能优劣

4:将测试数据和决策面画在一张图上直观显示

三、实验所用函数:

类均值向量:∑=∈i

xj j i x N M χ1

类内离散度矩阵:T

i j i i

xj j i

M x M x S ))((--∑∈=χ

总类内离散度矩阵:21S S S w +=

类间离散度矩阵:T b M M M M S ))((2121--= 最有投影方向:)(211

*

M M S W w -=-

决策函数:0)

(w x w x G T +=

阈值:)(2

1210M w M w w T T

+-= 四、实验结果:

1:得到参数:最有投影向量和阈值

2:利用分类器输入身高和体重数据得到性别分类(实验结果如下)

w=[ 0.0012; 0.0003] threshold =0.2318

classify(165,56) 结果为“女” classify(178,70) 结果为“男”3:fisher准则分类器的出错率统计:

测试test1:

实际个数分类个数出错率

男生84.0000 31.0000 0.6310

女生40.0000 93.0000 1.3250

测试test2:

4:bayes分类器测试出错统计:

测试test1:

测试test2:

结论:很显然bayes分类器比fisher分类器准确率高的多。4:分类面决策图:

五、程序:

程序1:求最有投影方向和阈值

%程序功能:应用fisher分类方法,使用训练数据获得阈值和最佳变换向量(投影方向)% function fisher(boys,girls) %调用男生和女生的训练样本数据%

A=boys.';

B=girls.';

[k1,l1]=size(A);

[k2,l2]=size(B);

M1=sum(boys);

M1=M1.';

M1=M1/l1; %求男生身高与体重的均值%

M2=sum(girls);

M2=M2.';

M2=M2/l2; %求女生身高与体重的均值%

S1=zeros(k1,k1);

S2=zeros(k2,k2);

for i=1:l1

S1=S1+(A(:,i)-M1)*((A(:,i)-M1).'); %求类内离散度矩阵S1%

end

for i=1:l2

S2=S2+(B(:,i)-M2)*((B(:,i)-M2).'); %求类内离散度矩阵S2%

end

for i=1:2

for j=1:2

Sw(i,j)=S1(i,j)+S2(i,j); %求总类内离散度矩阵Sw%

end

end

w=inv(Sw)*(M1-M2) %求最有投影方向%

wT=w.';

for i=1:l1

Y1(i)=wT(1,1)*A(1,i)+wT(1,2)*A(2,i); %由分类函数g(x)=wT*x求男生身高和体重的阈值%

end

for i=1:l2

Y2(i)=wT(1,1)*B(1,i)+wT(1,2)*B(2,i); %由分类函数g(x)=wT*x求女生身高和体重的阈值%

end

m1=sum(Y1)/l1; %阈值平均%

m2=sum(Y2)/l2; %阈值平均%

threshold=(l1*m1+l2*m2)/(l1+l2) %求fisher决策面的阈值%

程序2:构成fisher判别器

%函数功能:应用Fisher准则构成的分类器判断一个身高体重二维数据的性别

%函数使用方法:输入classify(hight,weight)其中hight和weight分别是身高和体重的数据

function value=classify(hight,weight)

w=[0.0012;0.0003];

threshold=0.2318;

tem=[hight;weight]; %将输入的身高和体重数据构成列向量%

result=(w.')*tem; %根据fisher判别式求判别值%

if result>threshold %判别值和决策面阈值比较%

value=1;

else

value=0;

end

程序3:

%功能:调用Fisher分类器统计出错率

%开发者:安徽工业大学自动化092班刘昌元function result=Error(file)

[m,n]=size(file);

Boy=0;

Girl=0;

boy=0;

girl=0;

for i=1:m

if(file(i,3)==0)

Girl=Girl+1;

else

Boy=Boy+1;

end

A(i,1)=file(i,1);

A(i,2)=file(i,2);

end

w=[0.0012;0.0003];

threshold =0.2318;

for i=1:m

classify(A(i,1),A(i,2));

if(ans==0)

girl=girl+1;

else

boy=boy+1;

end

end

tem1=abs(Boy-boy)/Boy;

tem2=abs(Girl-girl)/Girl;

result(1,1)=Boy;

result(1,2)=boy;

result(1,3)=tem1;

result(2,1)=Girl;

result(2,2)=girl;

result(2,3)=tem2;

程序4:

%程序:画图

相关文档
最新文档