统计学习方法-朴素贝叶斯
Posted xiaoranone
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统计学习方法-朴素贝叶斯相关的知识,希望对你有一定的参考价值。
统计学习方法-朴素贝叶斯法
先提出以下问题:
- 朴素贝叶斯法、贝叶斯公式、贝叶斯估计分别是什么?
- 贝叶斯公式的物理意义什么?
- 贝叶斯网络是什么?
朴素贝叶斯法
朴素贝叶斯法 = 贝叶斯定理 + 特征条件独立.
输入 X ∈ R n X \\in R^n X∈Rn空间是n维向量集合,输出空间 y = c 1 , c 2 , . . . , c K y=\\c_1,c_2,...,c_K\\ y=c1,c2,...,cK. 所有的X和y都是对应空间上的随机变量. P ( X , Y ) P(X,Y) P(X,Y)是X和Y的联合概率分别. 训练数据集(由 P ( X , Y ) P(X,Y) P(X,Y)独立同分布产生):
T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) T=\\(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\\ T=(x1,y1),(x2,y2),...,(xN,yN)
假设我们有这样的数据集怎么进行朴素贝叶斯算法学习呢?我们知道朴素贝叶斯法主要有两个条件组成,我们先看第一个贝叶斯定理:
- 我们之前学到过的公式:
(1) P ( a ∣ b ) = P ( a , b ) P ( b ) = P ( b ∣ a ) P ( a ) ∑ a ∈ A P ( b ∣ a ) P ( a ) P(a|b)=\\fracP(a,b)P(b)=\\fracP(b|a)P(a)\\sum_a \\in AP(b|a)P(a) \\tag1 P(a∣b)=P(b)P(a,b)=∑a∈AP(b∣a)P(a)P(b∣a)P(a)(1) - 公式1是我们之前学到过的,下面我们基于机器学习法训练数据做一个变化:
(2) P ( Y = c k ∣ X = x ) = P ( X = x ∣ Y = c k ) P ( Y = c k ) ∑ k P ( X = x ∣ Y = c k ) P ( Y = c k ) P(Y=c_k|X=x)=\\fracP(X=x|Y=c_k)P(Y=c_k)\\sum_kP(X=x|Y=c_k)P(Y=c_k) \\tag2 P(Y=ck∣X=x)=∑kP(X=x∣Y=ck)P(Y=ck)P(X=x∣Y=ck)P(Y=ck)(2)
从公式2中我们已经看到了"后验概率最大化",对于上述的 P ( Y = c k ∣ X = x ) P(Y=c_k|X=x) P(Y=ck∣X=x)我们一般这样解释,当给定 ( X = x ) (X=x) (X=x)的条件下, Y = c k Y=c_k Y=ck的概率,这就是条件概率. 这就简单了,我们只需要对于位置的x,计算其对应的 c k , k ∈ [ 1 , 2 , . . . , K ] c_k,k \\in [1,2,...,K] ck,k∈[1,2,...,K]的概率,选择最大的概率作为这个x的类别进行了.
现在我们只要一定可以找到最好的结果了,这就开心了,下面就是怎么计算,路通了,怎么走就很简单了. 我们再看公式(2), 因为我们的x是向量形式,那么条件概率是:
(3)
P
(
X
=
x
∣
Y
=
c
k
)
=
P
(
X
(
1
)
=
x
(
1
)
,
X
(
2
)
=
x
(
2
)
,
.
.
.
,
X
(
n
)
=
x
(
n
)
∣
Y
=
c
k
)
,
k
=
1
,
2
,
.
.
,
K
P(X=x|Y=c_k)=P(X^(1)=x^(1),X^(2)=x^(2),...,X^(n)=x^(n)|Y=c_k), k=1,2,..,K \\tag3
P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)∣Y=ck),k=1,2,..,K(3)
从公式3中,我们看到这里有"无数"的参数,很难进行直接估计计算,还记得我们提到的另外一个条件就是条件独立性的假设. 这里假设在给定 Y = c k Y=c_k Y=ck的条件下,X的每一个特征维度是独立,而且这还是一个很强的假设. 因此我们有:
(4) P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , X ( 2 ) = x ( 2 ) , . . . , X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) P(X=x|Y=c_k)=P(X^(1)=x^(1),X^(2)=x^(2),...,X^(n)=x^(n)|Y=c_k)=\\prod_j=1^nP(X^(j)=x^(j)|Y=c_k) \\tag4 P(X=x∣Y=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)∣Y=ck)=j=1∏n以上是关于统计学习方法-朴素贝叶斯的主要内容,如果未能解决你的问题,请参考以下文章