赞
踩
目录
(1)条件概率公式
设A,B是两个事件,且P(A)>0,P(B)>0,由图1可知,在事件B已经发生的情况下,事件A发生的概率为事件A和事件B的交集除以事件B,即:P(A|B)=P(A∩B)/P(B);
同理,在事件A已经发生的情况下,事件B发生的概率为事件A和事件B的交集除以事件A,即:P(B|A)=P(A∩B)/P(A)。
(2)全概率公式
如果事件组,,.... 满足:1),....两两互斥,即
2)
此时B为任一事件,则有: (1.1-1)
(3)链式法则
对于事件组,,....,,有:
(1.1-2)
根据条件概率的计算公式得,P(A∩B)=P(B)*P(A|B)=P(A)*P(B|A),通过转换该公式可以得到贝叶斯公式:
(1.2-1)
假设事件A表示为类别,事件B表示为特征,则有:P(类别 | 特征)=P(类别)*P(特征 | 类别) / P(特征)
注意:如果 A 和 B 是相互独立的两个事件,则:P(A|B) = P(A) 或 P(B|A) = P(B),因此贝叶斯公式的前提是各个事件不相互独立。
P(A)是先验概率,表示每种类别分布的概率;
P(B|A)是条件概率,表示在某种类别前提下,某事发生的概率;
P(A|B)是后验概率,表示某事发生了,并且它属于某一类别的概率,有了这个后验概率,便可对样本进行分类。后验概率越大,说明某事物属于这个类别的可能性越大,便越有理由把它归到这个类别下。
将上述贝叶斯公式推广到一般情况,假设事件A本身又包含多种可能性,即 A 是一个集合:,那么对于集合中任意的,贝叶斯定理可用下式表示:
由全概率公式可得, (1.2-2)
条件概率P(B|A)是所有特征上的联合概率,难以从有限的训练样本直接估计得到,所以基于贝叶斯公式(1.2-1)来估计后验概率P(A|B)存在困难。为解决这个问题,朴素贝叶斯分类器采用了“特征条件独立性假设”:对已知类别,假设所有特征相互独立,即假设每个特征独立地对分类结果产生影响。
在存在多个特征的情况下,式(1.2-1)改写为: (1.3-1)
根据链式法则可得, (1.3-2)
由“特征条件独立性假设”知,每个特征与其它特征都不相关,所以有 ,则式(1.3-2)改写为:
(1.3-3)
将式(1.3-3)代入式(1.3-1)可得, (1.3-4)
由于对所有类别来说相同,因此当计算对象所属类别时,可直接省去式(1.3-4)中的分母部分,从而得到朴素贝叶斯分类器的表达式:
(1.3-5)
其中,A 是一个类别集合:,依据式(1.3-5)计算对象所属各个类别的概率,取概率最大的一类即为该对象所属类别。
优点:算法实现简单、高效,分类性能较好;
缺点:样本的各个属性之间必须独立,否则,分类效果会较差。
(1)MATLAB自带的贝叶斯算法函数fitcnb用于数据分类
- Nb=fitcnb(trainData,trainLabel);
- y_nb=Nb.predict(testData);
(2)自编MATLAB程序实现朴素贝叶斯分类器,进而对数据进行分类,源码地址见:基于朴素贝叶斯分类器的识别
[2]概率论的链式法则
[3]朴素贝叶斯分类模型(一)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。