fisher判别分析数据
- 格式:doc
- 大小:96.50 KB
- 文档页数:1
费歇尔判别法费歇尔判别法(Fisher's Discriminant Analysis)是一种统计学中的方法,用于寻找两个或多个分类变量中最能有效区分它们的线性组合。
这种方法最初是由英国统计学家罗纳德·费歇尔(Ronald A. Fisher)在1936年所提出。
费歇尔判别法的目标是通过将数据投影到低维空间来确定样本类别之间最明显的分离平面。
这个方法假设所有数据员来自正态分布,这使得它的结果具有很高的概率。
此外,这种方法特别适用于小样本数据,在这种情况下,其它多变量方法往往受到数据不足或对角线矩阵估计的影响。
费歇尔判别法通过将多维数据投影到一维空间上,找到最能表示数据差异的线性变量。
具体步骤如下:1. 定义问题在进行费歇尔判别分析之前,首先需要定义问题。
这个问题可以是不同的变量之间的分类问题,或者是同一变量在不同条件下的分类问题。
例如,可以通过费歇尔判别分析找到两个组的区别,这两个组的特征可以用来预测其他类似两个组。
2. 构造分类变量在对数据进行投影之前,需要将分类变量定义为正态分布。
这种变量通常为两个或更多个。
3. 计算均值和方差计算每个分类变量的均值和方差,以用于后面的投影计算。
4. 计算类内离散度矩阵类内离散度矩阵是指每个类别内所有点与该类别均值之间的距离的累加和。
这个矩阵用来衡量类的内部分散程度,通常使用矩阵的矩阵乘法来进行计算。
5. 计算类间离散度矩阵类间离散度矩阵是指不同类别均值之间的距离的累加和。
这个矩阵用来衡量类别之间的分散程度,也通常使用矩阵的矩阵乘法来进行计算。
6. 计算特征值和特征向量计算类内离散度矩阵和类间离散度矩阵的特征值和特— 1 —征向量。
这些值可以使用线性代数中的方法计算。
一般来说,特征向量是正交(perpendicular)的。
7. 选取最大特征值从计算出的特征值中找到最大特征值,找到最大特征值所对应的特征向量。
这个特征向量就是数据的主要方向,也被称为“判别变量”。
Abstractlinear discriminant(KFLD). A Weighted KFLD(WKFLD) method proposed newly try to reduce the effect raised by imbalance of samples and improve the classification performance. The results show that this approach is effective and feasible.(3)Propose an ensemble method which is based on different sampling proportions. This method does several under-samplings according to different proportions, and uses them to test on the orient data sets. We assign a high weight to those classifications which have a good performance; the other classifications with a poor performance will be assigned with a low weight. In the end, we do a weighted linear combination to these classifications.Key words: Imbalanced data; Over-sampling; Under-sampling; Cost-sensitive; One classifier; Feature Selection; Subspace;学位论文独创性声明本人郑重声明:1、坚持以“求实、创新”的科学精神从事研究工作。
判别分析公式Fisher线性判别二次判别判别分析是一种常用的数据分析方法,用于根据已知的类别信息,将样本数据划分到不同的类别中。
Fisher线性判别和二次判别是两种常见的判别分析方法,在实际应用中具有广泛的应用价值。
一、Fisher线性判别Fisher线性判别是一种基于线性变换的判别分析方法,该方法通过寻找一个合适的投影方向,将样本数据投影到一条直线上,在保持类别间离散度最大和类别内离散度最小的原则下实现判别。
其判别函数的计算公式如下:Fisher(x) = W^T * x其中,Fisher(x)表示Fisher判别函数,W表示投影方向的权重向量,x表示样本数据。
具体来说,Fisher线性判别的步骤如下:1. 计算类别内离散度矩阵Sw和类别间离散度矩阵Sb;2. 计算Fisher准则函数J(W),即J(W) = W^T * Sb * W / (W^T * Sw * W);3. 求解Fisher准则函数的最大值对应的投影方向W;4. 将样本数据投影到求得的最优投影方向上。
二、二次判别二次判别是基于高斯分布的判别分析方法,将样本数据当作高斯分布的观测值,通过估计每个类别的均值向量和协方差矩阵,计算样本数据属于每个类别的概率,并根据概率大小进行判别。
二次判别的判别函数的计算公式如下:Quadratic(x) = log(P(Ck)) - 0.5 * (x - μk)^T * Σk^-1 * (x - μk)其中,Quadratic(x)表示二次判别函数,P(Ck)表示类别Ck的先验概率,x表示样本数据,μk表示类别Ck的均值向量,Σk表示类别Ck的协方差矩阵。
具体来说,二次判别的步骤如下:1. 估计每个类别的均值向量μk和协方差矩阵Σk;2. 计算每个类别的先验概率P(Ck);3. 计算判别函数Quadratic(x);4. 将样本数据划分到概率最大的类别中。
判别分析公式Fisher线性判别和二次判别是常见的判别分析方法,它们通过对样本数据的投影或概率计算,实现对样本数据的判别。
Fisher 线性判别分析实验报告一、摘要Fisher 线性判别分析的基本思想:通过寻找一个投影方向(线性变换,线性组合),将高维问题降低到一维问题来解决,并且要求变换后的一维数据具有性质:同类样本尽可能聚集在一起,不同类样本尽可能地远。
Fisher 线性判别分析,就是通过给定的训练数据,确定投影方向w 和阈值y0,即确定线性判别函数,然后根据这个线性判别函数,对测试数据进行测试,得到测试数据的类别。
二、算法的基本原理及流程图1 基本原理 (1) W 的确定各类样本均值向量 mi样本类内离散度矩阵iS 和总类内离散度矩阵wS12wS S S =+样本类间离散度矩阵bS在投影后的一维空间中,各类样本均值 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 WFisher 准则函数满足两个性质:投影后,各类样本内部尽可能密集,即总类内离散度越小越好。
T x S (x m)(x m ), 1,2iiii X i ∈=--=∑T 1212S (m m )(m m )b =--投影后,各类样本尽可能离得远,即样本类间离散度越大越好。
根据这个性质确定准则函数,根据使准则函数取得最大值,可求出w -1W = S(m - m)w12(2)阈值的确定实验中采取的方法:y = (m' + m') / 2012(3) Fisher线性判别的决策规则对于某一个未知类别的样本向量 x,如果y = W T x >y0, 则x∈w1否则x∈w22流程图方差标准化 (归一化处理)一个样本集中,某一个特征的均值与方差为:归一化:1 男女同学身高体重,训练数据和测试数据都是50当采用StudentData1作为训练数据,StudnetData2作为测试数据时当采用StudnetData2作为训练数据,StudentData2作为测试数据时2IonoSphere数据考虑到第一组数据训练数据多,下面的实验以第一组数据的训练数据作为训练数据,分别用其他组的测试数据进行测试从实验结果看,Fisher线性判别用于两类的判别决策时,拥有不错的效果,并且当有足量的训练数据时,效果更好。
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 10.06 0.02 1.01 0.4 1-0.07 -0.09 1.45 0.26 10.38 0.11 3.27 0.55 20.19 0.05 2.25 0.33 20.32 0.07 4.24 0.63 20.04 0.01 1.5 0.71 2-0.06 -0.06 1.37 0.4 10.07 -0.01 1.37 0.34 2-0.13 -0.14 1.42 0.44 10.15 0.06 2.23 0.56 20.16 0.05 2.31 0.2 20.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.ldaCall:lda(class ~ X1 + X2 + X3 + X4)Prior probabilities of groups:1 20.4615385 0.5384615Group means:X1 X2 X3 X41 -0.07500000 -0.105000000 1.763333 0.35833332 0.07857143 -0.002857143 2.062857 0.4685714Coefficients of linear discriminants:LD1X1 -7.9358690X2 15.8747840X3 0.1653748X4 5.0408074>newdata=data.frame(X1=c(0.29,0.54),X2=c(0.06,0.11),X3=c(1.84, 2.33),X4=c(0.38,0.48))> predict(data.lda,newdata=newdata)三、运行结果$class[1] 1 1Levels: 1 2$posterior1 21 0.6249180 0.37508202 0.7540681 0.2459319$xLD11 -0.69812362 -1.3032372四、$class显示,最后两组数据均属于第一类别,如下表:X1 X2 X3 X4 类别0.29 0.06 1.84 0.38 10.54 0.11 2.33 0.48 1四、总结判别分析是多元统计分析中较为成熟的一种分类方法,根据已知类别的若干样本数据,总结出客观事物分类的规律性。
判别分析——Fisher判别Fisher判别和CANDISC过程(典型判别过程)简介应用举例:例5.3.2:对表5.2中的胃癌检验的生化指标值用FISHER判别的方法进行判别归类。
先调用CANDISC(典型判别)过程求出2个典型变量,然后再使用DISCRIM过程对15个观测进行判别归类。
SAS程序如下:data d522;input group x1-x4 @@;cards;1 228 134 20 11 1 245 134 10 401 200 167 12 27 1 170 150 7 81 100 167 20 142 225 125 7 142 130 100 6 12 2 150 117 7 62 120 133 10 26 2 160 100 5 103 185 115 5 19 3 170 125 6 43 165 142 5 3 3 135 108 2 123 100 117 7 2;proc candisc data=d522 out=can532 ncan=2 distance;class group; var x1-x4;run;proc gplot data=can532;plot can2*can1 = group;run;proc discrim data=can532 distance list;class group; var can1 can2;run;proc discrim data=can532 pool=no distance list;class group; var can1 can2;run程序解释说明:(1)proc candisc调用candisc(典型判别)分析过程,“out=can532”定义一个输出数据集 can532,包括输入数据集及典型变量。
(2)“ncan=2”要求系统仅计算2个典型变量(典型变量的个数不能超过变量个数和分类个数减1的最小值);(3)Gplot过程要求绘制两个典型变量的散点图,以便了解分类情况;(4)第三、四个过程以典型变量can1 can2为变量建立判别函数。
R语⾔中Fisher判别的使⽤⽅法最近编写了Fisher判别的相关代码时,需要与已有软件⽐照结果以确定⾃⼰代码的正确性,于是找到了安装⽅便且免费的R。
这⾥把R中进⾏Fisher判别的⽅法记录下来。
1. 判别分析与Fisher判别不严谨但是通俗的说法,判别分析(Discriminant Analysis)是⼀种多元(多个变量)统计分析⽅法,它根据样本的多个已知变量的值对样本进⾏分类的⽅法。
⼀般来说,判别分析由两个阶段构成——学习(训练)和判别。
在学习阶段,给定⼀批已经被分类好的样本,根据它们的分类情况和样本的多个变量的值来学习(训练)得到⼀种判别⽅法;在判别阶段⽤前⼀阶段得到的判别⽅法对其他样本进⾏判别。
Fisher判别(Fisher Discrimination Method)⼜被称为线性判别(LDA,Linear Discriminative Analysis),是判别分析的⼀种,历史可以追溯到1936年。
它的核⼼思想是将多维数据(多个变量)投影(使⽤线性运算)到⼀维(单⼀变量)上,然后通过给定阈值将样本根据投影后的单⼀变量进⾏分类。
Fisher判别的学习(训练)阶段,就是找到合适的投影⽅式,使得对于已经被分类好的样本,同⼀类的样本被投影后尽量扎堆。
学习阶段的结果是找到⼀系列的系数(Coeffcient),构成形如y=a1 * x1 + a2 * x2 + a3 * x3 + ... + an * xn其中:a1,a2,... an是系数,x1,x2,... ,xn是变量值。
的判别式和阈值。
⽽判别阶段可以根据这个判别式计算出y,并根据阈值将样本进⾏分类。
2. 在R中使⽤Fisher判别R中使⽤Fisher判别说起来很简单,但是我当初也放狗搜索了不短的时间才搞明⽩如何使⽤。
⾸先,它在R⾥不叫Fisher,⽤Fisher搜索多半误⼊歧途。
在R中,它叫LDA(Linear Discriminative Analysis)。
fisher判别法Fisher判别分析的基本思想:选取适当的投影方向,将样本数据进行投影,使得投影后各样本点尽可能分离开来,即:使得投影后各样本类内离差平方和尽可能小,而使各样本类间的离差平方和尽可能大。
为了克服“维数灾难”,人们将高维数据投影到低维空间上来,并保持必要的特征,这样,一方面数据点变得比较密集一些,另一方面,可以在低维空间上进行研究。
fisher判别法是判别分析的方法之一,它是借助于方差分析的思想,利用已知各总体抽取的样品的p维观察值构造一个或多个线性判别函数y=l′x其中l= (l1,l2…lp)′,x= (x1,x2,…,xp)′,使不同总体之间的离差(记为B)尽可能地大,而同一总体内的离差(记为E)尽可能地小来确定判别系数l=(l1,l2…lp)′。
数学上证明判别系数l恰好是|B-λE|=0的特征根,记为λ1≥λ2≥…≥λr>0。
所对应的特征向量记为l1,l2,…lr,则可写出多个相应的线性判别函数,在有些问题中,仅用一个λ1对应的特征向量l1所构成线性判别函数y1=l′1x不能很好区分各个总体时,可取λ2对应的特征向量l′2建立第二个线性判别函数y2=l′2x,如还不够,依此类推。
有了判别函数,再人为规定一个分类原则(有加权法和不加权法等)就可对新样品x判别所属。
Fisher判别法是根据方差分析的思想建立起来的一种能较好区分各个总体的线性判别法,由Fisher在1936年提出。
该判别方法对总体的分布不做任何要求。
Fisher判别法是一种投影方法,把高维空间的点向低维空间投影。
在原来的坐标系下,可能很难把样品分开,而投影后可能区别明显。
一般说,可以先投影到一维空间(直线)上,如果效果不理想,在投影到另一条直线上(从而构成二维空间),依此类推。
每个投影可以建立一个判别函数。
Fisher判别理论,编程步骤和优缺点1.理论判别分析是用于判别个体所属群体的一种统计方法,判别分析的特点是根据已掌握的、历史上每个类别的若干样本的数据信息,总结出客观事物分类的规律性,建立判别公式和判别准则。
然后,当遇到新的样本点时,只要根据总结出来的判别公式和判别准则,就能判别该样本点所属的类别。
判别分析是一种应用性很强的统计数据分析方法。
Fisher判别(1)借助方差分析的思想构造一个线性判别函数:(2)确定判别函数系数时要求使得总体之间区别最大,而使每个总体内部的离差最小。
(3)从几何的角度看,判别函数就是p维向量X在某种方向上的投影。
使得变换后的数据同类别的点“尽可能聚在一起”,不同类别的点“尽可能分离”,以此达到分类的目的。
两类Fisher判别示意图(1)如果有多个类别, Fisher 判别可能需要两个或者更多的判别函数才能完成分类。
(2)一般来说判别函数的个数等于分类的个数减一。
(3)得到判别函数后,计算待判样品的判别函数值,根据判别函数的值计算待判样品到各类的重心的距离,从而完成分类。
2.编程步骤① 把来自两类21/w w 的训练样本集X 分成1w 和2w 两个子集1X 和2X 。
G1 G2X② 由∑∈=i k X x k ii x n M 1,2,1=i ,计算i M 。
③ 由T i X x k i k i M x M x S ik ))((--=∑=计算各类的类内离散度矩阵i S ,2,1=i 。
④ 计算类内总离散度矩阵21S S S w +=。
⑤ 计算w S 的逆矩阵1-w S 。
⑥ 由)(211*M M S w w -=-求解*w 。
3.优点(1)一般对于线性可分的样本,总能找到一个投影方向,使得降维后的样本仍然线性可分,而且可分性更好即不同类别的样本之间的距离竟可能的远,同一类别的尽可能的集中分布。
(2)Fisher 方法可以直接求解法向量。
(3)Fisher 的线性判别不仅适用于确定性的模式分类器的训练,而且对于随机的模机也是适用的,Fisher 还可以推广到多类问题中去。
fisher得分法
Fisher得分法又称为Fisher线性判别分析法,是一种用于多元分类和数据降维的统计分析方法。
它是由英国统计学家R.A. Fisher于1936年提出的,用于解决二分类问题和多分类问题。
Fisher得分法的核心思想是要找到一个投影方向,使得经过此方向投影后,不同类别之间的距离尽量大,同类之间的距离尽量小。
这个方向可以用一个向量表示,称为Fisher判别向量或Fisher判别式。
Fisher得分法的具体步骤如下:
1. 计算每个类别的均值向量和协方差矩阵;
2. 计算总体的均值向量和总体协方差矩阵;
3. 求出Fisher判别向量,使得通过该向量进行投影后,不同类别之间的距离尽量大,同类之间的距离尽量小;
4. 根据Fisher判别向量,将样本进行投影,得到一维数据;
5. 根据投影得到的一维数据,进行分类。
在实际应用中,Fisher得分法经常被用于图像识别、模式识别、信号处理、数据降维等领域。
它的优点是能够最大程度地保留原始数据的信息,同时可以实现较好的分类效果。
但是,在统计样本数量较少时,Fisher得分法的效果可能会受到限制。
1实验1 Fisher 线性判别实验一、实验目的应用统计方法解决模式识别问题的困难之一是维数问题,在低维空间行得通的方法,在高维空间往往行不通。
因此,降低维数就成为解决实际问题的关键。
Fisher 的方法,实际上涉及维数压缩。
如果要把模式样本在高维的特征向量空间里投影到一条直线上,实际上就是把特征空间压缩到一维,这在数学上容易办到。
问题的关键是投影之后原来线性可分的样本可能变得混杂在一起而无法区分。
在一般情况下,总可以找到某个最好的方向,使样本投影到这个方向的直线上是最容易分得开的。
如何找到最好的直线方向,如何实现向最好方向投影的变换,是Fisher 法要解决的基本问题。
这个投影变换就是我们寻求的解向量*w本实验通过编制程序体会Fisher 线性判别的基本思路,理解线性判别的基本思想,掌握Fisher 线性判别问题的实质。
二、实验原理1.线性投影与Fisher 准则函数各类在d 维特征空间里的样本均值向量:∑∈=ik X x kii xn M 1,2,1=i (4.5-2)通过变换w 映射到一维特征空间后,各类的平均值为:∑∈=ik Y y kii yn m 1,2,1=i (4.5-3)映射后,各类样本“类内离散度”定义为:22()k ii k i y Y S y m ∈=-∑,2,1=i (4.5-4)显然,我们希望在映射之后,两类的平均值之间的距离越大越好,而各类的样本类内离散度越小越好。
因此,定义Fisher 准则函数:2122212||()F m m J w s s -=+ (4.5-5) 使F J 最大的解*w 就是最佳解向量,也就是Fisher 的线性判别式。
2.求解*w从)(w J F 的表达式可知,它并非w 的显函数,必须进一步变换。
2已知:∑∈=ik Y y ki i yn m 1,2,1=i , 依次代入(4.5-1)和(4.5-2),有:i TX x kiT k X x T ii M wx n w x w n m ik ik ===∑∑∈∈)1(1,2,1=i (4.5-6)所以:221221221||)(||||||||M M w M w M w m m TTT-=-=-w S w w M M M M w b T T T =--=))((2121 (4.5-7) 其中:T b M M M M S ))((2121--= (4.5-8)b S 是原d 维特征空间里的样本类内离散度矩阵,表示两类均值向量之间的离散度大小,因此,b S 越大越容易区分。
Fisher线性判别分析
Fisher线性判别分析
1、概述
在使⽤统计⽅法处理模式识别问题时,往往是在低维空间展开研究,然⽽实际中数据往往是⾼维的,基于统计的⽅法往往很难求解,因此降维成了解决问题的突破⼝。
假设数据存在于d维空间中,在数学上,通过投影使数据映射到⼀条直线上,即维度从d维变为1维,这是容易实现的,但是即使数据在d维空间按集群形式紧凑分布,在某些1维空间上也会难以区分,为了使得数据在1维空间也变得容易区分,需要找到适当的直线⽅向,使数据映射在该直线上,各类样本集群交互较少。
如何找到这条直线,或者说如何找到该直线⽅向,这是Fisher线性判别需要解决的问题。
2、从d维空间变换到1维空间
3、介绍⼏个基本的参量
A. 在d维原始空间
B. 在1维映射空间
4、Fisher准则函数
5、学习算法推导
6、决策分类。