100天搞定机器学习|Day15 朴素贝叶斯 (2)

假设有两个各装了100个球的箱子,甲箱子中有70个红球,30个绿球,乙箱子中有30个红球,70个绿球。假设随机选择其中一个箱子,从中拿出一个球记下球色再放回原箱子,如此重复12次,记录得到8次红球,4次绿球。问题来了,你认为被选择的箱子是甲箱子的概率有多大?

刚开始选择甲乙两箱子的先验概率都是50%,因为是随机二选一(这是贝叶斯定理二选一的特殊形式)。即有:

P(甲) = 0.5, P(乙) = 1 - P(甲);

这时在拿出一个球是红球的情况下,我们就应该根据这个信息来更新选择的是甲箱子的先验概率:

P(甲|红球1) = P(红球|甲) × P(甲) / (P(红球|甲) × P(甲) + (P(红球|乙) × P(乙)))

P(红球|甲):甲箱子中拿到红球的概率

P(红球|乙):乙箱子中拿到红球的概率

因此在出现一个红球的情况下,选择的是甲箱子的先验概率就可被修正为:

P(甲|红球1) = 0.7 × 0.5 / (0.7 × 0.5 + 0.3 × 0.5) = 0.7

即在出现一个红球之后,甲乙箱子被选中的先验概率就被修正为:

P(甲) = 0.7, P(乙) = 1 - P(甲) = 0.3;

如此重复,直到经历8次红球修正(概率增加),4此绿球修正(概率减少)之后,选择的是甲箱子的概率为:96.7%。

Python 代码来解这个问题:

def bayesFunc(pIsBox1, pBox1, pBox2): return (pIsBox1 * pBox1)/((pIsBox1 * pBox1) + (1 - pIsBox1) * pBox2) def redGreenBallProblem(): pIsBox1 = 0.5 # consider 8 red ball for i in range(1, 9): pIsBox1 = bayesFunc(pIsBox1, 0.7, 0.3) print " After red %d > in 甲 box: %f" % (i, pIsBox1) # consider 4 green ball for i in range(1, 5): pIsBox1 = bayesFunc(pIsBox1, 0.3, 0.7) print " After green %d > in 甲 box: %f" % (i, pIsBox1) redGreenBallProblem()

运行结果如下:

After red 1 > in 甲 box: 0.700000 After red 2 > in 甲 box: 0.844828 After red 3 > in 甲 box: 0.927027 After red 4 > in 甲 box: 0.967365 After red 5 > in 甲 box: 0.985748 After red 6 > in 甲 box: 0.993842 After red 7 > in 甲 box: 0.997351 After red 8 > in 甲 box: 0.998863 After green 1 > in 甲 box: 0.997351 After green 2 > in 甲 box: 0.993842 After green 3 > in 甲 box: 0.985748 After green 4 > in 甲 box: 0.967365

很明显可以看到红球的出现是增加选择甲箱子的概率,而绿球则相反。

三、朴素贝叶斯算法

朴素贝叶斯(Naive Bayesian)是基于贝叶斯定理和特征条件独立假设的分类方法,它通过特征计算分类的概率,选取概率大的情况进行分类,因此它是基于概率论的一种机器学习分类方法。因为分类的目标是确定的,所以也是属于监督学习。朴素贝叶斯假设各个特征之间相互独立,所以称为朴素。它简单、易于操作,基于特征独立性假设,假设各个特征不会相互影响,这样就大大减小了计算概率的难度。

朴素贝叶斯算法的执行流程如下:
1)设

100天搞定机器学习|Day15 朴素贝叶斯


为待分类项,其中a为x的一个特征属性

2)类别集合为:

100天搞定机器学习|Day15 朴素贝叶斯

3)根据贝叶斯公式,计算

100天搞定机器学习|Day15 朴素贝叶斯

4)如果

100天搞定机器学习|Day15 朴素贝叶斯


,则x属于这

100天搞定机器学习|Day15 朴素贝叶斯


一类.

高斯朴素贝叶斯(一般使用在特征属性连续的情况下)

上面的算法流程中可以看出,朴素贝叶斯算法就是对贝叶斯公式的一种运用,它没有进行任何的改变.

在计算条件概率时,对于离散的数据特征可以使用大数定理(频率代替概率的思想).但是,怎么处理连续的特征呢?这里我们一般使用高斯朴素贝叶斯.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wppgfy.html