iris数据集的贝叶斯分类
- 格式:doc
- 大小:154.50 KB
- 文档页数:9
IRIS 数据集的Bayes 分类实验一、 实验原理1) 概述模式识别中的分类问题是根据对象特征的观察值将对象分到某个类别中去。
统计决策理论是处理模式分类问题的基本理论之一,它对模式分析和分类器的设计有着实际的指导意义。
贝叶斯(Bayes )决策理论方法是统计模式识别的一个基本方法,用这个方法进行分类时需要具备以下条件:➢ 各类别总体的分布情况是已知的。
➢ 要决策分类的类别数是一定的。
其基本思想是:以Bayes 公式为基础,利用测量到的对象特征配合必要的先验信息,求出各种可能决策情况(分类情况)的后验概率,选取后验概率最大的,或者决策风险最小的决策方式(分类方式)作为决策(分类)的结果。
也就是说选取最有可能使得对象具有现在所测得特性的那种假设,作为判别的结果。
常用的Bayes 判别决策准则有最大后验概率准则(MAP ),极大似然比准则(ML ),最小风险Bayes 准则,Neyman-Pearson 准则(N-P )等。
2) 分类器的设计对于一个一般的c 类分类问题,其分类空间:{}c w w w ,,,21 =Ω表特性的向量为: ()T d x x x x ,,,21 =其判别函数有以下几种等价形式: a) ()()i j i w w i j c j w w x w P x w P ∈→≠=∈→>,且,,,2,11 , b) ()()()()i j j i w w i j c j w P w x p w P w x p ∈→≠=>,且,,,2,1i c) ()()()()()i i j j i w w i j c j w P w P w x p w x p x l ∈→≠=>=,且,,,2,1 d) ()()()()i j j i i w w i j c j w P w x np w P w x p ∈→≠=+>+,且,,,2,1ln ln ln3) IRIS 数据分类实验的设计➢ IRIS 数据集:一共具有三组数据,每一组都是一个单独的类别,每组有50个数据,每个数据都是一个四维向量。
其分类空间为:{}321,,w w w =Ω表特性的向量为:()T x x x x x 4321,,,= ➢ 实验目的:利用Bayes 判别准则对三组数据进行分类,希望能够尽量准确的判断出从IRIS 数据集中选取的样本所属的类别。
➢ 实验设计思路:将每个数据看作是一个具有4维特征的观察样本()150,3,2,1,,,,4321 ==i x x x x x T i i i i i 假设每类数据的每维都的分别服从正态分布即().3,2,1.4,3,2,1,2exp 21)(22==⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧--=p j x x f wp j wp j wpj wpj 其中,σμσπ 并且两两独立。
由数理统计理论可知,样本均值和修正方差分别为μ和2σ的无偏估计量,故可近似为求得μ和2σ为:.3,2,1.4,3,2,1,===p j X wp j wp j μ ()∑===--=n i wp j wp ij wp j p j X X n 122.3,2,1.4,3,2,1,11σ 贝叶斯决策规则选取: ()()()()()w w i j j w P w P w x p w x p x l i j j i ∈→≠=>=,且,3,2,1由于不同维度数据两两独立,故其中: ()()()()()()()()()i j i j x x w x f w x f w x f w x f w x p w x p x l q wp q wj j wp q wp q wi i wp q q j q q i q q j i j i ≠=⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧--⎪⎭⎪⎬⎫⎪⎩⎪⎨⎧--====∏∏==,3,2,1,2exp 12exp 141222241σμσσμσ 另让门限值: ()()i j i j w P w P i j ≠==,3,2,1,N N i j其中:N和i N为所选待分类样本j类数据和i类的个数,j属于先验知识。
比较()x l与门限值的大小判断样本所属类别最后计算分类的正确率➢二、实验过程1)求取每类数据的每个分量的均值和修正方差数代码如下:sum=zeros(3,4);sd=zeros(3,4);for j=1:1:4for i=1:1:50$$ for i=1:1:20 $$sum(1,j)=sum(1,j)+sample1(i,j);sum(2,j)=sum(2,j)+sample2(i,j);sum(3,j)=sum(3,j)+sample3(i,j);endendsum=sum/50;$$sum=sum/20;$$for j=1:1:4for i=1:1:50sd(1,j)=sd(1,j)+(sample1(i,j)-sum(1,j))^2;sd(2,j)=sd(2,j)+(sample2(i,j)-sum(2,j))^2;sd(3,j)=sd(3,j)+(sample3(i,j)-sum(3,j))^2;endendsd=sd/49;$$ sd=sd/19; $$其中每类数据都有4组均值和修正方差,3类数据总共12组,分别存放在sum 和sd这两个3×4的矩阵中。
2)用一个函数来实现分类器的功能,代码如下function [clfresult,accuracyrate] =bayesclassifier(samples,dimen,sum,sd,mode1,mode2)clfresult=zeros(dimen,2);if ((mode1(1,1)~=0)&&(mode1(1,2)~=0)&&(mode1(1,3)==0))compare=[1,2];endif ((mode1(1,1)~=0)&&(mode1(1,2)==0)&&(mode1(1,3)~=0))compare=[1,3];endif ((mode1(1,1)==0)&&(mode1(1,2)~=0)&&(mode1(1,3)~=0))compare=[2,3];endcompare1=compare(1,1);compare2=compare(1,2);class=zeros(1,3);la=zeros(1,4);lb=zeros(1,4);for i=1:1:dimenif samples(i,5)==1class(1,1)=class(1,1)+1;endif samples(i,5)==2class(1,2)=class(1,2)+1;endif samples(i,5)==3class(1,3)=class(1,3)+1;endendn=class(1,compare2)/class(1,compare1)for i=1:1:dimenla(1,1)=1/sqrt(sd(compare1,1))*exp(-(samples(i,1)-sum(compare1 ,1))^2/(2*sd(compare1,1)));la(1,2)=1/sqrt(sd(compare1,2))*exp(-(samples(i,2)-sum(compare1 ,2))^2/(2*sd(compare1,2)));la(1,3)=1/sqrt(sd(compare1,3))*exp(-(samples(i,3)-sum(compare1 ,3))^2/(2*sd(compare1,3)));la(1,4)=1/sqrt(sd(compare1,4))*exp(-(samples(i,4)-sum(compare1 ,4))^2/(2*sd(compare1,4)));lb(1,1)=1/sqrt(sd(compare2,1))*exp(-(samples(i,1)-sum(compare2 ,1))^2/(2*sd(compare2,1)));lb(1,2)=1/sqrt(sd(compare2,2))*exp(-(samples(i,2)-sum(compare2 ,2))^2/(2*sd(compare2,2)));lb(1,3)=1/sqrt(sd(compare2,3))*exp(-(samples(i,3)-sum(compare2 ,3))^2/(2*sd(compare2,3)));lb(1,4)=1/sqrt(sd(compare2,4))*exp(-(samples(i,4)-sum(compare2 ,4))^2/(2*sd(compare2,4)));for j=1:1:4if(mode2(1,j)==0)la(1,j)=1;lb(1,j)=1;endendlx=la(1,1)*la(1,2)*la(1,3)*la(1,4)/(lb(1,1)*lb(1,2)*lb(1,3)*lb (1,4))clfresult(i,1)=i;if lx>=nclfresult(i,2)=compare1;elseclfresult(i,2)=compare2;endendaccuracyrate=0;for i=1:1:dimenif clfresult(i,2)~=samples(i,5)accuracyrate=accuracyrate+1;endendaccuracyrate=accuracyrate/dimen;end该函数有共有两个输出量,六个输入参数。
其中各个参数的规定如下:Samples:一个Dimen×5的矩阵,Dimen是选取样本的数量,矩阵前4列存放样本的4维数据,最后一列存放相应行样本真实的类别数(1,2,3)。
Dimen:选取样本的数量。
Sum:数据集的均值参数阵。
Sd :数据集的修正方差参数阵。
Mode1:模式选择参数1,它是一个3维的行向量:()321,,1m od ααα=e其中3,2,1,=i i α分别对应数据集的三个类别,当3,2,1,=i i α 不为零时,就在决策域中添加第i 类。
总共有三种模式:()0,1,11m od =e 在第一类和第二类中进行判别()1,0,11m od =e 在第一类和第三类中进行判别()1,1,01m od =e 在第二类和第二类中进行判别Mode2:模式选择参数2,它是一个4维德行向量:()4321,,,2m od ββββ=e其中4,3,2,1,=i i β分别对应数据集的4个维度分量,当3,2,1,=i i α 不为零时,第i 个维度的分量就作为判别分类的依据进行考虑,3,2,1,=i i α为零时,则第i 个维度的分量忽略。