浅谈朴素贝叶斯算法
一. 对朴素贝叶斯的理解
- 朴素贝叶斯算法是通过考虑特征概率来预测分类。之所以有朴素二字,是因为需要对于所研究的特征维度进行一个假设各个特征维度之间是相互独立的,则朴素贝叶斯成立。
- 对于假设独立性来说,很多情况下属性之间相关性较大时,分类效果不坏。
- 这一假设使得朴素贝叶斯法变得简单,但有时会牺牲一定的分类准确率。
二. 朴素贝叶斯的三个阶段
朴素贝叶斯分类分为三个阶段:
第一阶段——准备工作阶段,这个阶段的任务是为朴素贝叶斯分类做必要的准备,主要工作是根据具体情况确定特征属性,并对每个特征属性进行适当划分,然后由人工对一部分待分类项进行分类,形成训练样本集合。这一阶段的输入是所有待分类数据,输出是特征属性和训练样本。这一阶段是整个朴素贝叶斯分类中唯一需要人工完成的阶段,其质量对整个过程将有重要影响,分类器的质量很大程度上由特征属性、特征属性划分及训练样本质量决定。
第二阶段——分类器训练阶段,这个阶段的任务就是生成分类器,主要工作是计算每个类别在训练样本中的出现频率及每个特征属性划分对每个类别的条件概率估计,并将结果记录。其输入是特征属性和训练样本,输出是分类器。这一阶段是机械性阶段,根据前面讨论的公式可以由程序自动计算完成。
第三阶段——应用阶段。这个阶段的任务是使用分类器对待分类项进行分类,其输入是分类器和待分类项,输出是待分类项与类别的映射关系。这一阶段也是机械性阶段,由程序完成。
三. 实例展示
| ID | 血型 | 性格 | EQ | 结果 |
|---|---|---|---|---|
| 1 | A | B | 11 | 坏 |
| 2 | B | A | 11 | 坏 |
| 3 | A | C | 12 | 好 |
| 4 | B | A | 12 | 坏 |
| 5 | B | B | 13 | 好 |
| 6 | B | C | 13 | 坏 |
现在来了一条数据为 A B 12 预测它的结果
测该条件下坏结果的朴素贝叶斯公式
P(好∣A、B、12)=P(A、B、12∣好)P(好)P(A、B、12)
P(好|A、B、12)=\frac{P(A、B、12|好)P(好)}{P(A、B、12)}
P(好∣A、B、12)=P(A、B、12)P(A、B、12∣好)P(好)
要先算出坏结果的概率:
P(好)=2/6=1/3
P(好) = 2/6 = 1/3
P(好)=2/6=1/3
血型 A的坏结果概率:
P(A∣好)=1/6
P(A|好) = 1/6
P(A∣好)=1/6
性格 B的坏结果概率:
P(B∣好)=1/6
P(B|好) =1/6
P(B∣好)=1/6
EQ为12的坏结果概率:
P(12∣好)=1/6
P(12|好)=1/6
P(12∣好)=1/6
然后计算出符合该lot条件的各个维度出现的概率,也就是上述公式中的分母
P(A)=1/3;P(B)=1/3;P(12)=1/3
P(A) = 1/3;
P(B) = 1/3;
P(12) = 1/3
P(A)=1/3;P(B)=1/3;P(12)=1/3
则最后结果为
P(好∣A、B、12)=P(A、B、12∣好)P(好)P(A、B、12)=(1/6∗1/6∗1/6)∗1/31/3∗1/3∗1/3=1/24
P(好|A、B、12)=\frac{P(A、B、12|好)P(好)}{P(A、B、12)}=\frac{(1/6*1/6*1/6)*1/3}{1/3*1/3*1/3}= 1/24
P(好∣A、B、12)=P(A、B、12)P(A、B、12∣好)P(好)=1/3∗1/3∗1/3(1/6∗1/6∗1/6)∗1/3=1/24
下面我们根据同样的方法来求p(坏|A、B、12),完全一样的做法,为了方便理解,我这里也走一遍帮助理解。首先公式如下:
P(坏∣A、B、12)=P(A、B、12∣坏)P(坏)P(A、B、12)
P(坏|A、B、12)=\frac{P(A、B、12|坏)P(坏)}{P(A、B、12)}
P(坏∣A、B、12)=P(A、B、12)P(A、B、12∣坏)P(坏)
要先算出坏结果的概率:
P(坏)=4/6=2/3
P(坏) = 4/6 = 2/3
P(坏)=4/6=2/3
经过血型 A的坏结果概率:
P(A∣坏)=1/6
P(A|坏) = 1/6
P(A∣坏)=1/6
经过 性格 B的坏结果概率:
P(B∣坏)=1/6
P(B|坏) =1/6
P(B∣坏)=1/6
EQ为12的坏结果概率:
P(12∣坏)=1/6
P(12|坏)=1/6
P(12∣坏)=1/6
然后计算出符合该lot条件的各个维度出现的概率,也就是上述公式中的分母
P(A)=1/3;P(B)=1/3;P(12)=1/3
P(A) = 1/3;
P(B) = 1/3;
P(12) = 1/3
P(A)=1/3;P(B)=1/3;P(12)=1/3
则最后结果为
P(坏∣A、B、12)=P(A、B、12∣坏)P(坏)P(A、B、12)=(1/6∗1/6∗1/6)∗2/31/3∗1/3∗1/3=1/12
P(坏|A、B、12)=\frac{P(A、B、12|坏)P(坏)}{P(A、B、12)}=\frac{(1/6*1/6*1/6)*2/3}{1/3*1/3*1/3}= 1/12
P(坏∣A、B、12)=P(A、B、12)P(A、B、12∣坏)P(坏)=1/3∗1/3∗1/3(1/6∗1/6∗1/6)∗2/3=1/12
因为 P1 < P2 所以 A B 12 预测该数据为坏结果
四. 总结
朴素贝叶斯分类的优缺点
优点:
(1) 算法逻辑简单,易于实现
(2)分类过程中时空开销小
缺点:
理论上,朴素贝叶斯模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为朴素贝叶斯模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,在属性个数比较多或者属性之间相关性较大时,分类效果不坏。
本文深入浅出地介绍了朴素贝叶斯算法,包括算法的基本理解,涉及特征独立性的假设以及分类的三个阶段。通过实例展示了如何利用朴素贝叶斯公式进行预测,并总结了算法的优缺点,指出在属性相关性较大时仍能保持不错分类效果的特点。
1072

被折叠的 条评论
为什么被折叠?



