FISHER分类

发布时间:2014-12-11 17:06:28   来源:文档文库   
字号:

Fisher线性判别分类器

成员姓名: 学号:

莫文敏 201111921217

赵越 201111921229

顾瑞煌 201111921104

一、实验目的

1.实现基于FISHER分类的算法程序

2.能够根据自己的设计加深对FISHER分类的认识

3.掌握FISHER分类的原理、特点

二、实验设备

1.手提电脑

2.MATLAB

三、FISHER算法原理

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

其中

但是,在应用统计方法解决模式识别的问题时,经常会遇到“维数风暴”的问题,因此压缩特征空间的维数在此时十分重要,FISHER方法实际上是涉及维数压缩的问题。

把多为特征空间的点投影到一条直线上,就能把特征空间压缩成一维,这在数学上是很容易做到的。但是在高维空间里很容易一分开的样品,把它们投射到任意一条直线上,有可能不同类别的样品就混在一起,无法区分了,如图5-16a)所示,投影轴无法区分。若把直线绕原点转动一下,就有可能找到一个方向,样品投射到这个方向的直线上,各类样品就能很好地分开,如图5-16b)所示。因此直线方向的选择是很重要的。一般来说总能找到一个最好的方向,使样品投射到这个方向的直线上很容易分开。如何找到这个最好的直线方向以及如何实现向最好方向投影的变换,这正是FISHER算法要解决的基本问题,这个投影变换正是我们寻求的解向量

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

计算各类样品均值向量:

(5-54)

——各个类的均值,——类的样品个数)

计算样品类内离散度矩阵和总类内离散度矩阵

5-55

5-56

计算样品类间离散度矩阵

5-57

求向量

为使投影后,在一维Y空间里各类样品尽可能地分开,两类样品均值之差应该越大越好,同时要使各类样品内部尽量密集,即类内离散度应该越小越好,则定义FISHER准则函数为:

5-58

令使得取的最大值的

5-59

将训练集内所有样品进行投影

5-60)

计算在投影空间上的阈值

在一维Y空间,各类样品均值

5-61

样品类内离散度和总类内离散度

5-62)

(5-63)

阈值的选取可以有不同的方案,较常用的一种是

5-64

另一种是

5-65

对于给定的X。计算它在上的投影点

根据决策规则分类

(5-66)

三、实验过程

对以下给出的问题进行处理:

假定某个局部区域细胞识别中正常()和非正常()两类先验概率分别为

正常状态:P=0.7

异常状态:P=0.3

这两种细胞,其观察值分别为

=[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];

=[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];

=[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];

x4 =[1.4010 1.2301 2.0814 1.1655 1.3740 1.1829

1.7632 1.9739 2.4152 2.5890 2.8472 1.9539

1.2500 1.2864 1.2614 2.0071 2.1831 1.7909

1.3322 1.1466 1.7087 1.5920 2.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];

x5 =[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];

x6 =[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.3699 1.1458];

对以上数据进行Fisher分类,结果如图(1)、图(2)所示

(1) 图(2

4、实验程序及结果分析

clc % Clears the command window and homes the cursor.

% w1ÀàѵÁ·Ñù±¾£¬10×飬ÿ×éΪÐÐÏòÁ¿¡£

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

x3 =[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];

w1=[x1;x2;x3];

% w2ÀàѵÁ·Ñù±¾£¬10×飬ÿ×éΪÐÐÏòÁ¿¡£

x4 =[1.4010 1.2301 2.0814 1.1655 1.3740 1.1829

1.7632 1.9739 2.4152 2.5890 2.8472 1.9539

1.2500 1.2864 1.2614 2.0071 2.1831 1.7909

1.3322 1.1466 1.7087 1.5920 2.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];

x5 =[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];

x6 =[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.3699 1.1458];

w2=[x4;x5;x6];

xx1=[-0.7,0.58,0.089]'; % ²âÊÔÊý¾Ýxx1£¬ÎªÁÐÏòÁ¿¡£

xx2=[0.047,-0.4,1.04]'; % ²âÊÔÊý¾Ýxx2£¬ÎªÁÐÏòÁ¿¡£

s1= cov(w1,1); % w1ÀàÑù±¾ÀàÄÚÀëÉ¢¶È¾ØÕó

m1= mean(w1)'; % w1ÀàÑù±¾¾ùÖµÏòÁ¿£¬ÎªÁÐÏòÁ¿

s2= cov(w2,1); % w2ÀàÑù±¾ÀàÄÚÀëÉ¢¶È¾ØÕó

m2= mean(w2)'; % w2ÀàÑù±¾¾ùÖµÏòÁ¿£¬ÎªÁÐÏòÁ¿

sw=s1+s2; % ×ÜÀàÄÚÀëÉ¢¶È¾ØÕó

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),'r*')

hold on

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

end

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),'rx')

hold on

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

end

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

实验结果和数据:

首先根据求出最佳投影方向,然后按照此方向,将待测数据进行投影 。数据的样本点分布如图(3):

图(3

其中,红色的*是给出的第一类样本点,蓝色的五角星是第二类样本点。图(2)的点连成的方向是最佳投影方向。待测数据投影在其上,圆圈是被分为第一类的样本点,十字是被分为第二类的样本点。

使取极大值的W =-7.61204.5377 -0.9378)。

本文来源:https://www.2haoxitong.net/k/doc/3e46aea3a1c7aa00b52acba3.html

《FISHER分类.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式