朴素贝叶斯算法的前世今生

一、基本概念
1.分类原理

通过某对象的先验概率,利用贝叶斯公式,计算出其后验概率。即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。

2.贝叶斯公式

P ( A ∣ B ) = P ( B ∣ A ) ∗ P ( A ) P ( B ) P(A|B) = \frac{P(B|A)*P(A)}{P(B)} P(AB)=P(B)P(BA)P(A)

  • (1).其中P(A)为先验概率:先验概率(prior probability)是指根据以往经验和分析得到的概率,如全概率公式,它往往作为"由因求果"问题中的"因"出现的概率。;
  • (2).其中P(B|A)为似然概率(likelihood),条件概率:是先前统计的事件中,A事件发生情况下B事件发生的概率
  • (3).其中P(B)为边界似然概率;
  • (4).其中P(A|B)为后验概率;
3.相关概念
  • (1).先验概率:是指根据以往经验和分析得到的概率
  • (2).----
    - ①后验概率:后验概率是指通过调查或其它方式获取新的附加信息,利用贝叶斯公式对先验概率进行修正,而后得到的概率
    - ②.最大后验概率:
  • (3).—
    • ①.条件概率:指事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为:P(A|B)。若只有两个事件A,B,那么 P ( A ∣ B ) = P ( A B ) P ( B ) P(A|B) = \frac{P(AB)}{P(B)} P(AB)=P(B)P(AB)
    • ②.联合概率:表示两个事件共同发生的概率。A与B的联合概率表示为 P(AB) 或者P(A,B),或者P(A∩B)
    • ③.全概率
  • (4).似然概率

联合概率的乘法公式为:P(AB) = P(A|B)*P(B),变形后可得到 P ( A ∣ B ) = P ( A B ) P ( B ) P(A|B) = \frac{P(AB)}{P(B)} P(AB)=P(B)P(AB)

二、朴素贝叶斯分类器
1.朴素贝叶斯分类的定义

朴素贝叶斯分类的正式定义如下:
(1).设 x = { f 1 , f 2 , f 3 , . . . , f m } x = \left\{ f_{1},f_{2},f_{3},...,f_{m} \right\} x={f1,f2,f3,...,fm}为一个待分类项,而每个f为x的一个特征。
(2).有类别集合 C = { y 1 , y 2 , y 3 , . . . , y n } C = \left\{ y_{1},y_{2},y_{3},...,y_{n} \right\} C={y1,y2,y3,...,yn}
(3).计算 P ( y 1 ∣ x ) , P ( y 2 ∣ x ) , . . . . , P ( y n ∣ x ) P(y_{1}|x),P(y_{2}|x),....,P(y_{n}|x) P(y1x),P(y2x),....,P(ynx)
(4).如果 P ( y k ∣ x ) = m a x { P ( y 1 ∣ x ) , P ( y 2 ∣ x ) , . . . . , P ( y n ∣ x ) } , 则 x ∈ y k P(y_{k}|x) = max \left\{ P(y_{1}|x),P(y_{2}|x),....,P(y_{n}|x) \right\},则x∈y_{k} P(ykx)=max{P(y1x),P(y2x),....,P(ynx)}xyk
那么现在的关键就是如何计算第3步中的各个条件概率。我们可以这么做:
(1)、找到一个已知分类的待分类项集合,这个集合叫做训练样本集。
(2)、统计得到在各类别下各个特征属性的条件概率估计。即
P ( x 1 ∣ y 1 ) , P ( x 2 ∣ y 1 ) , . . . , P ( x 3 ∣ y 1 ) P(x_{1}|y_{1}),P(x_{2}|y_{1}),...,P(x_{3}|y_{1}) P(x1y1),P(x2y1),...,P(x3y1);
P ( x 1 ∣ y 2 ) , P ( x 2 ∣ y 2 ) , . . . , P ( x 3 ∣ y 2 ) P(x_{1}|y_{2}),P(x_{2}|y_{2}),...,P(x_{3}|y_{2}) P(x1y2),P(x2y2),...,P(x3y2);

