朴素贝叶斯

1.问题描述

给定一个数据集,数据集中所有的样本点 X X X都对应一个类标签 Y Y Y,其中随机变量 X ⊑ R n X \sqsubseteq \mathbb{R}^n XRn,随机变量 Y ∈ { c 1 , c 2 , . . . , c K } Y \in \{c_1, c_2, ..., c_K \} Y{c1,c2,...,cK}

现任给一个样本点 x x x,朴素贝叶斯将分别求出 x x x属于每个类别的概率 P ( Y = c k ∣ X = x ) , k = 1 , 2 , . . . , K P(Y=c_k|X=x),k=1, 2, ..., K P(Y=ckX=x)k=1,2,...,K,然后选择对应概率最大的 c k c_k ck作为该样本点的类别

2.条件概率

根据条件概率,有

P ( A ∣ B ) = P ( A B ) P ( B ) = P ( A ) P ( B ∣ A ) P ( B ) ( 1 ) P(A|B)=\frac {P(AB)} {P(B)} = \frac {P(A)P(B|A)} {P(B)} \qquad (1) P(AB)=P(B)P(AB)=P(B)P(A)P(BA)(1)

这里我们将 Y = c k Y=c_k Y=ck看成事件 A A A,将 X = x X=x X=x视作事件 B B B,那么 P ( Y = c k ∣ X = x ) P(Y=c_k|X=x) P(Y=ckX=x)可变形为

P ( Y = c k ∣ X = x ) = P ( Y = c k ) P ( X = x ∣ Y = c k ) P ( X = x ) ( 2 ) P(Y=c_k|X=x)=\frac {P(Y=c_k)P(X=x|Y=c_k)} {P(X=x)} \qquad (2) P(Y=ckX=x)=P(X=x)P(Y=ck)P(X=xY=ck)(2)

3.全概率公式

根据全概率公式,有
P ( B ) = P ( B A 1 ) + P ( B A 2 ) + . . . + P ( B A n ) = P ( A 1 ) P ( B ∣ A 1 ) + P ( A 2 ) P ( B ∣ A 2 ) + . . . + P ( A n ) P ( B ∣ A n ) = ∑ i = 1 n P ( A i ) P ( B ∣ A i ) ( 3 ) \begin{aligned} P(B) & =P(BA_1)+P(BA_2)+...+P(BA_n) \\ \\ & = P(A_1)P(B|A_1)+P(A_2)P(B|A_2)+...+P(A_n)P(B|A_n) \\ \\ & = \sum_{i=1}^n{P(A_i)P(B|A_i)} \qquad (3) \end{aligned} P(B)=P(BA1)+P(BA2)+...+P(BAn)=P(A1)P(BA1)+P(A2)P(BA2)+...+P(An)P(BAn)=i=1nP(Ai)P(BAi)(3)

这里的事件A被拆分成n个独立事件

于是我们将(2)式中的分母按照全概率公式展开,得到

P ( Y = c k ∣ X = x ) = P ( Y = c k ) P ( X = x ∣ Y = c k ) ∑ k = 1 K P ( Y = c k ) P ( X = x ∣ Y = c k ) ( 4 ) \begin{aligned} P(Y=c_k|X=x)=\frac {P(Y=c_k)P(X=x|Y=c_k)} {\sum_{k=1}^{K} {P(Y=c_k)P(X=x|Y=c_k)}} \qquad (4) \end{aligned} P(Y=ckX=x)=k=1KP(Y=ck)P(X=xY=ck)P(Y=ck)P(X=xY=ck)(4)

观察(4)式发现,推导到这一步,要计算样本点 x x x的类别,其实就只需要计算 P ( Y = c k ) P(Y=c_k) P(Y=ck) P ( X = x ∣ Y = c k ) P(X=x|Y=c_k) P(X=xY=ck)

4. 朴素贝叶斯为什么“朴素”?

先将 P ( Y = c k ) P(Y=c_k) P(Y=ck)放一放,来看看如何计算 P ( X = x ∣ Y = c k ) P(X=x|Y=c_k) P(X=xY=ck)。由于数据集中的 x x x是一个 n n n维特征向量,所以

P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , X ( 2 ) = x ( 2 ) , . . . , X ( n ) = x ( n ) ∣ Y = c k ) ( 5 ) P(X=x|Y=c_k)=P(X^{(1)}=x^{(1)}, X^{(2)}=x^{(2)}, ..., X^{(n)}=x^{(n)}|Y=c_k) \qquad (5) P(X=xY=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)Y=ck)(5)

如果假设特征向量 x x x的任意一个特征 x j x^j xj的取值有 s j s_j sj种, j = 1 , 2 , . . . , n j = 1,2, ..., n j=1,2,...,n s j = 1 , 2 , 3 , . . . s_j=1,2,3,... sj=1,2,3,...,类别标签 c k c_k ck又有K种,即 k = 1 , 2 , . . . , K k=1,2,...,K k=1,2,...,K。那么要直观去计算 P ( X = x ∣ Y = c k ) P(X=x|Y=c_k) P(X=xY=ck)需要 K ∏ i = 1 n s i K\prod_{i=1}^n {s_i} Ki=1nsi个参数,和决策树一样,实际情况不可能有这么多数据。

