当前位置:
文档之家› 基于Fisher判别分析的贝叶斯分类器
基于Fisher判别分析的贝叶斯分类器
若 p ( x ωi ) p (ωi ) = max p x ω j p (ω j ) ,则 x ∈ ωi
j =1,2,",c
(
)
(2)
这就构成了经典的贝叶斯分类器。 对于许多实际的数据集,正态假设通常是一种较合理的 近似。多元正态函数的概率密度函数为:
fX ( x) = 1
( 2π )
n2
Σ
12
T ⎡ 1 ⎤ exp ⎢ − ( x − µ ) Σ −1 ( x − µ ) ⎥ ⎣ 2 ⎦
max w J (W ) = S B S W = W S BW W SW W
T T
图1
改进的贝叶斯算法流程
3
本实验的数据选自 CORK_STOERS.XLS 数据集, 具体数 据说明如表 1 所示。
表1
数据集 CORK_STOERS.XLS 属性 10
实验结果与分析
实验数据说明
类 a类 b类 样本总数 训练样本 测试样本 50 50 25 30 25 20
( i = 1, 2,", c ) 为类条件概率密度函数, p (ωi x ) ( i = 1, 2,", c ) 表
示接受 x 属于第 i 类的 ωi 的条件概率,也称为后验概率。在 基于后验概率的分类中,问题可描述为: 若 p (ωi x ) = max p ω j x , 则 x ∈ ωi
j =1,2,",c
(10)
以上可以看出,判别准则对应的优化问题等价于求解一 个复杂的广义特征值和特征向量的问题,计算较大特征值所 对应的特征向量,以此作为最佳投影方向 [5] ,这是实现该分 就能依据投影方程: 类器算法的核心。 一旦确定变换矩阵 W,
y =W Tx
(11)
此种划分达到了严格分开的要求,评价出的分类器正确 率比较接近实际的正确率,但还是会受到训练集有限样本数 产生的偏差和测试集有限样本数产生的偏差的影响。另外, 本实验对所有的训练样本和测试样本都按下式进行了归一化 的预处理, y=(x-min)/(max-min)。其中, x 为一个样本; y 为 归一化的数据; max 和 min 分别是对所有的训练样本求出各 个特征的最大值和最小值。分别用经典的贝叶斯分类器和改 进的贝叶斯分类器对 a 类的 25 个测试样本和 b 类的 20 个测 试样本进行分类。实验结果如表 2 所示,分类结果如图 2、 图 3 所示,其中,图 2(a)、图 3(a)中 1 代表 a 类,2 代表 b 类; 在图 2(b)、图 3(b)中, 1 代表 b 类, 2 代表 a 类。可以看出, 改进的贝叶斯分类器在同等的测试样本和初始条件相同的情 形下,误判样本数较少,分类效果较好,正确率较高。
1
分类是机器学习、模式识别和人工智能等相关领域广泛 研究的问题。近年来,随着相关领域中新技术的不断涌现, 分类方法也得到了新的发展。针对不同的分类问题,分类方 法多种多样,如决策树分类、支持向量机分类、神经网络分 类。在众多的分类方法中,贝叶斯分类器受到了极大地重视。 贝叶斯分类器是基于最大后验概率准则的,即利用某对象的 先验概率计算其后验概率,并选择具有最大后验概率的类作 为该对象所属的类 [1] 。在贝叶斯模型中,模型分别模拟每一 个类的类条件联合概率分布,然后基于贝叶斯定理构建后验 概率分类器 [2] 。然而,经典的贝叶斯分类器并未利用类与类 之间的信息,而这种信息正是分类所需要的。本文在分析贝 叶斯模型结构特点以及构造分类器方法的基础上,结合 Fisher 线性判别分析,给出一种基于 Fisher 线性判别分析 (Fisher Linear Discriminant Analysis, FLDA)的贝叶斯分类器。
为处理方便,先对其进行对数变换,则可得到如下线性 决策函数:
gi ( x ) = x TWi x + wi T x + wi 0
(3)
2
2.1
贝叶斯分类原理与 Fisher 线性判别分析理论
经典的贝叶斯分类器 在连续情况下,设以观察到的某一向量 x 是 d 维特征向
T
其中:
1 −1 ⎧ (d × d 矩阵) ⎪Wi = − 2 Σi ⎪ ⎪ −1 (d维的列向量) ⎨ wi = Σi µi ⎪ 1 T −1 1 ⎪ wi 0 = − µi Σi µi − log ( Σi ) + log ( P (ωi ) ) ⎪ 2 2 ⎩
(
)
(1)
其物理意义为:在观测得到的特征向量发生的条件下,
第 37 卷
第 10 期
曹玲玲,潘建寿:基于 Fisher 判别分析的贝叶斯分类器
163
决策结果。 2.2 Fisher 线性判别分析 Fisher 线性判别分析方法是模式识别中一种行之有效的 Fisher 线性判别分析力图找到一组最佳的投 特征提取方法 [4]。 影方向,在这些投影方向上,可以最好的区分训练集中属于 不同类别的样本。 设有一组 d 维的训练样本 x1 , x2 ," , xn ( xi 为 d 维行向量,
曹玲玲,潘建寿
(西北大学信息科学与技术学院,西安 710127) 摘 要:针对满足“类条件属性相互独立”假定的经典贝叶斯分类器无法有效利用类间信息的缺陷,结合 Fisher 线性判别分析,给出一种 基于 Fisher 线性判别分析的贝叶斯分类器的改进算法。该算法通过寻找类与类最大分离的投影空间,将原样本向最大分离空间投影,以获 得新样本,并采用贝叶斯分类器对新样本进行分类。实验结果表明,在给定的数据集上,该贝叶斯分类器的分类正确率较高,分类性能 较好。 关键词:贝叶斯分类器;投影变换矩阵;Fisher 线性判别分析;特征向量
如果使 gi ( x ) > g j ( x ) ,对一切 j ≠ i 成立,则将 x 归于 ωi 类。在这种情况下的贝叶斯分类就是利用式 (3)计算出 c 个判 别函数 gi ( x ) , 再从中选出对应于判别函数为最大值的类作为
作者简介:曹玲玲(1985-),女,硕士,主研方向:计算机视觉,模 式识别;潘建寿,教授 收稿日期:2010-11-25 E-mail:cao.ling1985@
Bayesian Classifier Based on Fisher Discriminant Analysis
CAO Ling-ling, PAN Jian-shou
(Institute of Information Science and Technology, Northwest University, Xi’an 710127, China) 【Abstract】Classical Bayesian classifier which satisfies the assumption of condition attributes independent of each other can not use between-class information effectively. In order to solve this problem, an improved algorithm of Bayesian classifier combined with Fisher Linear Discriminant Analysis(FLDA) is proposed. This algorithm is the key to search the projection space of maximum separation. The original samples are projected to maximum separation space and new samples are obtained. These new samples are classifed by Bayesian classifier. Experimental results show that improved Bayesian classifier has higher accuracy of classification and better performance of classification in the given data collection. 【Key words】Bayesian classifier; projection transformation matrix; Fisher Linear Discriminant Analysis(FLDA); feature vector DOI: 10.3969/j.issn.1000-3428.2011.10.055
第 37 卷 Vol.37
第 10 期 No.10
计 算 机 工 程 Computer Engineering
文章编号:1000—3428(2011)10—0162—03 文献标识码:A
2011 年 5 月 May 2011
中图分类号:N945
·人工智能及识别技术·
基于 Fisher 判别分析的贝叶斯分类器
n>d),它们分别属于 c 个不同的类别,即其中大小为 ni 的样 本子集 Di 属于类别 ci。 Fisher 线性判别分析所要解决的基本 问题就是寻求一组最佳线性变换矩阵 W=[w1,w2,… ,wm],将原 始数据通过线性变换后投影到新的样本空间,在新的空间里 原始数据得以更好地划分。为确定最佳的投影方向,需要定 义下面的矩阵和向量: 类均值向量 mi :
=
1 ni
∑ x
x∈D i
(4)
总体均值向量 m:
n x n i =1 类内散布矩阵 S W:
c c i =1 i =1 x∈D i
m=
1∑x =1 Nhomakorabea∑ ni mi
c
(5)
SW = ∑ Si = ∑ ∑ ( x − mi )( x − mi )
类间散布矩阵 S B:
S B = ∑ ni ( mi − m )( mi − m )