P ( x 1 ∣ y 3 ) , P ( x 2 ∣ y 3 ) , . . . , P ( x 3 ∣ y 3 ) P(x_{1}|y_{3}),P(x_{2}|y_{3}),...,P(x_{3}|y_{3}) P(x1y3),P(x2y3),...,P(x3y3);
(3)、如果各个特征属性是条件独立的,则根据贝叶斯定理有如下推导:
P ( y i ∣ x ) = P ( x ∣ y i ) P ( y i ) P ( x ) P(y_{i}|x) = \frac {P(x|y_{i})P(y_{i})}{P(x)} P(yix)=P(x)P(xyi)P(yi)
因为分母对于所有类别为常数,因为我们只要将分子最大化皆可。又因为各特征属性是条件独立的,所以有:
P ( x ∣ y i ) P ( y i ) = P ( a 1 ∣ y i ) P ( a 2 ∣ y i ) . . . P ( a m ∣ y i ) P ( y i ) = P ( y ( i ) ) ∏ j = 1 m P ( a j ∣ y i ) P(x|y_{i})P(y_{i}) = P(a_{1}|y_{i})P(a_{2}|y_{i})...P(a_{m}|y_{i})P(y_{i})=P(y_(i))\prod\limits_{j=1}^mP(a_j|yi) P(xyi)P(yi)=P(a1yi)P(a2yi)...P(amyi)P(yi)=P(y(i))j=1mP(ajyi)

2.朴素贝叶斯分类的举例

我们知道朴素贝叶斯的公式为:
P ( C ∣ f ) = P ( f ∣ C ) ∗ P ( C ) P ( f ) P(C|f) = \frac{P(f|C)*P(C)}{P(f)} P(Cf)=P(f)P(fC)P(C)
如果换个表达式就会明朗很多,如下:
P ( 类 别 ∣ 特 征 ) = P ( 特 征 ∣ 分 类 ) ∗ P ( 分 类 ) P ( 特 征 ) P(类别|特征) = \frac{P(特征|分类)*P(分类)}{P(特征)} P()=P()P()P()
其中P(分类)和P(特征)都是已知的,我们只需求P(特征|分类)即可。

例题分析

给定数据如下:

高否富否帅否嫁否
不富
不高不帅
不帅不嫁
不高不富不嫁
不富不帅不嫁
不高不富不帅不嫁

那我们现在的问题是,一个男生向一个女生求婚,这个男生具有以下三个特点:不高、富、帅,请你判断以下该女孩是否会嫁?

这是一个典型的分类问题,转化为概率论问题就是 P ( 嫁 ∣ 不 高 、 富 、 帅 ) P(嫁|不高、富、帅) P() 与 $P(不嫁|不高、富、帅)那个概率更大?

