朴素贝叶斯分类matlab实现

时间:2025-04-29

实验二 朴素贝叶斯分类

一、实验目的

通过实验,加深对统计判决与概率密度估计基本思想、方法的认识,了解影响Bayes分类器性能的因素,掌握基于Bayes决策理论的随机模式分类的原理和方法。

二、实验内容

设计Bayes决策理论的随机模式分类器,用matlab实现。

三、方法手段

Bayes分类器的基本思想是依据类的概率、概密,按照某种准则使分类结果从统计上讲是最佳的。换言之,根据类的概率、概密将模式空间划分成若干个子空间,在此基础上形成模式分类的判决规则。准则函数不同,所导出的判决规则就不同,分类结果也不同。使用哪种准则或方法应根据具体问题来确定。

四、Bayes算法

朴素贝叶斯分类或简单贝叶斯分类的工作过程如下:

(1)每个数据样本用一个n维特征向量X x1,x2,...xn 表示,分别描述对n个属性A1,A2,…An样本的n个度量。

(2)假定有m个类C1,C2,…Cm。给定一个未知的数据样本X(即没有类标号),分类法将预测X属于具有最高后验概率(条件X下)的类。即是说,朴素贝叶斯分类将未知的样本分配给类Ci,当且仅当

P CiX

P CjX ,1 j m,j i

(2.1)

这样,最大化P CiX 。其P CiX 最大的类Ci称为最大后验假定。根据贝叶斯定理

P XH P H

P X

P HX

P CiX

P Xi P Ci

P X

(2.2)

(3)由于P(X)对于所有类为常数,只需要P XCi P Ci 最大即可。如果类的先验概率未知,则通常假定这些类是等概率的,即P(C1)=P(C2)=…=P(Cm)。并据此只对P XCi 最大化。否则,最大化P XCi P Ci 。注意,类的先验概率可以用P Ci sis计算其中 si是类Ci中的训练样本数,而s是训练样本总数。

(4)给定具有许多属性的数据集,计算P XCi 的开销可能非常大。为降低计算

P XCi 的开销,可以做类条件独立的朴素假定。给定样本的类标号,假定属性值相互条件

独立,即在属性间,不存在依赖关系。这样,

n

P XCi

p x

k 1

k

i

(2.3)

概率P X1Ci ,P X2Ci ,…P Xni 可以由训练样本估值,其中

1)如果Ak是分类属性,则P Xki siksi,其中sik是在属性Ak上具有值xk的类Ci

的样本数,而si是Ci中的训练样本数。

2)如果Ak是连续值属性,则通常假定该属性服从高斯分布,因而,

xk C

i

2 C

2i

2

P Xki gxk, Ci, Ci

(2.4)

其中,给定类Ci的训练样本属性Ak的值,而 C, Cg xk, C, C 是属性Ak的高斯密度函数,

i

i

ii

分别为平均值和标准差。

(5)为对未知样本X分类,对每个类Ci,计算P XCi P Ci 。样本X被指派到类Ci,当且仅当

P Xi P Ci P Xj P Cj ,1 j m,j i

换言之,X被指派到其P XCi P Ci 最大的类Ci。

例 使用朴素贝叶斯分类预测类标号:

给定与判定树归纳相同的训练数据,我们希望使用朴素贝叶斯分类预测一个未知样本的类标号。训练数据在表7.1中。数据样本用属性age,income,student和credit_rating描述。类

标号属性buys_computer具有两个不同值(即(yes,no))。设C1对应于类buys_computer=“yes”,而C2对应于类buys_computer=“no”。我们希望分类的样本为

X age " 30",income "medium",student "yes",credit_rating "fair"

我们需要最大化P XCi P Ci ,i=1,2。每个类的先验概率P(Ci)可以根据训练样本计算:

P(buys_computer=”yes”)=9/14=0.643 P(buys_computer=”no”)=5/14=0.357

为计算P Xi ,i=1,2,我们计算下面的条件概率:

P(age=”<30”|buys_computer=”yes”) =2/9=0.222 P(age=”<30”|buys_computer=”no”) =3/5=0.222

P(income=”medium”|buys_computer=”yes”) =4/9=0.444 P(income=”medium”|buys_computer=”no”) =2/5=0.400 P(student=”yes”|buys_computer=”yes”) =6/9=0.667 P(student=”yes”|buys_computer=”no”) =1/5=0.200

P(credit_rating=”fair”|buys_computer=”yes”) =6/9=0.667 P(credit_rating=”fair”|buys_computer=”no”) =2/5=0.400

使用以上概率,我们得到:

P(X|buys_computer=”yes”)=0.222×0.444×0.667×0.667=0.044

P(X|buys_computer=”no”)=0.600×0.400×0.200×0.400=0.019

P(X|buys_computer=”yes”)P(buys_computer=”yes”)=0.044×0.643=0.028 P(X|buys_computer=”no”)P(buys_computer=”no”)=0.019×0.357=0.007

因此,对于样本X,朴素贝叶斯分类预测buys_computer=”yes”。

五、实验结果

训练数据train1.txt内容及格式如下:

需要分类的数据(预测数据)predict1.txt如下:

程序执行结果如下:

六、实验总结

贝叶斯分类的效率如何?理论上讲,与其它所有分类算法相比较,贝叶斯分类具有最小的出错率。然而,实践中并非总是如此。这是由于对其应用的假定(如类条件独立性)的不准确性,以及缺乏可用的概率数据造成的。然而种种实验研究表明,与决策树和神经网络分类算法相比,在某些领域,该分类算法可以与之媲美。

贝叶斯分类还可以用来为不直接使用贝叶斯定理的其他分类算法提供理论判定。例如,在某种假定下,可以证明正如朴素贝叶斯分类一样,许多神经网络和曲线拟合算法输出最大的后验假定。

七、Batyes程序

decision=attribute(X,n); %提取决策属性

function out=my_bayes(X,Y)

…… 此处隐藏:2770字,全部文档内容请下载后查看。喜欢就下载吧 ……
朴素贝叶斯分类matlab实现.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219