1.1 贝叶斯定理
P(A|B) 表示事件B已经发生的前提下,事件A发生的概率,叫做事件B发生下事件A的条件概率。
其基本求解公式为:P(A|B)=P(AB) / P(B)
贝叶斯定理便是基于条件概率,通过P(A|B)来求P(B|A):
P(B|A) =P(AB) / P(A) = P(A|B) * P(B) / P(A)
全概率公式:
全概率公式为概率论中的重要公式,它将对一复杂事件A的概率求解问题转化为了在不同情况下发生的简单事件的概率的求和问题。
内容:如果事件B1、B2、B3…Bn 构成一个完备事件组,即它们两两互不相容,其和为全集;并且P(Bi)大于0,则对任一事件A有
P(A)=P(A|B1)P(B1) + P(A|B2)P(B2) + ... + P(A|Bn)P(Bn).
P(A),可以根据全概率公式:
P(A)=∑i P(Bi)P(A|Bi)
∑ :西格玛 是数学中常用的符号的中音音译,是希腊字母,英文译音是Sigma, 表示数学中的求和号,主要用于求多项数之和
1.2 特征条件独立假设
给定训练数据集(X,Y),其中每个样本x都包括n维特征,即x=(x1,x2,x3,...,xn),类标记集合含有k种类别,即y=(y1,y2,...,yk)。
如果现在来了一个新样本x,我们要怎么判断它的类别?从概率的角度来看,这个问题就是给定x,它属于哪个类别的概率最大。那么问题就转化为求解P(y1|x),P(y2|x),...,P(yk|x)中最大的那个,即求后验概率最大的输出:argmaxykP(yk|x)
那P(yk|x)怎么求解?答案就是贝叶斯定理:
P(yk|x)=P(x|yk)P(yk)P(x)
根据全概率公式,可以进一步地分解上式中的分母:
P(yk|x)=P(x|yk)P(yk)∑kP(x|yk)P(yk)
先不管分母,分子中的P(yk)是先验概率,根据训练集就可以简单地计算出来。
而条件概率P(x|yk)=P(x1,x2,...,xn|yk),它的参数规模是指数数量级别的,假设第i维特征xi可取值的个数有Si个,类别取值个数为k个,那么参数个数为:k∏ni=1Si
∏是希腊字母,即π的大写形式,在数学中表示求积运算或直积运算,形式上类似于Σ
这显然不可行。针对这个问题,朴素贝叶斯算法对条件概率分布作出了独立性的假设,通俗地讲就是说假设各个维度的特征x1,x2,...,xn互相独立,在这个假设的前提上,条件概率可以转化为:
P(x|yk)=P(x1,x2,...,xn|yk)=∏ni=1P(xi|yk) 【公式2】
这样,参数规模就降到∑ni=1Sik
以上就是针对条件概率所作出的特征条件独立性假设,至此,先验概率P(yk)和条件概率P(x|yk)的求解问题就都解决了,那么我们是不是可以求解我们所要的后验概率P(yk|x)了?
这里思考两分钟
答案是肯定的。我们继续上面关于P(yk|x)的推导,将【公式2】代入【公式1】得到:
P(yk|x)=P(yk)∏ni=1P(xi|yk)∑kP(yk)∏ni=1P(xi|yk)
于是朴素贝叶斯分类器可表示为:
f(x)=argmaxykP(yk|x)=argmaxykP(yk)∏ni=1P(xi|yk)∑kP(yk)∏ni=1P(xi|yk)
因为对所有的yk,上式中的分母的值都是一样的(为什么?注意到全加符号就容易理解了),所以可以忽略分母部分,朴素贝叶斯分类器最终表示为:
f(x)=argmaxP(yk)∏ni=1P(xi|yk
网友评论