fisher判别式
- 格式:doc
- 大小:542.50 KB
- 文档页数:4
模式识别FISHER线性判别实验
人工知能领域中的模式识别是计算机实现人类识别物体的能力的一种
技术。
它的主要目的是根据给定模式的样本及其特征,自动识别出新的样
本的特征并做出判断。
其中最著名的技术之一就是FISHER线性判别法。
FISHER线性判别法基于正态分布理论,通过计算样本的统计特征来
分类,它是一种基于参数的最优分类算法。
算法的基本思想是通过计算两
个类别的最大类间差异度,以及最小类内差异度,来有效地分类样本。
具
体而言,FISHER线性判别法即求出一个线性超平面,使这个超平面把样
本区分开来,使样本离类中心向量之间的距离最大,同时使类中心向量之
间的距离最小。
FISHER线性判别法的具体实现过程如下:
1.准备好建立模型所需要的所有数据:训练样本集,其样本特征与对
应的类标号。
2.确定每个类的类中心向量c_1,c_2,…,c_m,其中m为类的数目。
3.根据类中心向量求出类间离散度矩阵S_b和类内离散度矩阵S_w。
4.将S_b与S_w相除,得到S_b/S_w,从而求出矩阵的最大特征值
λ_1及最小特征值λ_n。
5.将最大特征值λ_1进行特征值分解,求出其特征向量w,求出判
定函数:
f(x)=w·x+w_0。
6.根据判定函数,将样本进行分类。
Fisher 判别函数的使用具体步骤Fisher 多类判别模型假定事物由p 个变量描述, 即: x=(p x x x ,...,,21)T该种事物有G 个类型, 从每个类型中顺次抽取p n n n ,...,,21个样品, 共计n=∑=Gi i1n个样品。
即从第g 类取了g n 个样品, g=1,2,⋯, G, 第g 类的第i 个样品, 用向量:gi x =(pgi gi gi x x ,...,,x 21)T (1)( 1) 式中, 第一个下标是变量号, 第二个下标是类型号,第三个下标是样品号。
设判别函数为:T x p p v x v x v x v =+++=...y 2211 (2)其中: V=(p v v v ,...,21)T按照组内差异最小, 组间差异最大同时兼顾的原则, 来确定判别函数系数。
(中间推导过程不在这里介绍了)最终就有个判别函数:,y x V Tj j=1,...,2,1s j = 一般只取前M=min(G- 1,p)个, 即:M j x v x v x v y p pj j j j ,...,2,1,...2211=+++= (3)根据上述M 个判别函数, 可对每一个待判样品做出判别。
),...,,(x 020100p x x x=其过程如下:1、把x0 代入式(3) 中每一个判别函数, 得到M 个数,,...,2,1,...y 202101j 0M j x v x v x v p pj j j =+++=记:TM y y y y ),...,,(020100= 2、把每一类的均值代入式(3)得Gg y y y y G g M j x v x v x v y M gggg pg pg g g g g j g ,...,2,1),,...,,(,...2,1,,...,2,1,...212211====+++=3、计算:∑=-=Mj j j g gy y D 1202)(,从这G 个值中选出最小值:)(min 212g Gg h D D ≤≤=。
魏尔斯特拉斯判别法
拉斯判别法(Fisher discrimination),又称魏尔斯-拉普拉斯判别式,是概率论中的一种模式识别算法。
这种方法源于一九三五年爱因斯坦颁奖典礼上提出的魏尔斯定理,由Ronald A. Fisher利用贝叶斯定理建立而成。
该方法的基本思想是对类的期望总密度进行估计,在此基础上构造出把类别隔离开来的线性判别式,用来识别新样本。
它以类内样本的类内散度矩阵(within-class scatter matrix)和类间散度矩阵(between-class scatter matrix)为依据,构建决策边界,此处的决策边界满足最优类内距离和最大类间距离的性质。
拉斯判别法属于线性判别(linear discrimination)的一种,它的特点是用一个线性判别式来区分类型,具有计算简单、实现方便等特点,因而被人们广泛使用,拉斯判别法也称为线性判别分析(linear discriminant analysis, LDA)。
判别分析公式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判别函数,也称为线性判别函数(Linear Discriminant Function),是一种经典的模式识别方法。
它通过将样本投影到一维或低维空间,将不同类别的样本尽可能地区分开来。
一、算法原理:Fisher判别函数基于以下两个假设:1.假设每个类别的样本都服从高斯分布;2.假设不同类别的样本具有相同的协方差矩阵。
Fisher判别函数的目标是找到一个投影方向,使得同一类别的样本在该方向上的投影尽可能紧密,而不同类别的样本在该方向上的投影尽可能分开。
算法步骤如下:(1)计算类内散度矩阵(Within-class Scatter Matrix)Sw,表示每个类别内样本之间的差异。
Sw = Σi=1 to N (Xi - Mi)(Xi - Mi)ᵀ,其中Xi 表示属于类别i 的样本集合,Mi 表示类别i 的样本均值。
(2)计算类间散度矩阵(Between-class Scatter Matrix)Sb,表示不同类别之间样本之间的差异。
Sb = Σi=1 to C Ni(Mi - M)(Mi - M)ᵀ,其中 C 表示类别总数,Ni 表示类别i 中的样本数量,M 表示所有样本的均值。
(3)计算总散度矩阵(Total Scatter Matrix)St,表示所有样本之间的差异。
St =Σi=1 to N (Xi - M)(Xi - M)ᵀ(4)计算投影方向向量w,使得投影后的样本能够最大程度地分开不同类别。
w= arg max(w) (wᵀSb w) / (wᵀSw w),其中w 表示投影方向向量。
(5)根据选择的投影方向向量w,对样本进行投影。
y = wᵀx,其中y 表示投影后的样本,x 表示原始样本。
(6)通过设置一个阈值或使用其他分类算法(如感知机、支持向量机等),将投影后的样本进行分类。
二、优点和局限性:Fisher判别函数具有以下优点:•考虑了类别内和类别间的差异,能够在低维空间中有效地区分不同类别的样本。
Fisher 线性判别式
前面讲过的感知器准则、最小平方和准则属于用神经网络的方法解决分类问题。
下面介绍一种新的判决函数分类方法。
由于线性判别函数易于分析,关于这方面的研究工作特别多。
历史上,这一工作是从R.A.Fisher 的经典论文(1936年)开始的。
我们知道,在用统计方法进行模式识别时,许多问题涉及到维数,在低维空间行得通的方法,在高维空间往往行不通。
因此,降低维数就成为解决实际问题的关键。
Fisher 的方法,实际上涉及维数压缩。
如果要把模式样本在高(d )维的特征向量空间里投影到一条直线上,实际上就是把特征空间压缩到一维,这在数学上容易办到。
另外,即使样本在高维空间里聚集成容易分开的群类,把它们投影到一条任意的直线上,也可能把不同的样本混杂在一起而变得无法区分。
也就是说,直线的方向选择很重要。
在一般情况下,总可以找到某个最好的方向,使样本投影到这个方向的直线上是最容易分得开的。
如何找到最好的直线方向,如何实现向最好方向投影的变换,是Fisher 法要解决的基本问题。
这个投影变换就是我们寻求的解向量*
w 。
1.线性投影与Fisher 准则函数
在21/w w 两类问题中,假定有n 个训练样本),....,2,1(n k x k =其中1n 个样本来自i w 类型,2n 个样本来自j w 类型,21n n n +=。
两个类型的训练样本分别构成训练样本的子集1X 和2X 。
令:k T
k x w y =,n k ,...,2,1= (4.5-1)
k y 是向量k x 通过变换w 得到的标量,它是一维的。
实际上,对于给定的w ,k y 就是判决函数的值。
由子集1X 和2X 的样本映射后的两个子集为1Y 和2Y 。
因为我们关心的是w 的方向,可以令1||||=w ,那么k y 就是k x 在w 方向上的投影。
使1Y 和2Y 最容易区分开的w 方向正是区分超平面的法线方向。
如下图:
图中画出了直线的两种选择,图(a)中,1Y 和2Y 还无法分开,而图(b)的选择可以使1Y 和2Y 区分开来。
所以图(b)的方向是一个好的选择。
下面讨论怎样得到最佳w 方向的解析式。
各类在d 维特征空间里的样本均值向量:
∑∈=
i
k X x k
i
i x
n M 1,2,1=i (4.5-2)
通过变换w 映射到一维特征空间后,各类的平均值为:
∑∈=
i
k Y y k
i
i y
n m 1,2,1=i (4.5-3)
映射后,各类样本“类内离散度”定义为:
2
2
()
k i
i k i y Y S y m ∈=
-∑
,2,1=i (4.5-4)
显然,我们希望在映射之后,两类的平均值之间的距离越大越好,而各类的样本类内离散度越小越好。
因此,定义Fisher
准则函数:
2
122
2
12
||()F m m J w s s -=
+ (4.5-5)
使F J 最大的解*
w 就是最佳解向量,也就是Fisher 的线性判别式。
2.求解*
w
从)(w J F 的表达式可知,它并非w 的显函数,必须进一步变换。
已知:∑∈=
i
k Y y k
i i y
n m 1,2,1=i , 依次代入(4.5-1)和(4.5-2),有:
i T
X x k i
T
k X x T i
i M w x n w x w n m i k i
k ===
∑
∑
∈∈)1(
1,2,1=i (4.5-6)
所以:2
212
2
12
21||)(||||||||M M w M
w M w m m T
T
T
-=-=-
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 越大越容易区分。
将(4.5-6)i T
i M w m =和(4.5-2)∑∈=
i
k X x k
i
i x
n M 1代入(4.5-4)2
i S 式中:
∑∈-=
i k X x i T k T
i M w x w
S 2
2
)(
∑∈⋅--⋅
=i
k X x T
i k i k
T
w M x M x
w ))((
w S w i T
= (4.5-9)
其中:T
i X x k i k
i M x M x
S i
k ))((--=
∑=,2,1=i (4.5-10)
因此:w S w w S S w S S w T
T
=+=+)(212
22
1 (4.5-11) 显然:21S S S w += (4.5-12)
i S 称为原d 维特征空间里,样本“类内离散度”矩阵。
w S 是样本“类内总离散度”矩阵。
为了便于分类,显然i S 越小越好,也就是w S 越小越好。
将上述的所有推导结果代入)(w J F 表达式:
w J w T
b T
F =
)( —— 广义Rayleigh 商 (4.5-13)
式中b S 和w S 皆可由样本集X 计算出。
用lagrange 乘子法求解)(w J F 的极大值点。
令分母等于非零常数,也就是:0≠==c w S w c w T。
定义lagrange 函数:
)(),(c w S w w S w w L w T
b T --=λλ (4.5-14)
L 对w 求偏导数:
)(2),(w S w S w
w L w b λλ-=∂∂
令
0),(=∂∂w
w L λ得到:
*
*w S w S w b λ= (4.5-15)
从上述推导(4.5-10)~(4.5-12)可知,w S 是d 维特征的样本协方差矩阵,它是对称的和半正定的。
当样本数目d n >时,w S 是非奇异的,也就是可求逆。
则:*
1
*
w S S w b w
-=λ (4.5-16)
问题转化为求一般矩阵b w
S S 1
-的特征值和特征向量。
令A S S b w
=-1
,则λ是A 的特征根,*
w 是A 的特征向量。
*
2121*
}))({(w M M M M w S T
b --=
})){((*
2121w M M M M T
--=
γ⋅-=)(21M M (4.5-17)
式中:
*
21)(w M M T -=γ
是一个标量。
所以*
w S b 总是在)(21M M -方向上。
将(4.5-17)代入到(4.5-15),可以得到:
)(211
*
M M S w w
-=
-λ
γ
其中,
λ
γ是一个比例因子,不影响*
w 的方向,可以删除,从而得到最后解:
)(211
*
M M S w w
-=- (4.5-18)
*
w 就使)(w J F 取得最大值,*
w 可使样本由d 维空间向一维空间映射,其投影方向最好。
)
(211
*
M M S w w
-=-是一个Fisher 线性判断式。
讨论:
如果21M M =,0*
=w ,则样本线性不可分。
21M M ≠,未必线性可分。
w S 不可逆,未必不可分。
3.Fisher 算法步骤
由Fisher 线性判别式)(211
*
M M S w w
-=-求解向量*
w 的步骤:
① 把来自两类21/w w 的训练样本集X 分成1w 和2w 两个子集1X 和2X 。
② 由∑∈=
i
k X x k
i
i x
n M 1,2,1=i ,计算i M 。
③ 由T
i X x k i k
i M x M x
S i
k ))((--=
∑=计算各类的类内离散度矩阵i S ,2,1=i 。
④ 计算类内总离散度矩阵21S S S w +=。
⑤ 计算w S 的逆矩阵1
-w S 。
⑥ 由)(211
*
M M S w w
-=-求解*
w 。
这一节所研究的问题针对确定性模式分类器的训练,实际上,Fisher 的线性判别式对于随机模式也是适用的。
Fisher 算法注释:
(1)Fisher 方法可直接求解权向量*
w ;
(2)对线性不可分的情况,Fisher 方法无法确定分类,Fisher 可以进一步推广到多类问题中去。