当前位置:文档之家› FISHER线性判别MATLAB实现

FISHER线性判别MATLAB实现

FISHER线性判别MATLAB实现
FISHER线性判别MATLAB实现

Fisher 线性判别上机实验报告

班级: 学号: 姓名:

一.算法描述

Fisher 线性判别分析的基本思想:选择一个投影方向(线性变换,线性组合),将高维问题降低到一维问题来解决,同时变换后的一维数据满足每一类内部的样本尽可能聚集在一起,不同类的样本相隔尽可能地远。

Fisher 线性判别分析,就就是通过给定的训练数据,确定投影方向W 与阈值w0, 即确定线性判别函数,然后根据这个线性判别函数,对测试数据进行测试,得到测试数据的类别。

线性判别函数的一般形式可表示成0)(w X W X g T += 其中

?????

??=d x x X Λ1 ??????

? ??=d w w w W Λ21

Fisher 选择投影方向W 的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求。 如下为具体步骤:

(1)W 的确定

样本类间离散度矩阵b S

在投影后的一维空间中,各类样本均值T

i

i

m '= W

m

样本类内离散度与总类内离散度 T T

i i w

w S ' = W S W S ' = W S W 样本类间离散度T

b

b S ' = W S W Fisher 准则函数为 max 22

212

21

~~)~~()(S S m m W J F +-=

(2)阈值的确定

w 0

就是个常数,称为阈值权,对于两类问题的线性分类器可以采用下属决策规

则:

令)

()()(2

1

x x x g g g -=则:

如果g(x)>0,则决策w x 1∈;如果g(x)<0,则决策w x 2∈;如果g(x)=0,则可将x 任意分到某一类,或拒绝。

(3)Fisher 线性判别的决策规则 Fisher 准则函数满足两个性质:

1、投影后,各类样本内部尽可能密集,即总类内离散度越小越好。

2、投影后,各类样本尽可能离得远,即样本类间离散度越大越好。 根据这个性质确定准则函数,根据使准则函数取得最大值,可求出

W :-1

w 12W = S (m - m ) 。

这就就是Fisher 判别准则下的最优投影方向。 最后得到决策规则

T

1212S (m m )(m m )

b =--

P

P

m

m

w

w

w

x

x

g T

)

(

)

(

2

1

1

2

log

))

