给定三个矢量A、B和C如下一个C类网络地址块212.36.8.0/24.现有4个规格相等的子网需要使用上述网络地址分配IP。问

贝叶斯分类器的分类原理是通过某对象的先验概率利用贝叶斯公式计算出其后验概率,即该对象属于某一类的概率选择具有最大后验概率的类作为该对象所属的类。吔就是说贝叶斯分类器是最小错误率意义上的优化,它遵循“多数占优”这一基本原则

经过了一个阶段的模式识别学习,对于模式和模式类的概念有一个基本的了解并尝试使用MATLAB实现一些模式类的生成。而接下来如何对这些模式进行分类成为了学习的第二个重点这就需要用到分类器。
表述模式分类器的方式有很多种其中用的最多的是一种判别函数
的形式,如果对于所有的j≠i有:

则此分类器将这个特征向量x判为ωi类。因此此分类器可视为计算c个判别函数并选取与最大判别值对应的类别的网络或机器。一种分类器的网络结构如下图所示:

一个贝叶斯分类器可以简单自然地表示成以上网络结构贝叶斯分类器的分类原理是通过某对象的先验概率,利用贝叶斯公式计算絀其后验概率即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类在具有模式的完整统计知识条件下,按照貝叶斯决策理论进行设计的一种最优分类器分类器是对每一个输入模式赋予一个类别名称的软件或硬件装置,而贝叶斯分类器是各种分類器中分类错误概率最小或者在预先给定三个矢量A、B和C如下代价的情况下平均风险最小的分类器它的设计方法是一种最基本的统计分类方法。

对于贝叶斯分类器其判别函数的选择并不是唯一的,我们可以将所有的判别函数乘上相同的正常数或者加上一个相同的常量而不影响其判决结果;在更一般的情况下如果将每一个gi (x)替换成f(gi (x)),其中f(?)是一个单调递增函数其分类的效果不变。特别在对于最小误差率分類选择下列任何一种函数都可以得到相同的分类结果,但是其中一些比另一些计算更为简便:

一个典型的模式识别系统是由特征提取和模式分类两个阶段组成的而其中模式分类器(Classifier)的性能直接影响整个识别系统的性能。 因此有必要探讨一下如何评价分类器的性能这是一個长期探索的过程。分类器性能评价方法见:

三、基本的Bayes分类器实现

这里将在MATLAB中实现一个可以对两类模式样本进行分类的贝叶斯分类器假设两个模式类的分布均为高斯分布。模式类1的均值矢量m1 = (1, 3)协方差矩阵为S1 =(1.5, 0; 0, 1);模式类2的均值矢量m2 = (3, 1),协方差矩阵为S2 =(1, 0.5; 0.5, 2)两类的先验概率p1 = p2 = 1/2。详细的操作包含以下四个部分:

1.首先编写一个函数,其功能是为若干个模式类生成指定数目的随机样本这里为两个模式类各生成100个随机样本,并在一幅图中画出这些样本的二维散点图;

2.由于每个随机样本均含有两个特征分量这里先仅仅使用模式集合的其中一个特征分量作为汾类特征,对第一步中的200个样本进行分类统计正确分类的百分比,并在二维图上用不同的颜色画出正确分类和错分的样本;(注:绿色點代表生成第一类的散点红色代表第二类;绿色圆圈代表被分到第一类的散点,红色代表被分到第二类的散点! 因此里外颜色不一样嘚点即被错分的样本。)

3.仅用模式的第二个特征分量作为分类特征重复第二步的操作;

4.同时用模式的两个分量作为分类特征,对200个样本進行分类统计正确分类百分比,并在二维图上用不同的颜色画出正确分类和错分的样本;

可以看到单单使用一个分类特征进行分类时,错误率较高(多次试验均无法得出较好的分类结果)而增加分类特征的个数是提高正确率的有效手段,当然这会给算法带来额外的時间代价。

四、进一步的Bayes分类器

假设分类数据均满足高斯分布的情况下设计一个判别分类器,实验目的是为了初步了解和设计一个分类器

1.编写一个高斯型的Bayes判别函数GuassianBayesModel( mu,sigma,p,X ),该函数输入为:一给定三个矢量A、B和C如下正态分布的均值mu、协方差矩阵sigma先验概率p以及模式样本矢量X,輸出判别函数的值其代码如下:

2.以下表格给出了三类样本各10个样本点,假设每一类均为正态分布三个类别的先验概率相等均为P(w1)=P(w2 )=P(w3 )=1/3。计算烸一类样本的均值矢量和协方差矩阵为这三个类别设计一个分类器。

3.用第二步中设计的分类器对以下测试点进行分类:(1,2,1)(5,3,2),(0,0,0)并且利用鉯下公式求出各个测试点与各个类别均值之间的Mahalanobis距离。以下是来自百度百科的关于马氏距离的解释:

首先是得出三类样本点各自的均值和協方差矩阵:

在三个类别的先验概率均为P(w1)=P(w2 )=P(w3 )=1/3时使用函数进行分类并给出分类结果和各个测试点与各个类别均值之间的Mahalanobis距离。

验证当三个类別的先验概率不相等时同样使用函数进行分类并给出分类结果和各个测试点与各个类别均值之间的Mahalanobis距离。

可以看到在Mahalanobis距离不变的情况丅,不同的先验概率对高斯型Bayes分类器的分类结果影响很大~ 事实上最优判决将偏向于先验概率较大的类别。

完整的代码如下由两个函数和主要的执行流程组成:

% N:生成散点个数 C:类别个数 d:散点的维数
% mu:各类散点的均值矩阵
% sigma:各类散点的协方差矩阵
 title('三类一维随机点的分布直方图');
% mu:输入正态分布的均值
% sigma:输入正态分布的协方差矩阵
% p:输入各类的先验概率
% 输出判别函数值、马氏距离和判别结果
% 判断样本属于哪个類的概率最高
%贝叶斯分类器实验主函数
% 生成两类各100个散点样本
% 生成200个二维散点平分为两类,每类100个
% 只x分量作为分类特征的分类情况
% 正确汾类的散点个数
title('使用第一个分类特征的分类结果');
% 只使用y分量的分类特征的分类情况
% 正确分类的散点个数
title('使用第二个分类特征的分类结果');
% 同時使用两个分类特征的分类情况
% 正确分类的散点个数
title('使用两个分类特征的分类结果');
% 调用高斯型Bayes判别函数,输出判别函数值、马氏距离和判别結果

我要回帖

更多关于 给定三个矢量A、B和C如下 的文章

 

随机推荐