贝叶斯分类器(含MATLAB实现)

时间:2022-05-16 10:08:11

由于被测试的模式特征向量通常存在随机性,所获得的模式样本有一定的统计分布。因此,采用统计决策的理论方法进行模式分类是常用的模式识别方法。这也是遥感图像土地分类的常用方法。统计决策函数以贝叶斯定理为基础,一般需要满足两个基本条件:

1)已知模式向量的有关概率分布先验知识,如先验概率、类条件概率密度。

2)待解决的问题中,其训练样本的类别是已知的,因此在已知的类别样本的指导下进行模式分类的。称为有监督分类。

贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。

贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。也就是说,贝叶斯分类器是最小错误率意义上的优化。目前研究较多的贝叶斯分类器主要有四种,分别是:Naive Bayes、TAN、BAN和GBN。

MATLAB分类实现对fisherifis 中的versicolor 和cirginica 进行分类

load fisheriris;%绘制要分类的类别
SL =meas(51:end,1);SW=meas(51:end,2);group=species(51:end);h1=gscatter(SL,SW ,group,'rb','v^',[],'off');set(h1,'lineWidth',2);legend('Fisher versicolor','Fisher virginica','Location','NW');
%分类[X,Y]=meshgrid(linspace(4.5,8),linspace(2,4));X=X(:);Y=Y(:);[C,err,P,logp,coeff]=classify([X,Y],[SL,SW],group,'quadratic');
%分类观察 
hold on;gscatter(X,Y,C,'rb','.',1,'off');K=coeff(1,2).const;L=coeff(1,2).linear;Q=coeff(1,2).quadratic;f=sprintf('0=%g+%g*x+%g*y+%g*x^2+%g*x.*y+%g*y.^2',K,L,Q(1,1),Q(1,2)+Q(2,1),Q(2,2));h2=ezplot(f,[4.5 8 2 4]);set(h2,'Color','m','LineWidth',2);axis([4.5 8 2 4]);xlabel('Sepal Length');ylabel('Sepal Width');title('{\bf Classification with Fisher Training Data}');

原始要分类的图像:


贝叶斯分类器(含MATLAB实现)

结果显示:

贝叶斯分类器(含MATLAB实现)