(

2

1

(

)

(大于或小于

+

-

=

,则

{1

2

w

w

x∈

对于某一个未知类别的样本向量x,如果y=W T·x>y0,则x∈w1;否则x∈w2。二.数据描述

1、iris数据

IRIS数据集以鸢尾花的特征作为数据来源,数据集包含150个数据集,有4维,分为3 类,每类50个数据,每个数据包含4个属性,就是在数据挖掘、数据分类中非常常用的测试集、训练集。

2、sonar数据

Sonar数据集包含208个数据集,有60维,分为2类,第一类为98个数据,第二类为110个数据,每个数据包含60个属性,就是在数据挖掘、数据分类中非常常用的测试集、训练集。

三.实验结果以及源代码

1、Iris

(1)代码:

clc

clear

data=xlsread('Iris');

Iris1=data(1:50,1:4);

Iris2=data(51:100,1:4);

Iris3=data(101:150,1:4);

%类均值向量

m1 = mean(Iris1);

m2 = mean(Iris2);

m3 = mean(Iris3);

%各类内离散度矩阵

s1 = zeros(4);

s2 = zeros(4);

s3 = zeros(4);

for i=1:1:30

s1 = s1 + (Iris1(i,:) - m1)'*(Iris1(i,:) - m1); end

for i=1:1:30

s2 = s2 + (Iris2(i,:) - m2)'*(Iris2(i,:) - m2); end

for i=1:1:30

s3 = s3 + (Iris3(i,:) - m3)'*(Iris3(i,:) - m3); end

%总类内离散矩阵

sw12 = s1 + s2;

sw13 = s1 + s3;

sw23 = s2 + s3;

%投影方向

w12 = ((sw12^-1)*(m1 - m2)')';

w13 = ((sw13^-1)*(m1 - m3)')';

w23 = ((sw23^-1)*(m2 - m3)')';

%判别函数以及阈值T(即w0)

T12 = -0、5 * (m1 + m2)*inv(sw12)*(m1 - m2)';

T13 = -0、5 * (m1 + m3)*inv(sw13)*(m1 - m3)';

T23 = -0、5 * (m2 + m3)*inv(sw23)*(m2 - m3)';

kind1 = 0;

kind2 = 0;

kind3 = 0;

newiris1=[];

newiris2=[];

newiris3=[];

for i=31:50

x = Iris1(i,:);

g12 = w12 * x' + T12;

g13 = w13 * x' + T13;

g23 = w23 * x' + T23;

if((g12 > 0)&(g13 > 0))

newiris1=[newiris1;x];

kind1=kind1+1;

elseif((g12 < 0)&(g23 > 0))

newiris2=[newiris2;x];

elseif((g13 < 0)&(g23 < 0))

newiris3=[newiris3;x];

end

end

for i=31:50

x = Iris2(i,:);

g12 = w12 * x' + T12;

g13 = w13 * x' + T13;

g23 = w23 * x' + T23;

if((g12 > 0)&(g13 > 0))

newiris1=[newiris1;x];

elseif((g12 < 0)&(g23 > 0))

kind2=kind2+1;

newiris2=[newiris2;x];

elseif((g13 < 0)&(g23 < 0))

newiris3=[newiris3;x];

end

end

for i=31:50

x = Iris3(i,:);

g12 = w12 * x' + T12;

g13 = w13 * x' + T13;

g23 = w23 * x' + T23;

if((g12 > 0)&(g13 > 0))

newiris1=[newiris1;x];

elseif((g12 < 0)&(g23 > 0))

newiris2=[newiris2;x];

elseif((g13 < 0)&(g23 < 0))

kind3=kind3+1;

newiris3=[newiris3;x];

end

end

correct=(kind1+kind2+kind3)/60;

fprintf('\n综合正确率:%、2f%%\n\n',correct* 100); (2)实验结果:

综合正确率=96、67%

2、Sonar

(1)代码:

clc

clear

data=xlsread('sonar');

Sonar1=data(1:98,1:60);

Sonar2=data(99:208,1:60);

%类均值向量

m1 = mean(Sonar1);

m2 = mean(Sonar2);

%各类内离散度矩阵

s1 = zeros(60);

s2 = zeros(60);

for i=1:1:70

s1 = s1 + (Sonar1(i,:) - m1)'*(Sonar1(i,:) - m1); end

for i=1:1:80

s2 = s2 + (Sonar2(i,:) - m2)'*(Sonar2(i,:) - m2); end

%总类内离散矩阵

sw12 = s1 + s2;

%投影方向

w12 = ((sw12^-1)*(m1 - m2)')';

%判别函数以及阈值T(即w0)

T12 = -0、5 * (m1 + m2)*inv(sw12)*(m1 - m2)';

kind1 =0;

kind2 =0;

newsonar1=[];

newsonar2=[];

for i=71:98

x = Sonar1(i,:);

g12 = w12 * x' + T12;

if g12 > 0

newsonar1=[newsonar1;x];

kind1=kind1+1;

else

newsonar2=[newsonar2;x];

end

end

for i=81:110

x = Sonar2(i,:);

g12 = w12 * x' + T12;

if g12 > 0

newsonar1=[newsonar1;x];

else

newsonar2=[newsonar2;x];

kind2=kind2+1;

end

end

correct= (kind1+kind2)/58;

fprintf('\n综合正确率:%、2f%%\n\n',correct*100); (2)实验结果:

综合正确率=75、86%

多元统计分析课后习题解答_第四章

第四章判别分析 简述欧几里得距离与马氏距离的区别和联系。 答:设p维欧几里得空间中的两点X= 和Y=。则欧几里得距离为 。欧几里得距离的局限有①在多元数据分析中,其度量不合理。②会受到实际问题中量纲的影响。 设X,Y是来自均值向量为,协方差为 的总体G中的p维样本。则马氏距离为D(X,Y)= 。当 即单位阵时,

D(X,Y)==即欧几里得距离。 因此,在一定程度上,欧几里得距离是马氏距离的特殊情况,马氏距离是欧几里得距离的推广。 试述判别分析的实质。 答:判别分析就是希望利用已经测得的变量数据,找出一种判别函数,使得这一函数具有某种最优性质,能把属于不同类别的样本点尽可能地区别开来。设R1,R2,…,Rk是p维空间R p的k个子集,如果 它们互不相交,且它们的和集为,则称为的一个划分。判别分析问题实质上就是在某种意义上,以最优的性质对p维空间 构造一个“划分”,这个“划分”就构成了一个判别规则。 简述距离判别法的基本思想和方法。 答:距离判别问题分为①两个总体的距离判别问题和②多个总体的判别问题。其基本思想都是分别计算样本与各个总体的距离(马氏距离),将距离近的判别为一类。

①两个总体的距离判别问题 设有协方差矩阵∑相等的两个总体G 1和G 2,其均值分别是 1 和 2, 对于一个新的样品X ,要判断它来自哪个总体。计算新样品X 到两个总体的马氏距离D 2(X ,G 1)和D 2(X ,G 2),则 X ,D 2(X ,G 1)D 2(X ,G 2) X ,D 2(X ,G 1)> D 2(X ,G 2, 具体分析, 2212(,)(,) D G D G -X X 111122111111 111222********* ()()()() 2(2)2()-----------''=-----''''''=-+--+'''=-+-X μΣX μX μΣX μX ΣX X ΣμμΣμX ΣX X ΣμμΣμX ΣμμμΣμμΣμ11211212112122()()()2() 22()2() ---''=-++-' +? ?=--- ??? ''=--=--X ΣμμμμΣμμμμX ΣμμX μααX μ 记()()W '=-X αX μ 则判别规则为 X ,W(X)

Fisher判别分析原理详解

Fisher判别分析原理详解 说起Fisher判别分析,不得不提到一个大神级人物! Ronald Aylmer Fisher (1890~1962) 英国统计学家和遗传学家 主要著作有:《根据孟德尔遗传方式的亲属间的相关》、《研究者用的统计方法》、《自然选择的遗传理论》、《试验设计》、《近交的理论》及《统计方法和科学推理》等。他一生在统计生物学中的功绩是十分突出的。 ?生平 1890年2月17日生于伦敦,1962年7月29日卒于澳大利亚阿德莱德。 1912年毕业于剑桥大学数学系,后随英国数理统计学家J.琼斯进修了一年统计力学。他担任过中学数学教师,1918年任罗坦斯泰德农业试验站统计试验室主任。 1933年,因为在生物统计和遗传学研究方面成绩卓著而被聘为伦敦大学优生学教授。 1943年任剑桥大学遗传学教授。

1957年退休。 1959年去澳大利亚,在联邦科学和工业研究组织的数学统计部作研究工作。 大神解决的问题 ?Fisher 线性判别函数的提出: 在用统计方法进行模式识别时,许多问题涉及到维数,在低维空间可行的方法,在高维空间变得不可行。因此,降低维数就成为解决实际问题的关键。Fisher 的方法,就是解决维数压缩问题。 对xn的分量做线性组合可得标量 yn=wTxn,n=1,2,…,Ni 得到N个一维样本yn组成的集合。从而将多维转换到了一维。 考虑把d维空间中的数据点投影到一条直线上去的问题,需要解决的两个问题: (1)怎样找到最好的投影直线方向;(2)怎样向这个方向实现投影,这个投影变 换就是要寻求的解向量w*。这两个问题就是Fisher方法要解决的基本问题。?判别分析的一些基本公式 Fisher判别分析用于两类或两类以上间的判别,但常用于两类间判别。 Fisher判别函数表达式(多元线性函数式): 判别函数的系数是按照组内差异最小和组间差异最大同时兼顾的原则来确定判别函数的。 Fisher判别准则: 判别临界点: Fisher判别分析思想: 1. 类间差异大,类内变异小, 最大 2. 方差分析的思想:以下值最大 ?Fisher判别的原理 分析w1方向之所以比w2方向优越,可以归纳出这样一个准则,即向量w的方向选择应能使两类样本投影的均值之差尽可能大些,而使类内样本的离散程度尽可能小。这就是Fisher准则函数的基本思路。如下图:

matlab与多元统计分析

Matlab 与多元统计分析 胡云峰 安庆师范学院 第三章习题 3.1对某地区的6名2周岁男婴的身高、胸围、上半臂进行测量。得样本数据如表3.1所示。 假设男婴的测量数据X (a )(a=1,…,6)来自正态总体N 3(μ,∑) 的随机样本。根据以往的资料,该地区城市2周岁男婴的这三项的均值向量μ0=(90,58,16)’,试检验该地区农村男婴与城市男婴是否有相同的均值向量。 表3.1 某地区农村2周岁男婴的体格测量数据 1.预备知识 ∑未知时均值向量的检验: H 0:μ=μ0 H 1:μ≠μ0 H 0成立时 122)(0,)(1)(1,) ()'((1)))()'()(,1)(1)1(,) (1)P P X N n S W n n X n S X n X S X T p n n p T F P n p n p μμμμμ---∑--∑??∴----=-----+∴-- 当 2 (,)(1) n p T F p n p p n α-≥--或者22T T α≥拒绝0H 当 2 (,)(1) n p T F p n p p n α-<--或者22T T α<接受0H 这里2 (1) (, )p n T F p n p n p αα-= -- 2.根据预备知识用matlab 实现本例题 算样本协方差和均值 程序x=[78 60.6 16.5;76 58.1 12.5;92 63.2 14.5;81 59.0 14.0;81 60.8 15.5;84 59.5 14.0]; [n,p]=size(x); i=1:1:n; xjunzhi=(1/n)*sum(x(i,:));

模式识别最近邻和fisher分类matlab实验报告

一、Fisher 线性判别 Fisher 线性判别是统计模式识别的基本方法之一。它简单,容易实现,且计算量和存储量小,是实际应用中最常用的方法之一。Fisher 判别法Fisher 在1936年发表的论文中首次提出的线性判别法。Fisher 判别法的基本思想是寻找一个最好的投影,当特征向量x 从d 维空间映射到这个方向时,两类能最好的分开。这个方法实际上涉及到特征维数的压缩问题。 一维空间的Fisher 线性判别函数为: 2 1212 ()()F m m J w S S -= + (1) i m = ∑x N 1,i=1,2 (2) 2,1,)()(=--=∑∈i m x m x S T i x i i i ξ (3) 其中,1m 和2m 是两个样本的均值,1S ,2S 分别为各类样本的的类内离散度。投影方向w 为: )(211 m m S w w -=- (4) 12w S S S =+ (5) 在Fisher 判决函数中,分子反应了映射后两类中心的距离平方,该值越大,类间可分性越好;分母反应了两类的类内的离散度,其值越小越好;从总体上讲,()F J w 的值越大越好,在这种可分性评价标准下,使()F J w 达到最大值的w 即为最佳投影方向。

1.1、 Fisher线性判别实验流程图

1.2 Fisher线性判别mtalab代码 data=importdata('C:\Users\zzd\Desktop\data-ch5.mat'); data1=data.data; data2=https://www.doczj.com/doc/891680173.html,bel; sample1=data1(1:25,:); sample2=data1(51:75,:); sample=[sample1 sample2]; sp_l=data2(26:75); test1=data1(26:50,:); test2=data1(76:100,:); test=[test1 test2]; lth=zeros(50,50); sample_m1=mean(sample1); sample_m2=mean(sample2); m1=sample_m1'; m2=sample_m2'; sb=(m1-m2)*(m1-m2)'; s1=zeros(2); for n=1:25 temp = (sample1(n,:)'-m1)*(sample1(n,:)'-m1)'; s1=s1+temp; end; s2=zeros(2); for n=1:25 temp = (sample2(n,:)'-m2)*(sample2(n,:)'-m2)'; s2 = s2+temp; end; sw=s1+s2; vw=inv(sw)*(m1-m2); a_m1 = vw'*m1; a_m2 = vw'*m2; w0 = (a_m1+a_m2)/2;

Fisher判别分析

对案例中小企业的破产模型做Fisher判别分析 江义114113001059 一问题:对企业的运行状态利用Fisher判别进行分类 选取四个经济指标用于判断企业处于破产状态还是正常运行状态,具体数据如下,其中类别1表示破产状态,类别2表示正常运行状态 X1总负债率X2收益率指 标 X3短期 支付能 力 X4生产 效率指 标 类别 -0.45 -0.41 1.09 0.45 1 -0.56 -0.31 1.51 0.16 1 0.06 0.02 1.01 0.4 1 -0.07 -0.09 1.45 0.26 1 0.38 0.11 3.27 0.55 2 0.19 0.05 2.25 0.33 2 0.32 0.07 4.24 0.63 2 0.04 0.01 1.5 0.71 2 -0.06 -0.06 1.37 0.4 1 0.07 -0.01 1.37 0.34 2 -0.13 -0.14 1.42 0.44 1 0.15 0.06 2.23 0.56 2 0.16 0.05 2.31 0.2 2 0.29 0.06 1.84 0.38 带测定 0.54 0.11 2.33 0.48 带测定 二、程序如下:(R语言) > data=read.table("E:/bac/qiye.txt",header=T) > data1=c(rep(1,6),rep(2,7)) > data2=as.factor(data1) > data$class=data2 > attach(data) > names(data) [1] "X1" "X2" "X3" "X4" "class" > library(MASS) > data.lda=lda(class~X1+X2+X3+X4) > data.lda Call: lda(class ~ X1 + X2 + X3 + X4) Prior probabilities of groups: 1 2 0.4615385 0.5384615 Group means:

机器学习实验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;- 0.39,-0.48,0.11;0.34,-0.079,0.14;-0.3,-0.22,2.2;1.1,1.2,-0.46;0.18,-0.11,-0.49]; W1=w1';%转置下方便后面求s1

多元统计分析课后习题解答_第四章知识讲解

第四章判别分析 4.1 简述欧几里得距离与马氏距离的区别和联系。 答:设p维欧几里得空间中的两点X=和Y=。则欧几里得距离为 。欧几里得距离的局限有①在多元数据分析中,其度量不合理。②会受到实际问题中量纲的影响。 设X,Y是来自均值向量为,协方差为 的总体G中的p维样本。则马氏距离为D(X,Y)= 。当 即单位阵时, D(X,Y)==即欧几里得距离。 因此,在一定程度上,欧几里得距离是马氏距离的特殊情况,马氏距离是欧几里得距离的推广。 4.2 试述判别分析的实质。

答:判别分析就是希望利用已经测得的变量数据,找出一种判别函数,使得这一函数具有某种最优性质,能把属于不同类别的样本点尽可能地区别开来。设R1,R2,…,Rk 是p 维空 间R p 的k 个子集,如果它们互不相交,且它们的和集为,则称为的一 个划分。判别分析问题实质上就是在某种意义上,以最优的性质对p 维空间构造一个“划 分”,这个“划分”就构成了一个判别规则。 4.3 简述距离判别法的基本思想和方法。 答:距离判别问题分为①两个总体的距离判别问题和②多个总体的判别问题。其基本思想都是分别计算样本与各个总体的距离(马氏距离),将距离近的判别为一类。 ①两个总体的距离判别问题 设有协方差矩阵∑相等的两个总体G 1和G 2,其均值分别是μ1和μ 2,对于一个新的样品X , 要判断它来自哪个总体。计算新样品X 到两个总体的马氏距离D 2(X ,G 1)和D 2 (X ,G 2),则 X ,D 2 (X ,G 1) D 2(X ,G 2) X ,D 2(X ,G 1)> D 2 (X ,G 2, 具体分析, 2212(,)(,) D G D G -X X 111122111111 111222********* ()()()() 2(2)2()-----------''=-----''''''=-+--+'''=-+-X μΣX μX μΣX μX ΣX X ΣμμΣμX ΣX X ΣμμΣμX ΣμμμΣμμΣμ11211212112122()()()2() 22()2() ---''=-++-' +? ?=--- ?? ?''=--=--X ΣμμμμΣμμμμX ΣμμX μααX μ 记()()W '=-X αX μ 则判别规则为

Matlab 使用之线性代数综合实例讲解

一、上机目的 1、培养学生运用线性代数的知识解决实际问题的意识、兴趣和能力; 2、掌握常用计算方法和处理问题的方法; 二、上机内容 1、求向量组的最大无关组; 2、解线性方程组; 三、上机作业 1、设A=[2 1 2 4; 1 2 0 2; 4 5 2 0; 0 1 1 7]; 求矩阵A列向量组的一个最大无关组. >> A=[2 1 2 4;1 2 0 2;4 5 2 0;0 1 1 7] A = 2 1 2 4 1 2 0 2 4 5 2 0 0 1 1 7 >> rref(A) ans = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 所以矩阵A的列向量组的一个最大无关组就是它本身; 2、用Matlab解线性方程组 (1) >> A=[2 4 -6;1 5 3;1 3 2] A = 2 4 -6 1 5 3 1 3 2 >> b=[-4;10;5]

b = -4 10 5 >> x=inv(A)*b x = -3.0000 2.0000 1.0000 >> B=[3 41 -62;4 50 3;11 38 25] B = 3 41 -62 4 50 3 11 38 25 >> c=[-41;100;50] c = -41 100 50 >> x=inv(B)*c x = -8.8221 2.5890 1.9465 3、(选作)减肥配方的实现 设三种食物每100克中蛋白质、碳水化合物和脂肪的含量如下表,表中还给出了20世纪80年代美国流行的剑桥大学医学院的简捷营养处方。现在的问题是:如果用这三种食物作为每天的主要食物,那么它们的用量应各取多少才能全面准确地实现这个营养要求? 四、上机心得体会

MATLAB 判别分析

判别分析在生产、科学研究和日常生活中,经常会遇到对某一研究对象属于哪种情况作出判断。例如要根据这两天天气情况判断明天是否会下雨;医生要根据病人的体温、白血球数目及其它症状判断此病人是否会患某种疾病等等。从概率论的角度看,可把判别问题归结为如下模型。设共有n 个总体: n ξξξ,,,21L 其中i ξ是m 维随机变量,其分布函数为 ),,(1m i x x F L ,n i ,,2,1L = 而),,(1m x x L 是表征总体特性的m 个随机变量的取值。在判别分析中称这m 个变量为判别因子。现有一个新的样本点T m x x x ),,(1L =,要判断此样本点属于哪一个总体。 Matlab 的统计工具箱提供了判别函数classify 。 函数的调用格式为: [CLASS,ERR] = CLASSIFY(SAMPLE,TRAINING ,GROUP, TYPE) 其中SAMPLE 为未知待分类的样本矩阵,TRAINING 为已知分类的样本矩阵,它们有相同的列数m ,设待分类的样本点的个数,即SAMPLE 的行数为s ,已知样本点的个数,即TRAINING 的行数为t ,则GROUP 为t 维列向量,若TRAINING 的第i 行属于总体i ξ,则 GROUP 对应位置的元素可以记为i ,TYPE 为分类方法,缺省值为'linear',即线性分类,TYPE 还可取值'quadratic','mahalanobis'(mahalanobis 距离)。返回值CLASS 为s 维列向量,给出了SAMPLE 中样本的分类,ERR 给出了分类误判率的估计值。例已知8个乳房肿瘤病灶组织的样本,其中前3个为良性肿瘤,后5个为恶性肿瘤。数据为细胞核显微图像的10个量化特征:细胞核直径,质地,周长,面积,光滑度。根据已知样本对未知的三个样本进行分类。已知样本的数据为:13.54,14.36,87.46,566.3,0.09779 13.08,15.71,85.63,520,0.1075 9.504,12.44,60.34,273.9,0.1024 17.99,10.38,122.8,1001,0.1184 20.57,17.77,132.9,1326,0.08474 19.69,21.25,130,1203,0.1096 11.42,20.38,77.58,386.1,0.1425 20.29,14.34,135.1,1297,0.1003 -1-

Matlab线性代数实验指导书

Matlab线性代数实验指导书 理学院线性代数课程组 二零零七年十月

目录 一、基础知识 (1) 1.1、常见数学函数 (1) 1.2、系统在线帮助 (1) 1.3、常量与变量 (2) 1.4、数组(矩阵)的点运算 (3) 1.5、矩阵的运算 (3) 二、编程 (4) 2.1、无条件循环 (4) 2.2、条件循环 (5) 2.3、分支结构 (5) 2.4、建立M文件 (6) 2.5、建立函数文件 (6) 三、矩阵及其运算 (7) 3.1、矩阵的创建 (7) 3.2、符号矩阵的运算 (11) 四、秩与线性相关性 (14) 4.1、矩阵和向量组的秩以及向量组的线性相关性 (14) 4.2、向量组的最大无关组 (14) 五、线性方程的组的求解 (16) 5.1、求线性方程组的唯一解或特解(第一类问题) (16) 5.2、求线性齐次方程组的通解 (18) 5.3、求非齐次线性方程组的通解 (19) 六、特征值与二次型 (22) 6.1、方阵的特征值特征向量 (22) 6.2、正交矩阵及二次型 (23)

一、基础知识 1.1常见数学函数 函数数学计算功能函数数学计算功能 abs(x) 实数的绝对值或复数的幅值floor(x) 对x朝-∞方向取整acos(x) 反余弦arcsinx gcd(m,n) 求正整数m和n的最大公约数acosh(x) 反双曲余弦arccoshx imag(x) 求复数x的虚部angle(x) 在四象限内求复数x的相角lcm(m,n)求正整数m和n的最小公倍 自然对数(以e为底数) asin(x) 反正弦arcsinx log(x) 常用对数(以 10 为底数) asinh(x) 反双曲正弦arcsinhx log10(x) atan(x) 反正切arctanx real(x) 求复数 x 的实部atan2(x,y) 在四象限内求反正切rem(m,n) 求正整数m和n的m/n之余数atanh(x) 反双曲正切arctanhx round(x) 对x四舍五入到最接近的整数 符号函数:求出 x 的符号ceil(x) 对x朝+∞方向取整 sign(x) conj(x) 求复数x的共轭复数 sin(x) 正弦sinx 反双曲正弦sinhx cos(x) 余弦cosx sinh(x) cosh(x) 双曲余弦coshx sqrt(x) 求实数x的平方根exp(x) 指数函数e x tan(x) 正切tanx fix(x) 对 x 朝原点方向取整 tanh(x) 双曲正切tanhx 如:输入 x=[-4.85 -2.3 -0.2 1.3 4.56 6.75],则: ceil(x)= -4 -2 0 2 5 7 fix(x) = -4 -2 0 1 4 6 floor(x) =-5 -3 -1 1 4 6 round(x) = -5 -2 0 1 5 7 1.2 系统的在线帮助 1.2.1 help 命令: 1.当不知系统有何帮助内容时,可直接输入 help以寻求帮助: >> help(回车) 2.当想了解某一主题的内容时,如输入: >> help syntax (了解Matlab的语法规定) 3.当想了解某一具体的函数或命令的帮助信息时,如输入: >> help sqrt (了解函数sqrt的相关信息) 1.2.2 lookfor 命令 现需要完成某一具体操作,不知有何命令或函数可以完成,如输入: >> lookfor line (查找与直线、线性问题有关的函数) 1.3 常量与变量

matlab的判别分析

广西某锰矿床已知两种不同锰矿石各项评价指标如下表所列。现新发现湖润锰矿床,初步 Matlab执行代码: g1=[41.19 11.86 0.182 36.22;34.99 9.84 0.178 27.82;35.62 10.56 0.261

21.02]; g2=[23.21 5.46 0.11 21.17;25.05 6.84 0.134 27.3;19.23 6.61 0.137 26.61]; fprintf('做距离判别分析:\n') fprintf('在两个总体的协方差矩阵相等的假设下进行判别分析:\n') fprintf('两个样本的协方差矩阵s1,s2分别为\n') s1=cov(g1) s2=cov(g2) fprintf('因为两个总体的协方差矩阵相等,所以协方差的联合估计s为:\n') [m1,n2]=size(g1);[m2,n2]=size(g2); s=((m1-1)*s1+(m2-1)*s2)/(m1+m2-2) fprintf('两个总体的马氏平方距离为:\n') sn=inv(s); u1=mean(g1);u2=mean(g2); ucz=(u1-u2)'; dmj=(u1-u2)*sn*ucz fprintf('该值反映了两个总体的分离程度,线性函数的判别函数为:\n') syms x1;syms x2;syms x3;syms x4; x=[x1;x2;x3;x4]; u1z=u1';u2z=u2'; a1=(sn*u1z)';b1=(u1*sn*u1z)/2; a2=(sn*u2z)';b2=(u2*sn*u2z)/2; w1=vpa((a1*x-b1),4)

Fisher线性判别分析实验(模式识别与人工智能原理实验1)

实验1 Fisher 线性判别分析实验 一、摘要 Fisher 线性判别分析的基本思想:通过寻找一个投影方向(线性变换,线性组合),将高维问题降低到一维问题来解决,并且要求变换后的一维数据具有如下性质:同类样本尽可能聚集在一起,不同类的样本尽可能地远。 Fisher 线性判别分析,就是通过给定的训练数据,确定投影方向W 和阈值y0,即确定线性判别函数,然后根据这个线性判别函数,对测试数据进行测试,得到测试数据的类别。 二、算法的基本原理及流程图 1 基本原理 (1)W 的确定 各类样本均值向量mi 样本类内离散度矩阵i S 和总类内离散度矩阵 w S [ 12w S S S =+ 样本类间离散度矩阵b S 在投影后的一维空间中,各类样本均值T i i m '= W m 。样本类内离散度和总类内离散度 T T i i w w S ' = W S W S ' = W S W 。样本类间离散度T b b S ' = W S W 。 Fisher 准则函数满足两个性质: ·投影后,各类样本内部尽可能密集,即总类内离散度越小越好。 ·投影后,各类样本尽可能离得远,即样本类间离散度越大越好。 根据这个性质确定准则函数,根据使准则函数取得最大值,可求出W : -1w 12W = S (m - m ) 。 (2)阈值的确定 实验中采取的方法:012y = (m ' + m ') / 2。 \ T x S (x m )(x m ), 1,2 i i i i X i ∈= --=∑T 1212S (m m )(m m )b =--

(3)Fisher线性判别的决策规则 对于某一个未知类别的样本向量x,如果y=W T·x>y0,则x∈w1;否则x∈w2。 2 流程图 方差标准化(归一化处理) 一个样本集中,某一个特征的均值与方差为: 归一化: 三、实验要求 寻找数据进行实验,并分析实验中遇到的问题和结论,写出实验报告。

FISHER线性判别MATLAB实现

Fisher线性判别上机实验报告 班级: 学号: 姓名:

一.算法描述 Fisher 线性判别分析的基本思想:选择一个投影方向(线性变换,线性组合),将高维问题降低到一维问题来解决,同时变换后的一维数据满足每一类内部的样本尽可能聚集在一起,不同类的样本相隔尽可能地远。 Fisher 线性判别分析,就是通过给定的训练数据,确定投影方向W 和阈值w0, 即确定线性判别函数,然后根据这个线性判别函数,对测试数据进行测试,得到测试数据的类别。 线性判别函数的一般形式可表示成0)(w X W X g T += 其中 ????? ??=d x x X 1 ?????? ? ??=d w w w W 21 Fisher 选择投影方向W 的原则,即使原样本向量在该方向上的投影能兼顾类间分布尽可能分开,类内样本投影尽可能密集的要求。 如下为具体步骤: (1)W 的确定 样本类内离散度矩阵i 和总类内离散度矩阵w S 12w S S S =+ T x S (x m )(x m ), 1,2 i i i i X i ∈= --=∑

样本类间离散度矩阵b S 在投影后的一维空间中,各类样本均值T i i m '= W m 样本类内离散度和总类内离散度 T T i i w w S ' = W S W S ' = W S W 样本类间离散度T b b S ' = W S W Fisher 准则函数为 max 22 212 21~~)~~()(S S m m W J F +-= (2)阈值的确定 w 0 是个常数,称为阈值权,对于两类问题的线性分类器可以采用下属决策规则: 令) ()()(2 1 x x x g g g -=则: 如果g(x)>0,则决策w x 1∈;如果g(x)<0,则决策w x 2∈;如果g(x)=0,则可将x 任意分到某一类,或拒绝。 (3)Fisher 线性判别的决策规则 Fisher 准则函数满足两个性质: 1.投影后,各类样本内部尽可能密集,即总类内离散度越小越好。 2.投影后,各类样本尽可能离得远,即样本类间离散度越大越好。 根据这个性质确定准则函数,根据使准则函数取得最大值,可求出 W :-1w 12W = S (m - m ) 。 这就是Fisher 判别准则下的最优投影方向。 最后得到决策规则 若 P P m m w w w x x g T ) ()(2112 log ))(21()(大于或小于+-=,则 {1 2w w x ∈ T 1212S (m m )(m m ) b =--

数模-化验结果判别及matlab程序

地贫患者的基因筛查问题 摘要 地中海贫血(简称“地贫”)是全球广为流行、危害极为严重的遗传性溶血性疾病,全世界至少有亿人携带地中海贫血的致病基因。医学上通过大人群的基因筛查来预防地贫患儿的出生。 本文应用统计学原理,对病人以及健康人的110个基因进行分析,采用Fisher判别模型建立判别标准和多元统计模型spss 软件进行筛选。 问题一,利用费希尔模型判别待测者是否患有地贫,以编号1~20地贫患者的样本,编号21~40健康人员的样本,分别作为模版建立模型,用mathlab软件求解得到待测组的患病者编号41~60个是待筛查人员的样本。 问题二,为确定“地贫”样本与“健康”样本在基因链上的区别。以及癌症样本中是否有子类。我们用1~20数据为标准化并确立相关系数矩阵,求出相关矩阵的特征值和特征向量,然后通过前m 个 主成分的累计贡献率满足 % 85 ) 1 /( ) 1 (≥ ∑ = ∑ =k i k k i k λ λ 来确定贡献率矩阵,从而得出各种基因的权 值,又利用初始特征值需大于 1,再运用逐步剔除法得出关键基因关键字:地贫患者的基因 Fisher判别筛查相关系数矩阵

1 问题重述 化验指标能够协助医生诊断。人们到医院就诊时,诊断就诊人员是否患肾炎时通常要化验人体内各种元素含量。表是确诊病例的化验结果,其中1-30号病例是已经确诊为肾炎病人的化验结果;31-60号病例是已经确定为健康人的结果。表是就诊人员的化验结果。 1.根据表中的数据,提出一种或多种简便的判别方法,判别属于患者或健康人的方 法,并检验你提出方法的正确性。 2.按照1提出的方法,判断表中的30名就诊人员的化验结果进行判别,判定他(她) 们是肾炎病人还是健康人。 3.能否根据表的数据特征,确定哪些指标是影响人们患肾炎的关键或主要因素,以 便减少化验的指标。 4.根据3的结果,重复2的工作。 5.对2和4的结果作进一步的分析。 2 问题分析 问题解决的关键是如何正确判断正常人与患者之间的差异,利用所给数据,可以选择用医学统计方法[1]中的判别分析法[2]进行分析。从题目给出的表中可以得出以下信息:1)表中分别给出正常人与患者各30组数据,每组数据各包含7种元素(Zn、Cu、Fe、Ca、Mg、K、Na)在人体中的含量。通过对这些数据进行分析,可以从中找出数据差异,根据判别法确定判别标准。利用所得判别标准,与就诊人员的化验结果比较可以判

MATLAB统计分析与应用:40个案例分析

MATLAB统计分析与应用:40个案例分析 ISBN:9787512400849 分类号:C819 /115 出版社:北京航空航天大学出版社 【内容简介】 本书从实际应用的角度出发,以大量的案例详细介绍了MA TLAB环境下的统计分析与应用。 本书主要内容包括:利用MA TLAB制作统计报告或报表;从文件中读取数据到MA TLAB;从MA TLAB中导出数据到文件;数据的平滑处理、标准化变换和极差归一化变换;生成一元和多元分布随机数;蒙特卡洛方法;参数估计与假设检验;Copula理论及应用实例;方差分析;基于回归分析的数据拟合;聚类分析;判别分析;主成分分析;因子分析;图像处理中的统计应用等。 本书可以作为高等院校本科生、研究生的统计学相关课程的教材或教学参考书,也可作为从事数据分析与数据管理的研究人员的参考用书。 【目录】 第1章利用MA TLAB生成Word和Excel文档 1.1 组件对象模型(COM) 1.1.1 什么是CoM 1.1.2 CoM接口 1.2 MA TLAB中的ActiveX控件接口技术 1.2.1 actxcontrol函数 1.2.2 actxcontrollist函数 1.2.3 actxcontrolselect函数 1.2.4 actxserver函数 1.2.5 利用MA TLAB调用COM对象 1.2.6 调用actxserver函数创建组件服务器 1.3 案例1:利用MA TLAB生成Word文档 1.3.1 调用actxserver函数创建Microsoft Word服务器 1.3.2 建立Word文本文档 1.3.3 插入表格 1.3.4 插入图片 1.3.5 保存文档 1.3.6 完整代码 1.4 案例2:利用MA TLAB生成Excel文档 1.4.1 调用actxserver函数创建Microsoft Excel服务器 1.4.2 新建Excel工作簿 1.4.3 获取工作表对象句柄 1.4.4 插入、复制、删除、移动和重命名工作表 1.4.5 页面设置 1.4.6 选取工作表区域 1.4.7 设置行高和列宽 1.4.8 合并单元格 1.4.9 边框设置 1.4.10 设置单元格对齐方式

Fisher线性判别

3·4 Fisher线性判别 多维 T Fisher变换 T 利于分类的一维 对于线性判别函数 ( 3-4-1) 可以认为是矢量在以为方向的轴上的投影的倍。这里, 视作特征空间中的以为分量的一个维矢量 希望所求的使投影后,同类模式密聚,不同类模式相距较远。 求权矢量T 求满足上述目标的投影轴的方向和在一维空间中确定判别规则。 从另一方面讲,也是降维,特征提取与选择等问题的需要。(R.A.Fisher,1936) 下面我们用表示待求的。 图 (3-4-1) 二维模式向一维空间投影示意图 (1)Fisher准则函数 对两类问题,设给定维训练模式,其中有个和个模式分属 类和类。为方便,各类的模式又可分别记为和,于是,各类模式均值矢量为 ( 3-4-2) 各类类内离差阵和总的类内离差阵分别为 ( 3-4-3) ( 3-4-4) 我们取类间离差阵为

( 3-4-5) 作变换,维矢量在以矢量为方向的轴上进行投影 ( 3-4-6) 变换后在一维空间中各类模式的均值为 ( 3-4-7) 类内离差度和总的类内离差度为 ( 3-4-8) ( 3-4-9) 类间离差度为 ( 3-4-10) 我们希望经投影后,类内离差度越小越好,类间离差度越大越好,根据这个目标作准则函数 ( 3-4-11) 称之为Fisher准则函数。我们的目标是,求使最大。 (2)Fisher变换 将标量对矢量微分并令其为零矢量,注意到的分子、分母均为标量,利用二次型关于矢量微分的公式可得 ( 3-4-12) 令 可得 当时,通常是非奇异的,于是有

( 3-4-13) 上式表明是矩阵相应于本征值的本征矢量。对于两类问题,的秩为1,因此 只有一个非零本征值,它所对应的本征矢量称为Fisher最佳鉴别矢量。由式( 3-4-13)有 ( 3-4-14) 上式右边后两项因子的乘积为一标量,令其为,于是可得 式中为一标量因子。这个标量因子不改变轴的方向,可以取为1,于是有 ( 3-4-15) 此时的是使Fisher准则函数取最大值时的解,即是维空间到一维空间投影轴的最佳方向, ( 3-4-16) 称为Fisher变换函数。至此可以说解决了将维模式的分类转变为一维模式分类的问题。(3)Fisher判别规则 由于变换后的模式是一维的,因此判别界面实际上是各类模式所在轴上的一个点。可以根据训练模式确定一个阈值,Fisher判别规则为 ( 3-4-17) 判别阈值可取两个类心在方向上轴的投影的连线的中点作为阈值,即 ( 3-4-18) 容易得出 ( 3-4-19) 显然,这里是和连线的中点。 当考虑类的先验概率时,、应取下面的定义 ( 3-4-20)

Fisher线性判别分析实验(模式识别与人工智能原理实验1)

实验1 Fisher 线性判别分析实验 一、摘要 Fisher 线性判别分析的基本思想:通过寻找一个投影方向(线性变换,线性组合),将高维问题降低到一维问题来解决,并且要求变换后的一维数据具有如下性质:同类样本尽可能聚集在一起,不同类的样本尽可能地远。 Fisher 线性判别分析,就是通过给定的训练数据,确定投影方向W 和阈值y0,即确定线性判别函数,然后根据这个线性判别函数,对测试数据进行测试,得到测试数据的类别。 二、算法的基本原理及流程图 1 基本原理 (1)W 的确定 各类样本均值向量mi 样本类内离散度矩阵i S 和总类内离散度矩阵w S 12w S S S =+ 样本类间离散度矩阵b S 在投影后的一维空间中,各类样本均值T i i m '= W m 。样本类内离散度和总类内离散度 T T i i w w S ' = W S W S ' = W S W 。样本类间离散度T b b S ' = W S W 。 Fisher 准则函数满足两个性质: ·投影后,各类样本内部尽可能密集,即总类内离散度越小越好。 ·投影后,各类样本尽可能离得远,即样本类间离散度越大越好。 根据这个性质确定准则函数,根据使准则函数取得最大值,可求出W : -1w 12W = S (m - m ) 。 (2)阈值的确定 实验中采取的方法:012y = (m ' + m ') / 2。 (3)Fisher 线性判别的决策规则 对于某一个未知类别的样本向量x ,如果y=W T ·x>y0,则x ∈w1;否则x ∈w2。 x 1 m x, 1,2 i i X i i N ∈= =∑T x S (x m )(x m ), 1,2 i i i i X i ∈= --=∑T 1212S (m m )(m m )b =--

线性代数MATLAB仿真实验报告

合肥学院 2018—2019学年第2学期 线性代数及应用 (模块) 实验报告 实验名称:线性代数MATLAB实验 实验类别:综合性 设计性□验证性 专业班级: 17通信工程(2)班 实验时间: 9-12周 组别:第组人数 3人 指导教师:牛欣成绩: 完成时间: 2019年 5 月9日

一. 小组成员 姓名学号具体分工 汪蔚蔚(组长) 1705022025 A报告最后的整合,编写,案例四的计算与应用 以及案例一的计算与证明 陶乐 1 1705022009 C案例二,化学方程式配平问题 程赢妹1505022036 A案例三,应用题灰度值的计算问题 二. 实验目的 1、案例一利用MATLAB进行线性代数计算,求出矩阵B 2、案例二利用MATLAB计算出每一个网格数据的值,然后每一个网格数据的值乘以256以后进行归一化处理,根据每个网格中的灰度值,绘制出灰度图像。 3、案例三利用MATLAB完成对化学方程式进行配平的应用 4、案例四利用MATLAB求极大线性无关组,并表示出其余向量 三. 实验内容 1、案例一: 0,1,0 ,=1,0,0, 0,0,0 A B AB BA A B ?? ?? =?? ?? ?? 已知矩阵和矩阵满足乘法交换律,即且求矩阵。 2、案例二 配平下列化学方程式: 3、案例三: 3*32 0.81.21.70.20.3 0.6021.61.20.6. 1MATLAB 2256MATLAB 给定一个图像的个方向上的灰度叠加值:沿左上方到右 下方的灰度叠加值依次为,,,,;沿右上方到左下 方的灰度叠加值依次为,。,,, )建立可以确定网络数据的线性方程组,并用求解 )将网络数据乘以,再取整,用绘制该灰度图像

模式识别 Fisher线性判别实验

实验三 Fisher 线性判别实验 姓名:徐维坚 学号:2220103484 日期:2012/7/7 一、实验目的: 1)加深对Fisher 线性判别的基本思想的认识和理解。 2)编写实现Fisher 线性判别准则函数的程序。 二、实验原理: 1.基本原理: 一般情况下,我们总可以找到某个方向,使得这个方向的直线上,样本的投影能分开的最好,而Fisher 法所要解决的基本问题就是找到这条最好的、最易于分类的投影线。 先从d 维空间到一维空间的一维数学变换方法。假设有一集合X 包含N 个d 维样本 N x x x ,...,,21,其中1N 个属于1ω类的样本记为子集1X ,2N 个属于2ω类的样本记为2X 。 若对N x 的分量做线性组合可得标量 n T n x w y =,i N n ,...,2,1= 这样便得到N 个一维样本n y 组成的集合,并可分为两个子集1Y 和2Y 。w 的绝对值是无关紧要的,它仅使n y 乘上一个比例因子,重要的是选择w 的方向,从而转化为寻找最好的投影方向* w ,是样本分开。 2.基本方法: 先定义几个基本参量: (1)各类样本均值向量i m 2,1,1== ∑∈i x N m i X x i (2)样本类内离散度矩阵i S 和总类内离散度矩阵ωS 2,1,) )((=--= ∑∈i m x m x S i X x T i i i 21S S S +=ω (3)样本类间离散度矩阵b S T b m m m m S ))((2121--= 我们希望投影后,在低维空间里个样本尽可能的分开些,即希望两类均值)(21m m -越大越

好,同时希望各类样本内部尽量密集,即i S 越小越好。因此,我们定义Fisher 准则函数为 2 12 21)()(S S m m w J F +-= 但)(w J F 不显含w ,因此必须设法将)(w J F 变成w 的显函数。 由式子 i T X x i T X x T i Y y i i m w x N w x w N y N m i i i === = ∑ ∑∑∈∈∈)1( 11 w S w w m m m m w m w m w m m b T T T T T =--=-=-))(()()(2121221221 w S w w m x m x w m w x w m y S i T T i i T Y y i T T Y y i i i i =--=-=-=∑∑∈∈))(()()(22 从而得到 w S w w S w w J T b T F ω=)(, 采用Lagrange 乘子法求解它的极大值* w )(),(c w S w w S w w L T b T --=ωλλ 对其求偏导,得0**=-w S w S b ωλ,即 **w S w S b ωλ= 从而我们很容易得到 *21211 *1*)(,)()(w m m R R m m S w S S w T b -=-==--其中ωωλ )(211 *m m S R w -= -ωλ 忽略比例因子λ/R ,得 )(211 *m m S w -=-ω 这就是我们Fisher 准则函数)(w J F 取极大值时的解。 三、实验内容: 依据实验基本原理和基本方法,对下面表3-1样本数据中的类别1ω和2ω计算最优方向 w ,画出最优方向w 的直线,并标记出投影后的点在直线上的位置。选择决策边界,实现 新样本xx1=(-0.7,0.58,0.089),xx2=(0.047,-0.4,1.04)的分类。 设某新类别3ω数据如表3-2所示,用自己的函数求新类别3ω分别和1ω、2ω分类的投

相关主题
文本预览
相关文档 最新文档