一,概念
朴素贝叶斯是基于贝叶斯定理的分类方法,是应用比较广泛的分类方法。
朴素贝叶斯假设特征之间相互独立,虽然在一定程度上降低了贝叶斯分类的效果,但是,在实际应用中却有很好的效果。
二,算法原理
假设有m个类别
y
1
,
y
2
,
.
.
.
,
y
m
y_1,y_2,...,y_m
y1,y2,...,ym,有n个特征
x
1
,
x
2
,
.
.
.
,
x
n
x_1,x_2,...,x_n
x1,x2,...,xn,由朴素贝叶斯算法可以得出
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X):
P
(
Y
∣
X
)
=
P
(
Y
)
P
(
X
∣
Y
)
P
(
X
)
(
1
)
P(Y|X)=\frac{P(Y)P(X|Y)}{P(X)} (1)
P(Y∣X)=P(X)P(Y)P(X∣Y)(1)
其中,
P
(
Y
)
P(Y)
P(Y)是
Y
Y
Y的先验概率,
P
(
Y
∣
X
)
P(Y|X)
P(Y∣X)是Y的后验概率。
由于
X
X
X之间是相互独立的,由独立的性质可以得到
P
(
X
1
X
2
)
=
P
(
X
1
)
P
(
X
2
)
(
2
)
P
(
X
∣
Y
=
y
)
=
P
(
X
1
∣
Y
=
y
)
P
(
X
2
∣
Y
=
y
)
(
3
)
P(X_1X_2)=P(X_1)P(X_2) (2)\\ P(X|Y=y)=P(X_1|Y=y)P(X_2|Y=y) (3)
P(X1X2)=P(X1)P(X2)(2)P(X∣Y=y)=P(X1∣Y=y)P(X2∣Y=y)(3)
所以(1)式中的条件概率分布变成如下的形式:
P
(
X
∣
Y
=
y
)
=
∏
i
n
P
(
x
i
∣
Y
=
y
)
(
4
)
P(X|Y=y)=\prod\limits_i^nP(x_i|Y=y)(4)
P(X∣Y=y)=i∏nP(xi∣Y=y)(4)
由此可以计算出后验概率
P
(
Y
∣
X
)
=
P
(
Y
)
∏
i
n
P
(
x
i
∣
Y
=
y
)
P
(
X
)
(
5
)
P(Y|X)=\frac{P(Y)\prod\limits_i^nP(x_i|Y=y)}{P(X)} (5)
P(Y∣X)=P(X)P(Y)i∏nP(xi∣Y=y)(5)
由此得到了第J个样本所属的样本分类,即:
P
(
y
j
∣
x
1
,
x
2
,
.
.
.
,
x
n
)
=
P
(
y
j
)
∏
i
=
1
n
P
(
x
i
∣
y
j
)
∏
i
=
1
n
P
(
X
)
(
6
)
P(y_j|x_1,x_2,...,x_n)=\frac{P(y_j)\prod\limits_{i=1}^nP(x_i|y_j)}{\prod\limits_{i=1}^nP(X)} (6)
P(yj∣x1,x2,...,xn)=i=1∏nP(X)P(yj)i=1∏nP(xi∣yj)(6)
三,优缺点
优点:如果特征存在缺失的时候,朴素贝叶斯就有很好的用处。想象一下,如果某个特征缺失,预测的结果与特征之间的联系有关,预测的结果可能就不会很好。朴素贝叶斯的算法也很稳定,对于不同的数据分类结果的差异很小。如果数据的特征大多数都是独立的,那么朴素贝斯斯的分类效果会很好。
缺点:朴素贝叶斯的缺点就是,特征间的独立性。在现实生活中,往往很难找到多个特征之间是相互独立的。
四,引例
(一)提出问题
判断一个人是否去图书馆,假如与以下因素有关,天气好坏,当天是否有高数课,当天是否有其他校园活动,假设这些因素是独立的
天气 | 高数课 | 校园活动 | 是否去图书馆 |
---|---|---|---|
好 | 有 | 无 | 去 |
坏 | 有 | 有 | 去 |
好 | 无 | 无 | 不去 |
坏 | 无 | 有 | 去 |
好 | 有 | 有 | 不去 |
坏 | 无 | 无 | 不去 |
好 | 无 | 无 | 不去 |
坏 | 有 | 无 | 去 |
想要知道此名学生在天气好,无高数课,有校园活动的情况下是否去图书馆?
通过贝叶斯公式可知,去图书馆的概率为:
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(不去)
(二)概率计算
1,改名学生去图书馆的概率:
天气 | 高数课 | 校园活动 | 是否去图书馆 |
---|---|---|---|
好 | 有 | 无 | 去 |
坏 | 有 | 有 | 去 |
坏 | 无 | 有 | 去 |
坏 | 有 | 无 | 去 |
p(去)=4/8=1/2
p(天气好|去)=1/4
p(无高数课|去)=1/4
p(有校园活动|去 )=1/2
p(天气好)=1/2
p(无高数课)=1/2
p(有校园活动)=5/8
p(去|天气好,无高数课,有校园活动)=[(1/4 * 1/4 * 1/2)(1/2)] / (1/2 * 1/2 * 5/8)
2,改名学生不去图书馆的概率:
天气 | 高数课 | 校园活动 | 是否去图书馆 |
---|---|---|---|
好 | 无 | 无 | 不去 |
好 | 有 | 有 | 不去 |
坏 | 无 | 无 | 不去 |
好 | 无 | 无 | 不去 |
p(不去)=4/8=1/2
p(天气好|不去)=3/4
p(无高数课|不去)=1/2
p(有校园活动|不去 )=1/4
p(天气好)=1/2
p(无高数课)=1/2
p(有校园活动)=5/8
p(不去|天气好,无高数课,有校园活动)=[(3/4 * 1/2 * 1/4)(1/2)] / (1/2 * 1/2 * 5/8)
3,比较
p(去|天气好,无高数课,有校园活动) < p(不去|天气好,无高数课,有校园活动)
所以我们根据朴素贝叶斯算法可以给改名学生的答案,是不去图书馆