一、基本概念
1.分类原理
通过某对象的先验概率,利用贝叶斯公式,计算出其后验概率。即该对象属于某一类的概率,选择具有最大后验概率的类作为该对象所属的类。
2.贝叶斯公式
P ( A ∣ B ) = P ( B ∣ A ) ∗ P ( A ) P ( B ) P(A|B) = \frac{P(B|A)*P(A)}{P(B)} P(A∣B)=P(B)P(B∣A)∗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(A∣B)=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(A∣B)=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(y1∣x),P(y2∣x),....,P(yn∣x)
(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(yk∣x)=max{P(y1∣x),P(y2∣x),....,P(yn∣x)},则x∈yk。
那么现在的关键就是如何计算第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(x1∣y1),P(x2∣y1),...,P(x3∣y1);
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(x1∣y2),P(x2∣y2),...,P(x3∣y2);
…
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(x1∣y3),P(x2∣y3),...,P(x3∣y3);
(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(yi∣x)=P(x)P(x∣yi)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(x∣yi)P(yi)=P(a1∣yi)P(a2∣yi)...P(am∣yi)P(yi)=P(y(i))j=1∏mP(aj∣yi)
2.朴素贝叶斯分类的举例
我们知道朴素贝叶斯的公式为:
P
(
C
∣
f
)
=
P
(
f
∣
C
)
∗
P
(
C
)
P
(
f
)
P(C|f) = \frac{P(f|C)*P(C)}{P(f)}
P(C∣f)=P(f)P(f∣C)∗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}
=73∗73∗73(31∗32∗32)∗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}
=73∗73∗73(21∗41∗41)∗74=21649
所以最终的答案是“嫁”
参考:
1.https://blog.csdn.net/xueyingxue001/article/details/52396170
2.https://blog.csdn.net/amds123/article/details/70173402