朴素贝叶斯分类算法:对贝叶斯公式的理解
Posted hahaxzy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了朴素贝叶斯分类算法:对贝叶斯公式的理解相关的知识,希望对你有一定的参考价值。
为了完成自己的毕业论文,不得不接触这个朴素贝叶斯分类算法。。。真是惭愧啊(快毕业了才学这个。。。还初识)
哈哈,不过只要肯学什么时候都不会晚
要想完全理解这个算法,必须先去百度一下
原来朴素贝叶斯分类算法是借用到了贝叶斯定理,那什么是贝叶斯定理呢...不多BB,
先看一看什么是条件概率:P(A|B)=P(AB)/P(B)
其中P(A|B)指的是在B已经发生的情况下A发生的概率。而这个概率是由A和B同时发生的概率除以B发生的概率。点解???这是我第一次看到这个公式后的反应
当我看完这张图后,就差不多能理解了:A同B的交集就相当于是A和B同时发生的概率,即P(AB)
http://blog.csdn.net/csfreebird/article/details/25009545 看看这个哥们写的吧,我就不复制粘贴了
再来看看贝叶斯公式:P(A│B)=(P(B|A)P(A))/(P(B))
当然这个是可以从条件概率的公式推导而来,只要将原来的条件概率公式P(A|B)=P(AB)/P(B)中的P(AB)替换成P(B|A)P(A)就是我们”可爱“的贝叶斯公式了
咋一看这个公式,貌似没那么容易去理解:B发生情况下A发生的概率等于A发生下B发生的概率乘以A发生概率再除以B发生的概率,什么鬼。。。
当然,我又去百度了
https://www.zhihu.com/question/19725590/answer/32177811# 这个讲的挺好的
我自己对贝叶斯公式的理解:
A事件无条件发生的概率为P(A),在当B事件发生后,它会改变A事件发生的概率(即P(A)变成了P(A|B))。
那么为什么B的发生会影响到A事件发生的概率呢?A和B之间有一种怎么样的联系呢?
额...貌似A与B之间的联系其实是因为各自本质上的原因,就好像男人喜欢打球而女人喜欢逛街一样。
但是这个联系是有度量的,是能够用数字表达出来的,这个度量就是B发生后能够影响A发生的一个强度,嗯...再细说就是B发生后对A的发生所产生的影响的大小(影响力)。而这个度量就是P(B|A)(似然比率)
---------------------------------------------------举个栗子(直接复制粘贴...):----------------------------------------------------------
一机器在良好状态生产合格产品几率是90%,在故障状态生产合格产品几率是30%,机器良好的概率是75%,若一日第一件产品是合格品,那么此日机器良好的概率是多少。
这个例子中,P(A)就是机器良好的概率,P(B)就是第一件产品是合格品的概率。
那么上面我所说的B对A发生的影响的一个度量就能够解释成 ’第一件产品为合格品‘ 事件对 ’机器良好‘ 这个事件发生的概率的影响力就等于P(B|A)=90%。单从直观的数字上来看影响还是比较大的。
那么经过B影响后A发生的概率是多少呢:P(A|B)=?
先等等,我们再来看看B的发生概率是多少P(产品合格)=P(机器良好)*P(机器良好时产品合格率)+P(机器故障)*P(机器故障时产品合格率)=0.75*0.9+0.25*0.3=0.75
P(A)原来是等于75%,如果直接套公式的话:经过事件B的影响得到了 ’新的概率‘ P(A|B)=B对A发生的影响力*A无条件概率/B无条件概率=0.9
感觉自己好像摸到点门路了
显然,如果B对A发生的影响力越小的话,那么经过B影响后A发生的概率也会变小。所以这样理解应该是没有问题的
我们继续,继续个毛线...这个思路卡壳了,那我们换一个思路:
如果把贝叶斯公式这样看,经过B影响后的A的概率:P(A|B)=(P(B|A)/P(B))*P(A)
因为P(B|A)归根结底还是事件B发生的概率,只不过加上了一个条件罢了,
而在某一条件下B的发生概率除以B无条件的发生概率(P(B|A)/P(B)),可以理解为P(B|A)在P(B)中所占的比例。那么这一部分(P(B|A)/P(B))就可以理解为是对P(A)的一个指导、修正,所以是乘以P(A)
结合例子,B是可以在两种不同的状态下发生的,第一种状态是A(即机器良好),第二种状态是~A(即机器故障),所以我们用P(B|A)/P(B)去指导、修正P(A)从而得到了P(A|B)
如果我们想得到P(~A|B),就要用P(B|~A)/P(B)去指导、修正P(~A)
如果按照这样的思路,其中P(B|~A)=0.3,P(B)=0.75,P(~A)=0.25,
那么P(~A|B)=P(B|~A)/P(B)*P(~A)=0.3/0.75*0.25=0.1(这个好像直接套用了公式一样....)
嗯...这样理解,对我来说是行的通的。
以上是关于朴素贝叶斯分类算法:对贝叶斯公式的理解的主要内容,如果未能解决你的问题,请参考以下文章