模式识别大作业1
更新时间:2024-01-16 16:10:02 阅读量: 教育文库 文档下载
模式识别大作业
学号:021151** 姓名:** 任课教师:张**
--fisher线性判别和近邻法
I. Fisher线性判别
A. fisher线性判别简述
在应用统计方法解决模式识别的问题时,一再碰到的问题之一是维数问题.在低维空间里解析上或计算上行得通的方法,在高维里往往行不通.因此,降低维数就成为处理实际问题的关键.
我们考虑把d维空间的样本投影到一条直线上,形成一维空间,即把维数压缩到一维.这样,必须找一个最好的,易于区分的投影线.这个投影变换就是我们求解的解向量w*.
B.fisher线性判别的降维和判别
1.线性投影与Fisher准则函数
各类在d维特征空间里的样本均值向量:
Mi?1nixk?Xi?xk,i?1,2 (1)
通过变换w映射到一维特征空间后,各类的平均值为:
mi?1niyk?Yi?yk,i?1,2 (2)
映射后,各类样本“类内离散度”定义为:
Si2?yk?Yi?(yk?mi)2,i?1,2 (3)
显然,我们希望在映射之后,两类的平均值之间的距离越大越好,而各类的样本类内离散度越小越好。因此,定义Fisher准则函数:
JF(w)?|m1?m2|2s12?s22 (4)
*使J最大的解w就是最佳解向量,也就是Fisher的线性判别式。
F2.求解w
*从JF(w)的表达式可知,它并非w的显函数,必须进一步变换。 已知:
mi?mi?1niyk?Yi?yk,i?1,2, 依次代入上两式,有:
1TT1T,i?1,2 (5) wx?w(x)?wM?knx?kinixk?Xiik?Xi2TT2T2|m?m|?||wM?wM||?||w(M?M)||121212所以:
TTT ?w(M1?M2)(M1?M2)w?wSbw (6)
其中:Sb?(M1?M2)(M1?M2) (7)
Sb是原d维特征空间里的样本类内离散度矩阵,表示两类均值向量之间的离散度大小,
T因此,Sb越大越容易区分。
T将(4.5-6)mi?wMi和(4.5-2)
Mi?1nixk?Xi?xk代入(4.5-4)S式中:
2iSi2?xk?Xi?(wxTk?wTMi)2
?wT?xk?Xi?(xk?Mi)(xk?Mi)T?w?wTSiw (8)
其中:
Si?xk?Xi?(xk?Mi)(xk?Mi)T,i?1,2 (9)
22TTS?S?w(S?S)w?wSww (10) 1212因此:
显然:Sw?S1?S2 (11)
Sw称为原d维特征空间里,样本“类内离散度”矩阵。
Sw是样本“类内总离散度”矩阵。
为了便于分类,显然Si越小越好,也就是Sw越小越好。 将上述的所有推导结果代入JF(w)表达式: 可以得到:
w*???1?Sw(M1?M2)?其中,?是一个比例因子,不影响w的方向,可以删除,从而得到最
*后解:
w*?Sw(M1?M2)?1 (12)
*就使JF(w)取得最大值,w可使样本由d维空间向一维空间映射,其投影方向最好。
w*?Sw(M1?M2)?1是一个Fisher线性判断式.这个向量指出了相对于Fisher准则函数最好的投影
线方向。 C.算法流程图
左图为算法的流程设计图。
II.近邻法
A. 近邻法线简述
K最近邻(k-Nearest Neighbor,KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 KNN方法虽然从原理上也依赖于极限定理,但在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。
将与测试样本最近邻样本的类别作为决策的结果。对一个C类别问题,每类有Ni个样本,i?1,2,?C,则第i类?i的判别函数为:
gi(x)?min||x?xik||,k?1,2,?,Ni (1)
k因此,最近邻决策规则:
若 gj(x)?mingi(x),i?1,2,?c (2)
i则决策 x??j
III. 实验仿真
实验设计: 1)实验内容
对下列数据进行判别。在每一类里面随机选一半作为训练样本,另一半作为测试样本。来判别属于第一类的是否都正确,属于第二类中是否都属于第二类。
文件名 Sonar.xls Wdbc.data 类别数
2 2 维数 60 30 样本数 208 569
用fisher判别法和对这两组数据进行判别。 B.代码设计 1.fisher判别
%%
clc, clear;
M = xlsread('E:\\power\\专业课程\\大作业们\\sonar.xls'); %读取数据
sum1 = 0; sum2 = 0;
for iii=1:10
[aa, bb] = size(M); num1 = 1; num2 = 1; for n=1:aa if M(n, bb)==1
Data1(num1,:) = (M(n, 1:bb-1)); num1 = num1+1; else
Data2(num2,:) = (M(n, 1:bb-1)); num2 = num2+1; end end
d1=Data1( randsample([1:num1-1],floor(num1/2)), :); d2=Data2( randsample([1:num2-1],floor(num2/2)), :); m1 = mean(d1); m2 = mean(d2);
S1 = zeros(bb-1,bb-1); for ii = 1:floor(num1/2)
S1 = S1 + (d1(ii,:)-m1)' * (d1(ii,:)-m1); end
S2 = zeros(bb-1,bb-1); for ii = 1:floor(num2/2)
S2 = S2 + (d2(ii,:)-m2)' * (d2(ii,:)-m2); end
Sw = S1+S2;
w = inv(Sw) * (m1 - m2)';
for ii=1:floor(num1/2) dd1(ii)= w'* d1(ii,:)'; end
for ii = 1:floor(num2/2) dd2(ii)= w'* d2(ii,:)';
end
mm1 = mean(dd1')'; mm2 = mean(dd2')';
yo = (mm1 + mm2)/2; for ii=1:208
y = w' * M (ii,1 : bb-1)'; if (y >= yo) result(ii) = 1; elseif y < yo result(ii) = 2; % else
% result(ii) = 4; end end
err = M(:,61)-result'; err1 = err(1:num1-1); err2 = err(num1:aa);
ErrRate1 = sum(abs(err1))/(num1-1); sum1 = sum1 + ErrRate1;
ErrRate2 = sum(abs(err2))/(num2-1); sum2 = sum2 + ErrRate2; end
correctrate1 = 1 - sum1/10 correctrate2 = 1 - sum2/10
figure (1) hold on
plot(dd1,'^'); plot(dd2,'*')
figure (2) hold on
plot(d1,'^'); plot(d2,'*')
2.近邻法 %对wdbc数据求解
clc; clear;
M = csvread('E:\\power\\专业课程\\大作业们\\wdbc.csv'); [aa, bb] = size(M);%求行数(aa),求列数(bb) sum1= 0; sum2= 0; for iii=1:10 num1 = 1; num2 = 1; for n=1:aa if M(n, 1) == 1
Data1(num1,:) = M(n, 2:bb); %按行抽取数据
num1 = num1+1; else
Data2(num2,:) = M(n, 2:bb); %抽取数据 num2 = num2+1; end end
vector1 = randsample([1:num1-1],floor(num1/2)); vector2 = randsample([1:num2-1],floor(num2/2)); d1=Data1( vector1, :); %取一半的数据 d2=Data2( vector2, :);
for ii=1:aa
min1=inf; %初始化min1为最小值 for jj=1:floor(num1/2)
x=norm(M(ii,2:bb)-d1(jj,:)); if(x
%训练样本和第一组样本比较
min2=inf;
for jj=1:floor(num2/2)
x=norm(M(ii,2:bb)-d2(jj,:)); if(x
%训练样本和第二组样本比较 %找出最短欧氏距离
if min1
result(ii, 1) = 1; else
result(ii, 1) = 2; end end
counter1 = 0; counter2 = 0; for ii = 1:aa
if M(ii, 1)-result(ii,1) == -1 counter1= counter1+ 1;
elseif M(ii, 1)-result(ii,1) == 1 counter2= counter2+ 1; end end
correctrate1= 1 - abs(counter1)/aa ; %第一类错分到第二类(第一类被判别为第一类)
correctrate2= 1 - counter2/aa ; %第二类错分到第一类(第二类被判别为第二类)correctrate1
sum1= correctrate1+ sum1; sum2= correctrate2+ sum2; end
correctrate1= sum1/10 correctrate2= sum2/10
C.实验结果及分析
1)sonar数据 1)fisher判别
图1, sonar数据的fisher判别识别率
分析:随机在第一类里面选取一半的数据作为训练样本,然后与全部的数据进行作差比较,看剩下的原本属于第一类的样本是否也属于第一类,若测试样本仍然属于第一类,就计数得到正确率;若不为第一类,则计数得到错误率。在sonar样本中,用fisher判别得到的上组数据的识别率如上图。识别率的高低意味着原本分类的正确程度。这就说明原本这两类数据的给出已经分的较开。
图2,sonar数据fisher判别的降维分类图
上图是sonar六十维度的数据经过降维得到的二维图像,可以很明显的看出,在第二类里面有一个‘*’被错分。而w*也可以清晰的看出他的大致范围。我不太会把他们投影到一条一线上,像网上得到的那种图,但是用这个图也可以清晰的看出他的划分程度。
2)近邻法
图3,sonar数据的近邻法识别率
分析:近邻法同样是在两类里面选取一半的数据作为实验样本,另一半作为测试样本,过程是用测试的样本与第一类里的实验样本和第二类里的实验样本分别做欧氏距离。假设用第一类的测试样本中的一个数据做测试,若与第一类中得到的欧式距离最近则划分为第一类,同时也证明了原来划分是正确的;若与第二类中的得到的欧式距离最近则划分为第二类,计数它为错误的划分。
近邻法得到的识别率比fisher得到的识别率高,这也说明了近邻法比fisher更优。 2.wdbc数据 1)fisher判别
图4,wdbc数据的fisher判别识别率
Wdbc是30维度的数据测试结果如上图。得到的识别率相对较高。
图5,wdbc数据的fisher判别降维分类图 2)近邻法
图6,wdbc数据的近邻法识别率
VI. 报告总结
通过本次大作业,我深刻的理解了fisher判别和近邻法,并对matlab也有了一定的学习。为了写好大作业,要在网上进行资料查找,和别人对比,让自己的大作业有更多的亮点。编程能力也有了不少的提升。对matlab环境不太熟悉,很多语句思想都来自c语言,但是本质的东西并没有太多变化,理解了fisher的降维和分类思想,理解了近邻法的求欧氏距离和其判别思想,编程也就容易多了。通过这次大作业确实进步不少。感谢老师能给我们这个机会!
图5,wdbc数据的fisher判别降维分类图 2)近邻法
图6,wdbc数据的近邻法识别率
VI. 报告总结
通过本次大作业,我深刻的理解了fisher判别和近邻法,并对matlab也有了一定的学习。为了写好大作业,要在网上进行资料查找,和别人对比,让自己的大作业有更多的亮点。编程能力也有了不少的提升。对matlab环境不太熟悉,很多语句思想都来自c语言,但是本质的东西并没有太多变化,理解了fisher的降维和分类思想,理解了近邻法的求欧氏距离和其判别思想,编程也就容易多了。通过这次大作业确实进步不少。感谢老师能给我们这个机会!
正在阅读:
模式识别大作业101-16
公司人事专员2022年度个人述职报告范文03-25
心中的美味作文300字07-04
未来的世界作文03-31
2019年法院上半年工作总结02-26
冶金等工贸企业安全生产标准化基本规范评分细则(印刷)03-29
经典骚话02-12
MAC编码01-22
化工管道设计技术词汇(新中英对照完整版)09-02
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 识别
- 作业
- 模式
- 管沟支护方案及预算
- 规则的演变教学设计
- 江苏卫视《一站到底》的1000道题(上)
- 同位素地球化学复习题
- 2003年1月—2011年1月学前儿童家庭教育试题和答案
- 质检标准云南省塔机式起重机拆装统一记录表格 - 图文
- 完美升级版毕业论文设计论企业负债经营与财务风险的控制
- 第一轮复习专题训练:字形
- 太一教人物一斑第六
- 浙江省电镀行业污染整治方案 - “56条”验收标准解读
- 中共北京市委教育工作委员会
- 男女生杠端跳起成支撑—分腿坐前进 - 支撑摆动前摆下单元计划
- 河南省职称工作信息系统个人版使用说明
- 新会葵城中学数学各题得分
- 《商海通牒》:一将功成万骨枯
- 歌唱比赛评分细则(权威版)
- 2011年生命科学学院团委学生会干部培训11
- 统计指数:第三节(第三节指数体系与因素分析)
- 2014届高三化学一轮复习教学案3.1钠及其化合物
- 《学写人物对话中的提示语》教学案例