您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 贝叶斯最大后验概率准则对iris数据的分类
1、实验目的1.了解多元正态分布2.对多元正态分布利用矩估计法进行参数估计,了解参数估计的过程3.掌握利用贝叶斯最大后验概率准则对三类数据进行两两分类的方法2、实验原理Iris数据集共有三组,分别为setosa,versicolou和virginica,每一组都是一个单独的类别,此实验中,默认setosa为第一类,versicolou为第二类,virginica为第三类,每组50个数据,每个数据都是一个四维向量,且服从四维正态分布。即类别空间为:Ω={ω1,ω2,ω3}数据向量为:x=(𝑥1,𝑥2,𝑥3,𝑥4)𝑇2.1多元正态分布随机向量X=(𝑋1,…,𝑋𝑝)′的分布密度函数有如下形式:p(𝑥1,𝑥2,…,𝑥𝑝)=p(𝑥⃗)=1(2𝜋)42|𝐵|12exp{−12(𝑥⃗−𝜇⃗)𝑇∗𝐵−1∗(𝑥⃗−𝜇⃗)}(1)其中x=(𝑥1,𝑥2,…,𝑥𝑝)𝑇为常量,μ=(𝜇1,𝜇2,…,𝜇𝑝)𝑇为随机向量的均值向量,B为p*p的协方差矩阵,则称X服从p元正态分布,记X~N𝑝(μ,B)为。因此,对于多元正态分布而言,只需要确定均值向量和协方差矩阵即可确定概率密度函数。2.2参数估计由于三组数据均服从四维正态分布,首先要确定数据的具体分布,因此在分类之前,利用一部分实验数据进行训练,分别得到三组数据的四维正态分布参数。即(𝜇⃗1,𝐵1),(𝜇⃗2,𝐵2),(𝜇⃗3,𝐵3),分别为setosa,versicolou和virginica三组数据的参数。实验中,参数估计采用矩估计法,即利用样本(训练数据)的均值向量和协方差矩阵作为总体的均值向量和协方差矩阵的估计值,进而得到每组数据的分布密度函数。以第一组数据为例:setosa中的数据x=(𝑥1,𝑥2,𝑥3,𝑥4)𝑇服从均值为四维列向量𝜇⃗1=(𝜇1,𝜇2,𝜇3,𝜇4)𝑇,4*4维协方差矩阵B的四元正态分布。均值向量和协方差矩阵的估计式为:𝜇̂1⃗⃗⃗⃗⃗=1𝑁∑𝑥𝑘⃗⃗⃗⃗⃗𝑁𝑖=1(2)𝐵1̂=𝐸[(𝑥⃗−𝜇⃗)∗(𝑥⃗−𝜇⃗)𝑇]=1𝑁∑(𝑥𝑘⃗⃗⃗⃗⃗−𝜇̂1⃗⃗⃗⃗⃗)(𝑥𝑘⃗⃗⃗⃗⃗−𝜇̂1⃗⃗⃗⃗⃗)𝑇𝑁𝑖=1(3)从第一类数据中选取部分数据按照上式进行训练,得到第一类数据的正态分布参数,因而可求得其密度函数。三类数据都按照上公式,选取部分实验数据得出正态分布的均值向量和协方差矩阵。进而得到自己的概率密度公式p(𝑥⃗)=1(2𝜋)42|𝐵|12exp{−12(𝑥⃗−𝜇⃗)𝑇∗𝐵−1∗(𝑥⃗−𝜇⃗)}(4)2.3贝叶斯最大后验概率准则利用贝叶斯准则对数据进行两两分类时,以贝叶斯公式为基础,利用测量到的对象特征配合必要的先验信息,求出两种可能分类情况的后验概率,选取后验概率大的,作为分类的结果。即最大后验概率准则,也称最小错误概率准则。以第一类和第二类为例,对这两组数据进行分类。两组数据经过参数估计之后,分别得到条件概率密度p(x|𝜔1),p(x|𝜔2)。根据贝叶斯准则:p(𝜔1|x)=p(x|𝜔1)p(𝜔1)𝑝(𝑥)(5)p(𝜔2|x)=p(x|𝜔2)p(𝜔2)𝑝(𝑥)(6)贝叶斯最大后验概率准则进行分类时,根据输入的列向量x=(𝑥1,𝑥2,𝑥3,𝑥4)𝑇,分别计算两类的后验概率,判x为后验概率的大类别,即:如果p(𝜔1|x)p(𝜔2|x)则判别x为𝜔1类(第一类)即:p(𝜔1|x)=p(x|𝜔1)p(𝜔1)𝑝(𝑥)p(x|𝜔2)p(𝜔2)𝑝(𝑥)=p(𝜔2|x)(7)即:𝑙12=p(x|𝜔1)p(x|𝜔2)p(𝜔2)p(𝜔1)=𝜃21(9)因此根据最大后验概率准则判断x所属的类别,转变为比较似然比𝑙12和阈值𝜃21的大小。实验中首先求得两类数据的条件概率密度p(x|𝜔1)和p(x|𝜔2),关于先验概率p(𝜔1)和p(𝜔2),实验进行时,将待分类的两组数据合并放入一个100*4的矩阵中,每次随机选取待分类数据x,因此先验概率p(𝜔1)=p(𝜔2)(9)故而,判别式(8)简化为:p(x|𝜔1)p(x|𝜔2)(10)因此,根据上式即可对输入向量x进行分类。如果p(x|𝜔1)p(x|𝜔2)则判别x为𝜔1类(第一类)同理如果p(x|𝜔2)p(x|𝜔1)则判别x为𝜔2类(第二类)3、实验过程实验中,根据实验原理,首先对两组数据分别进行训练,得到其四维正态分布的密度函数,再根据最大后验概率准则进行分类。3.1参数估计已知三组数据均为X~N4(μ,B)的四元正态分布,即p(𝑥1,𝑥2,𝑥3,𝑥4)=p(𝑥⃗)=1(2𝜋)42|𝐵|12exp{−12(𝑥⃗−𝜇⃗)𝑇∗𝐵−1∗(𝑥⃗−𝜇⃗)}其中,𝜇⃗为均值向量,B为协方差矩阵,𝑥⃗和𝜇⃗均为四维列向量。根据式(2)和(3)对每组数据的均值向量和协方差矩阵进行估计。参数估计即选取部分数据进行训练,数据可以采用随机选取的方式,也可以从开始固定的选取若干数据进行训练。同时,参与训练的数据多少也会影响最后的分类结果。实验中尝试了不同的选取方法,结果如下:(1)从前向后依次选取10个数据进行训练:(2)从前向后依次选取15个数据进行训练:(3)从前向后依次选取20个数据进行训练:(4)从前向后依次选取25个数据进行训练:(5)随机选取15个数据进行训练:(6)随机选取20个数据进行训练:3.2贝叶斯分类学习分类时,本实验中,将待分类的两类数据合并为一个矩阵test,然后每次随机的从test矩阵中抽取一维向量进行分类判别。因此先验概率满足p(𝜔1)=p(𝜔2)=12所以,实验中只需要根据估计的参数得出两类的概率密度函数p(x|𝜔1)=1(2𝜋)42|𝐵1|12exp{−12(𝑥⃗−𝜇⃗1)𝑇∗𝐵1−1∗(𝑥⃗−𝜇⃗1)}p(x|𝜔2)=1(2𝜋)42|𝐵2|12exp{−12(𝑥⃗−𝜇⃗2)𝑇∗𝐵2−1∗(𝑥⃗−𝜇⃗2)}对于输入的列向量x带入上面两个公式中进行计算,则x归入概率大的一类。下面以第一类和第二类分类为例进行说明:实验中,m:表示参与训练的数据个数,进行分类学习时t:表示每次学习的次数,实验置为10000,即每次随机选取10000次x进行分类test矩阵:将待分类的两组数据合并为一个矩阵test,之后随机的从test矩阵中选择输入向量,保证先验概率相等W向量:表示随机选择的输入向量的位置,若W(i)51则说明此时的输入向量来自第一类,W(i)50则说明此时的输入向量来自第二类set向量:输入的x判别属于第一类,则将set的相应位置1,否则置0ver向量:输入的x判别属于第二类,则将ver的相应位置1,否则置0最后比较W向量和set向量、ver向量,若选择于第一类(W(i)51)也判别为第一类(set(i)=1),则说明判别正确。第二类同理。部分框图如下所示:相应部分代码如下:最后,统计set向量和ver向量中不为0的元素个数即在10000次学习分类时错误的次数。进行分类实验时,考虑到两方面的影响:(1)参数估计时训练样本的选取方式不同,分为固定选取样本和随机选取样本(2)参数估计时选取的样本数目同时,实验中,每次分类相当于进行10000次判别,由于选择输入矢量时具有随机性,因此针对同一m(m表示参与训练的样本数目),各进行10次实验进行比较。3.2.1第一类与第二类(即setosa和versicolou)(1)当训练样本从前向后固定选取时:当训练样本固定选取时,当参与训练的样本个数分别为为6,10,15,均不会产生错误。(2)当训练样本随机选取时当训练样本随机选取时:m=6时平均错误率为:7.274%m=10时平均错误率为:0.109%m=15时平均错误率为:0次数12345678910m=6错误个数0000000000错误率0000000000m=10错误个数0000000000错误率0000000000m=15错误个数0000000000错误率0000000000次数12345678910m=6错误个数182470202130109202749519040错误率18.24%7.02%02.13%01.09%20.27%4.95%19.04%0m=10错误个数000000109000错误率0000001.09%000m=15错误个数0000000000错误率00000000003.2.2第一类与第三类(即setosa和virginica)(1)当训练样本从前向后固定选取时:当训练样本固定选取时,当参与训练的样本个数分别为为6,10,15,均不会产生错误。(2)当训练样本随机选取时当训练样本随机选取时:m=6时平均错误率为:6.634%m=10时平均错误率为:0m=15时平均错误率为:0次数12345678910m=6错误个数0000000000错误率0000000000m=10错误个数0000000000错误率0000000000m=15错误个数0000000000错误率0000000000次数12345678910m=6错误个数03997010250072095000错误率039.97%010.25%007.2%9.5%00m=10错误个数0000000000错误率0000000000m=15错误个数0000000000错误率00000000003.2.3第二类与第三类(即versicolou和virginica)(1)当训练样本从前向后固定选取时:当训练样本固定选取时:m=6时平均错误率为:3.983%m=10时平均错误率为:6.096%m=15时平均错误率为:4.038%m=50时平均错误率为:3.049%次数12345678910m=6错误个数410397413369389409430416387363错误率4.1%3.97%4.13%3.69%3.89%4.09%4.3%4.16%3.87%3.63%m=10错误个数626622561613677610605614613555错误率6.26%6.22%5.61%6.13%6.77%6.1%6.05%6.14%6.13%5.55%m=15错误个数399396409399355434431393406416错误率3.99%3.96%4.09%3.99%3.55%4.34%4.31%3.93%4.06%4.16%m=50错误个数325285323298299302306315288308错误率3.25%2.85%3.23%2.98%2.99%3.02%3.06%3.15%2.88%3.08%(2)当训练样本随机选取时当训练样本随机选取时:m=6时平均错误率为:17.471%m=10时平均错误率为:9.341%m=15时平均错误率为:4.933%m=50时平均错误率为:2.982%次数12345678910m=6错误个数6373478200050415108914250204610001185错误率6.37%34.78%20%5.04%15.1%8.91%42.5%20.46%10%11.85%m=10错误个数901984889126038211361130959780920错误率9.01%9.84%8.89%12.6%3.82%11.36%11.3%9.59%7.8%9.2%m=15错误个数478328726531100657395286740692错误率4.78%3.28%7.26%5.31%1%6.57%3.95%2.86%7.4%6.92%m=50错误个数40822131937488403444310213202错误率4.08%2.21%3.19%3.74%0.88%4.03%4.44%3.1%2.13%2.02%4、实验分析实验中,第一部分为参数估计,从实验中可得,以训练样本固定选取,样本个数m=20为例:从中可以看出,第一
本文标题:贝叶斯最大后验概率准则对iris数据的分类
链接地址:https://www.777doc.com/doc-2034596 .html