模式识别大作业1.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

模式识别大作业

--fisher线性判别和近邻法

学号:021151**

姓名:**

任课教师:张**

I.Fisher线性判别

A.fisher线性判别简述

在应用统计方法解决模式识别的问题时,一再碰到的问题之一是维数问题.在低维空间里解析上或计算上行得通的方法,在高维里往往行不通.因此,降低维数就成为处理实际问题的关键.

我们考虑把维空间的样本投影到一条直线上,形成一维空间,即把维数压缩到一维.这样,必须找一个最好的,易于区分的投影线.这个投影变换就是我们求解的解向量.

B.fisher线性判别的降维和判别

1.线性投影与Fisher准那么函数

各类在维特征空间里的样本均值向量:

,(1)

通过变换映射到一维特征空间后,各类的平均值为:

,(2)

映射后,各类样本“类内离散度”定义为:

,(3)

显然,我们希望在映射之后,两类的平均值之间的距离越大越好,而各类的样本类内离散度越小越好。因此,定义Fisher准那么函数:

(4)

使最大的解就是最正确解向量,也就是Fisher的线性判别式。

2.求解

从的表达式可知,它并非的显函数,必须进一步变换。

:,,依次代入上两式,有:

,(5)

所以:

(6)

其中:(7)

是原维特征空间里的样本类内离散度矩阵,表示两类均值向量之间的离散度大小,因此,越大越容易区分。

将(4.5-6)和(4.5-2)代入(4.5-4)式中:

(8)

其中:,(9)

因此:(10)

显然:(11)

称为原维特征空间里,样本“类内离散度”矩阵。

是样本“类内总离散度”矩阵。

为了便于分类,显然越小越好,也就是越小越好。

将上述的所有推导结果代入表达式:

可以得到:

其中,是一个比例因子,不影响的方向,可以删除,从而得到最后解:

(12)

就使取得最大值,可使样本由维空间向一维空间映射,其投影方向最好。是一个Fisher线性判断式.这个向量指出了相对于Fisher准那么函数最好的投影线方向。

C.算法流程图

左图为算法的流程设计图。

II.近邻法

近邻法线简述

K最近邻(k-NearestNeighbor,KNN)分类算法,是一个理论上比拟成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,那么该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。

将与测试样本最近邻样本的类别作为决策的结果。对一个类别问题,每类有个样本,,那么第类的判别函数为:

(1)

因此,最近邻决策规那么:

假设(2)

那么决策

III.实验仿真

实验设计:

实验内容

对以下数据进行判别。在每一类里面随机选一半作为训练样本,另一半作为测试样本。来判别属于第一类的是否都正确,属于第二类中是否都属于第二类。

文件名

类别数

维数

样本数

Sonar.xls

2

60

208

Wdbc.data

2

30

569

用fisher判别法和对这两组数据进行判别。

B.代码设计

1.fisher判别

%%

clc,clear;

M=xlsread('E:\power\专业课程\大作业们\sonar.xls');%读取数据

sum1=0;

sum2=0;

foriii=1:10

[aa,bb]=size(M);

num1=1;

num2=1;

forn=1:aa

ifM(n,bb)==1

Data1(num1,:)=(M(n,1:bb-1));

文档评论(0)

199****4744 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7002121022000045

1亿VIP精品文档

相关文档