这里我们就使用朴素贝叶斯公式来分别求以下两种情况下的概率:

  • P ( 嫁 ∣ 不 高 、 富 、 帅 ) = P ( 不 高 、 富 、 帅 ∣ 嫁 ) ∗ P ( 嫁 ) P ( 不 高 、 富 、 帅 ) P(嫁|不高、富、帅) = \frac {P(不高、富、帅|嫁)*P(嫁)}{P(不高、富、帅)} P()=P()P()P()
  • P ( 不 嫁 ∣ 不 高 、 富 、 帅 ) = P ( 不 高 、 富 、 帅 ∣ 不 嫁 ) ∗ P ( 不 嫁 ) P ( 不 高 、 富 、 帅 ) P(不嫁|不高、富、帅) = \frac {P(不高、富、帅|不嫁)*P(不嫁)}{P(不高、富、帅)} P()=P()P()P()
    ######对①求解
    我们先对要求①进行求解。要求 P ( 嫁 ∣ 不 高 、 富 、 帅 ) P(嫁|不高、富、帅) P()的概率只需求 P ( 不 高 、 富 、 帅 ∣ 嫁 ) 、 P ( 嫁 ) 、 P ( 不 高 、 富 、 帅 ) P(不高、富、帅|嫁)、P(嫁)、P(不高、富、帅) P()P()P()即可。根据“朴素”一词也就是各个特征之间是独立的,可以得到如下<1>公式和<2>公式(只需求如下公式即可):
    <1> P ( 不 高 、 富 、 帅 ∣ 嫁 ) = P ( 不 高 ∣ 嫁 ) ∗ P ( 富 ∣ 嫁 ) ∗ P ( 帅 ∣ 嫁 ) P(不高、富、帅|嫁) = P(不高|嫁)*P(富|嫁)*P(帅|嫁) P()=P()P()P()
    <2> P ( 不 高 、 富 、 帅 ) = P ( 不 高 ) ∗ P ( 富 ) ∗ P ( 帅 ) P(不高、富、帅) = P(不高)*P(富)*P(帅) P()=P()P()P()
    同时只需要再求出公式<3>问题就得到解决
    <3> P ( 嫁 ) P(嫁) P()

我们从表格中统计所有嫁的样本共有3条,其中不高的样本有1条,所以 P ( 不 高 ∣ 嫁 ) = 1 / 3 P(不高|嫁) = 1/3 P()=1/3,同理可以得到 P ( 富 ∣ 嫁 ) = 2 / 3 P(富|嫁) = 2/3 P()=2/3 P ( 帅 ∣ 嫁 ) = 2 / 3 P(帅|嫁) = 2/3 P()=2/3

我们从表格中统计所有样本共有7条,其中嫁的样本有3条,所以 P ( 嫁 ) = 3 / 7 P(嫁) = 3/7 P()=3/7

我们从表格中统计所有样本共有7条,其中不高的样本有3条,所以 P ( 不 高 ) = 3 / 7 P(不高) = 3/7 P()=3/7,其中富的样本有3条所以 P ( 富 ) = 3 / 7 P(富) = 3/7 P()=3/7,其中帅的样本有3条所以 P ( 帅 ) = 3 / 7 P(帅) = 3/7 P()=3/7

综上①$P(嫁|不高、富、帅) = \frac {P(不高、富、帅|嫁)*P(嫁)}{ ; P(不高、富、帅) ; } $
此公式 = ( 1 3 ∗ 2 3 ∗ 2 3 ) ∗ 3 7 3 7 ∗ 3 7 ∗ 3 7 = 196 243 = \frac {(\frac {1}{3} *\frac {2}{3}*\frac {2}{3})*\frac {3}{7}} {\frac {3}{7} *\frac {3}{7}*\frac {3}{7}} =\frac {196}{243} =737373(313232)73=243196

d对②求解

P ( 不 嫁 ∣ 不 高 、 富 、 帅 ) = P ( 不 高 、 富 、 帅 ∣ 不 嫁 ) ∗ P ( 不 嫁 ) P ( 不 高 、 富 、 帅 ) P(不嫁|不高、富、帅) = \frac {P(不高、富、帅|不嫁)*P(不嫁)}{P(不高、富、帅)} P()=P()P()P()
此公式 = ( 1 2 ∗ 1 4 ∗ 1 4 ) ∗ 4 7 3 7 ∗ 3 7 ∗ 3 7 = 49 216 = \frac {(\frac {1}{2} *\frac {1}{4}*\frac {1}{4})*\frac {4}{7}} {\frac {3}{7} *\frac {3}{7}*\frac {3}{7}} =\frac {49}{216} =737373(214141)74=21649

所以最终的答案是“嫁”
参考:
1.https://blog.csdn.net/xueyingxue001/article/details/52396170
2.https://blog.csdn.net/amds123/article/details/70173402

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值