贝叶斯方法被广泛应用于概率论中,也是现在机器学习算法的基础方法之一,被广泛用来处理分类和预测场景。
那么什么是贝叶斯方法呢?朴素贝叶斯又是什么呢?
这里写下一些我自己的理解。
贝叶斯
贝叶斯的基本公式是:
这个里面:
P 的含义是概率;
P(A)是先验概率,含义是 A 事件存在的概率;
P(B|A)是概率条件,含义是在A 的结果下再次出现 B 条件的概率;
P(B)是归一证据,含义是条件 B 发生的概率;
P(A|B) 是后验概率,含义是在B 条件下出现 A 的概率;
需要注意的是:
这里面的 A 一般指我们最终需要测算其概率的结果;
这里面的 B 是测算结果概率所需要的条件,一般是多个条件,因此,可以作为 来理解,如下:
朴素贝叶斯
朴素贝叶斯是贝叶斯公式的一种简化应用。最根本的区别是朴素贝叶斯源于一个假设前提:
构成概率的多个条件之间相互独立。
举个例子
条件独立例子
理解朴素贝叶斯,首先要理解什么是条件独立。
在自然界中,条件往往会在不同的维度下或多或少的有所关联。而这些关联,往往会或多或少影响结果概率。以经典的箱子摸球为例:
箱子里5 白 5 红 10 个球,求每一次摸白球的概率。
如果条件不独立的话:
第一次摸白球的概率是 5/10;
第二次摸白球的概率是 5/9 或 4/9;
第三次摸白球的概率是 5/8 或 4/8 或 3/8;
而在条件独立的情况下:
我们会假设每次摸白球的概率都是 1/2,相当于每次摸完一个球我们还会放进去,后续条件概率不受其他影响,这就是条件独立假设。
贝叶斯例子
举个例子,已知以下样本:
条件一 | 条件二 | 条件三 | 条件四 | 结果 |
---|---|---|---|---|
语文好 | 数学好 | 物理好 | 地理好 | 理科 |
语文差 | 数学好 | 物理好 | 地理差 | 理科 |
语文好 | 数学差 | 物理差 | 地理好 | 文科 |
语文差 | 数学差 | 物理差 | 地理好 | 文科 |
语文好 | 数学差 | 物理差 | 地理差 | 文科 |
语文差 | 数学差 | 物理好 | 地理差 | 理科 |
语文差 | 数学差 | 物理好 | 地理好 | 文科 |
语文差 | 数学好 | 物理差 | 地理差 | 理科 |
语文好 | 数学差 | 物理差 | 地理差 | 文科 |
语文好 | 数学好 | 物理好 | 地理好 | 理科 |
求一个 语文好、数学好、物理好、地理差的学生更可能选择理科还是选择文科?
此时,将该题目解析一下:
选择理科就是我们要求的结果,语文好、数学好、物理好、地理差就是给定的条件。
带入到标准贝叶斯公式:
但是考虑到标准贝叶斯的条件关联性,分子就会变成:
这里面就会面临一个很明显的问题:当我们拥有更多特征数量的时候,特征之间的关系影响运算就会变成灾难。
而在朴素贝叶斯的语境中,我们是认为条件是独立的,那么分子式就会变成:
在这种情景下,我们仅需要考虑每个独立特征发生的概率即可,不需要考虑特征之间的关联关系,这会极大减轻计算的工作量。
上述问题,带入朴素贝叶斯公式就变成了:
带入数据:
=0.096
同理,带入选择文科:
=0.003
那么显然,选择理科的可能性远大于选择文科的可能性。
其中,数学好、选择文科的样本为 0,但是我们在做概率分析的时候,不会直接代入 0 值,而是会分配一个很小的值代入,从而避免 0 概率的发生,这被称为平滑处理。
这里就有一个有意思的小细节,我们可以看到即使选择理科的可能性更大,其概率也只有 0.096 而已,这就引申出了朴素贝叶斯分类算法中的一个普遍现象:
贝叶斯分类结果是一个相对结果,而非绝对值。
我们得出一个分类结果,不是因为他的绝对值更高,而是因为相对其他分类结果的值更高。
总结
贝叶斯算法可以很好的处理有限样本情况下的概率分类问题;
朴素贝叶斯的根本前提是假设各特征条件之间相互独立;
对于部分缺失的特征,我们一般会进行平滑处理;
贝叶斯算法对样本敏感,因此我们要尽可能合理利用样本特征;
贝叶斯分类结果的一般依据是相对概率,而非绝对值。
拓展
更深度的理解可以移步该文:
http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/