模式识别Iris_Bayes
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模式识别Iris数据分类
一、实验简述
Iris以鸢尾花的特征作为数据来源,数据集包含150个样本,分为3类,3类分别为setosa,versicolor,virginica,每类50个样本,每个样本包含4个属性,这些属性变量测量植物的花朵,像萼片和花瓣长度等。本实验通过贝叶斯判别原理对三类样本进行两两分类。假设样本的分布服从正态分布。
二、实验原理
1、贝叶斯判别原理
首先讨论两类情况。用ω1,ω2表示样本所属类别,假设先验概率P(ω1),P(ω2)已知。这个假设是合理的,因为如果先验概率未知,可以从训练特征向量中估算出来。如果N是训练样本的总数,其中有N1,N2个样本分别属于ω1,ω2,则相应的先验概率为P(ω1)=N1/N,
P(ω2)=N2/N。
另外,假设类条件概率密度函数P(x|ωi),i=1,2,…,n,是已知的
参数,用来描述每一类特征向量的分布情况。如果类条件概率密度函数是未知的,则可以从训练数据集中估算出来。概率密度函数P(x|
ωi)也指相对也x的ωi的似然函数。特征向量假定为k维空间中的任何值,密度函数P(x|ωi)就变成的概率,可以表示为P(x|ωi)。
P(ωi|x) = P(x|ωi)P(ωi)/P(x)
贝叶斯的分类规则最大后验概率准则可以描述为:
如果P(ω1|x)/P(ω2|x) > P(ω2) / P(ω1),则x 属于ω1类, 如果P(ω2|x)/P(ω1|x) > P(ω1) / P(ω2),则x 属于ω2类。
2、多元正态分布
多变量正态分布也称为多变量高斯分布。它是单维正态分布向多维的推广。用特征向量X=[x 1, x 2,…, x n ]T 来表示多个变量。N 维特征向量的正态分布用下式表示:
P(x) =
1
(2π)
N/2
|Σ|1/2
exp (−1
2
(x −u)T Σ−1
(x −u))
其中Σ表示协方差矩阵,|Σ|表示协方差矩阵的行列式,u 为多元正态分布的均值。
三、实验过程
1、从样本集中抽取不同数目的样本建立正态模型,将其余的样本作为测试集,测试模型的性能。ω1表示setosa 类,ω2表示versicolor 类,ω3表示virginica 类。该阶段假定三类样本的先验概率P(ω1), P(ω2),P(ω3)相等,即给定测试样本特征向量x ,条件概率P(ω1|x), P(ω2|x),P(ω3|x)中最大值表示特征值所属类别。
(1)从每一类中随机抽取7个样本建立正态模型,43个作为测试样本,得到的实验结果如下:
(2)从每一类中随机抽取10个样本建立正态模型,40个作为测试样本,得到的实验结果如下:
(3)从每一类中随机抽取20个样本建立正态模型,30个作为测试样本,得到的实验结果如下:
(4)从每一类中随机抽取30个样本建立正态模型,20个作为测试样本,得到的实验结果如下:
(5)从每一类中随机抽取40个样本建立正态模型,10个作为测试样本,得到的实验结果如下:
(6)从每一类中随机抽取50个样本建立正态模型,并在所有样本上测试性能,得到的实验结果如下:
2、用所有样本建立正态模型,并考虑不同的先验概率P(ω1),
P(ω2), P(ω3)对分类正确率的影响。根据最大后验概率的判别准则P(ω1|x)/ P(ω2|x) > P(ω2)/P(ω1)是将该样本判为ω1类,而
P(ω2), P(ω2), P(ω3)是比较难估计的,但根据样本数据可以比较容易的计算条件概率P(ω1|x),P(ω2|x),P(ω3|x),所以实验估计先验概率的比值取何值时分类会出现误差。
(1)将ω1类的所有样本数据代入三个正态分布的概率密度函数中计算P(ω1|x)、P(ω2|x)、P(ω3|x),并计算比值P12=P(ω1|x)/ P(ω2|x)、P13=P(ω1|x)/ P(ω3|x)。其中P12的最小值为r1=2.1721e+09,即
P(ω2)/P(ω1)大于r1时第一类会有样本被错判为第二类。P13的最小值为r2=9.0853e+24,所以当P(ω3)/P(ω1)大于r2时第一类会有样本被错判为第三类。
(2)将ω2类的所有样本数据代入三个正态分布的概率密度函数中计算P(ω1|x)、P(ω2|x)、P(ω3|x),并计算比值P21=P(ω2|x)/ P(ω1|x)、P23=P(ω2|x)/ P(ω3|x)。其中P21的最小值为r1=6.0689e+27,即
P(ω1)/P(ω2)大于r1时第二类会有样本被错判为第一类。P23的最小值为r2=0.1825,所以当P(ω3)/P(ω2)大于r2时第二类会有样本被错判为第三类。
(3)将ω3类的所有样本数据代入三个正态分布的概率密度函数中计算P(ω1|x)、P(ω2|x)、P(ω3|x),并计算比值P31=P(ω3|x)/ P(ω1|x)、P32=P(ω3|x)/ P(ω2|x)。其中P31的最小值为r1=3.364e+94,即
P(ω1)/P(ω3)大于r1时第三类会有样本被错判为第一类。P32的最小值为r2=0.6530,所以当P(ω2)/P(ω3)大于r2时第三类会有样本被错判为第二类。
四、实验分析
1、从实验中可以看出随着建模样本数的增加,模型的性能也会有相应的提升,但也具有一定的随机性,这和抽取的样本有密切的关联。实验中发现即使取样比较少时ω1类总是可以正确的分类,
而错误发生在ω2类和ω3类中。这三类样本的均值u1, u2, u3,和协方差矩阵Σ1, Σ2, Σ3如下所示:
u1 = [5.0060 3.418. 1.4640 0.2440]
u2 = [5.9360 2.7700 4.2600 1.3260]
u3 = [6.5880 2.9740 5.5520 2.0260]
0.1242 0.1003 0.0161 0.0105
0.1001 0.1452 0.0117 0.0114
Σ1 = 0.0161 0.0117 0.0301 0.0052
0.0105 0.0114 0.0057 0.0115
0.2664 0.0852 0.1829 0.0558
0.0852 0.0985 0.0827 0.0412
Σ2 = 0.1829 0.0827 0.2208 0.0731
0.0558 0.0412 0.0731 0.0391
0.4043 0.0938 0.3033 0.0491
0.0938 0.1040 0.0714 0.0476
Σ3 = 0.3033 0.0714 0.3046 0.0488
0.0491 0.0476 0.0488 0.0754
通过对这三类样本均值及协方差的分析可以发现ω1类的均值距离
ω2类和ω3类的均值比较远,而ω2类和ω3类的均值是比较接近的,同时从ω1类的协方差矩阵中可以看出ω1类样本方差是比较小的,说明数据分布比较集中,所以即使训练过程抽取的样本比较少,第一类仍然可以和其它两类分开。同样由于ω1类分布集中,所以只有在