为了极大地简化计算,朴素贝叶斯算法在这里做了最为朴素最为简单的假设:特征条件独立假设。这就是朴素一词的由来。即假设所有特征之间是独立并且同等重要的。

根据特征条件独立假设,(5)式便可化简为:

P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , X ( 2 ) = x ( 2 ) , . . . , X ( n ) = x ( n ) ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) ∣ Y = c k ) P ( X ( 2 ) = x ( 2 ) ∣ Y = c k ) ⋯ P ( X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) ( 6 ) \begin{aligned} P(X=x|Y=c_k) & = P(X^{(1)}=x^{(1)}, X^{(2)}=x^{(2)}, ..., X^{(n)}=x^{(n)}|Y=c_k) \\ \\ & = P(X^{(1)}=x^{(1)}|Y=c_k)P(X^{(2)}=x^{(2)}|Y=c_k) \cdots P(X^{(n)}=x^{(n)}|Y=c_k) \\ \\ & = \prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k) \qquad (6) \end{aligned} P(X=xY=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)Y=ck)=P(X(1)=x(1)Y=ck)P(X(2)=x(2)Y=ck)P(X(n)=x(n)Y=ck)=j=1nP(X(j)=x(j)Y=ck)(6)

将(4)(6)组合,得朴素贝叶斯最终的计算公式:

y _ = f ( x ) = a r g m a x c k P ( Y = c k ∣ X = x ) = P ( Y = c k ) P ( X = x ∣ Y = c k ) ∑ k = 1 K P ( Y = c k ) P ( X = x ∣ Y = c k ) = P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) ∑ k = 1 K P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) ( 7 ) \begin{aligned} y\_ & = f(x)\\ \\ & = argmax_{c_k} P(Y=c_k|X=x) \\ \\ & = \frac {P(Y=c_k)P(X=x|Y=c_k)} {\sum_{k=1}^{K} {P(Y=c_k)P(X=x|Y=c_k)}} \\ \\ & = \frac {P(Y=c_k) \prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k)} {\sum_{k=1}^{K} P(Y=c_k) \prod_{j=1}^n P(X^{(j)}=x^{(j)}|Y=c_k) } \qquad (7) \end{aligned} y_=f(x)=argmaxckP(Y=ckX=x)=k=1KP(Y=ck)P(X=xY=ck)P(Y=ck)P(X=xY=ck)=k=1KP(Y=ck)j=1nP(X(j)=x(j)Y=ck)P(Y=ck)j=1nP(X(j)=x(j)Y=ck)(7)

到这里求解 P ( Y = c k ∣ X = x ) P(Y=c_k|X=x) P(Y=ckX=x)就只需要求解 P ( Y = c k ) P(Y=c_k) P(Y=ck) P ( X ( j ) = x ( j ) ∣ Y = c k ) P(X^{(j)}=x^{(j)}|Y=c_k) P(X(j)=x(j)Y=ck)就可以了。

5.最大似然估计

在给定数据集的基础上,使用最大似然估计来求解 P ( Y = c k ) P(Y=c_k) P(Y=ck) P ( X ( j ) = x ( j ) ∣ Y = c k ) P(X^{(j)}=x^{(j)}|Y=c_k) P(X(j)=x(j)Y=ck),假设训练集的数量为N,借用指示函数 I ( e x p r e s s i o n ) I(expression) I(expression)来统计满足 e x p r e s s i o n expression expression的个数如下所示:

P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) N k = 1 , 2 , 3 , . . . , K ( 7 ) P ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) ∑ i = 1 N I ( y i = c k ) l = 1 , 2 , . . . , s j ( 8 ) \begin{aligned} P(Y=c_k) & = \frac {\sum_{i=1}^N I(y_i=c_k)} {N} \qquad k=1,2,3, ..., K \qquad (7)\\ \\ P(X^{(j)}=a_{jl}|Y=c_k) & = \frac {\sum_{i=1}^N I(x_i^{(j)}=a_{jl}, y_i=c_k)} {\sum_{i=1}^N I(y_i=c_k)} \qquad l = 1,2, ..., s_j \qquad (8) \end{aligned} P(Y=ck)P(X(j)=ajlY=ck)=Ni=1NI(yi=ck)k=1,2,3,...,K(7)=i=1NI(yi=ck)i=1NI(xi(j)=ajl,yi=ck)l=1,2,...,sj(8)

至此,朴素贝叶斯已经可以直接计算出任一样本点 x x x属于各个类别的概率了,即在给定样本点 x x x的情况下,类别标签为 c k c_k ck的概率 P ( Y = c k ∣ X = x ) P(Y=c_k|X=x) P(Y=ckX=x)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值