简单理解朴素贝叶斯

解决的问题:

已经一个训练集 { ( x 1 , y 1 ) . . . ( x N , y N ) } \{(x_1,y_1)...(x_N,y_N)\} {(x1,y1)...(xN,yN)},给定数据x,求y

含义:

朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分类方法。

  • 为什么是基于贝叶斯定理:由训练数据求后验概率需要用到。
  • 为什么需要特征条件独立假设:减少联合分布的参数数量。从 K ∏ S j K\prod S_j KSj减少到 K ∑ S j K\sum S_j KSj。这一点比较重要,后面在数学论证的时候会进行说明。

数学推理

定义:

已知训练数据集 T = { ( x 1 , y 1 ) . . . ( x N , y N ) } T=\{(x_1,y_1)...(x_N,y_N)\} T={(x1,y1)...(xN,yN)},N为训练数据的个数
输出空间 Y = { c 1 , c 2 , . . . c K } Y=\{c_1,c_2,...c_K\} Y={c1,c2,...cK},Y有K种取值
输入空间 X = { x 1 , . . x j , . . x n } X=\{x_1,..x_j,..x_n\} X={x1,..xj,..xn},X是n维向量,其中 x j = { x j 1 , x j 2 , . . . x j s j } x_j=\{x_{j1},x_{j2},...x_{js_j}\} xj={xj1,xj2,...xjsj} x j x_j xj s j s_j sj种取值

推导:

  • 计算先验概率分布 P ( Y = c k ) P(Y=c_k) P(Y=ck),这个通过训练数据可以得出,通过统计(第k个标签出来的次数)/(总数据量)
  • 计算条件概率分布 P ( X = x ∣ Y = c k ) P(X=x|Y=c_k) P(X=xY=ck),因为X是n维的向量,所以这个分布是需要对每一维数据进行考虑的。在Y已经确定的情况下,一共有 S 1 × S 2 × . . . × S n S_1\times S_2\times...\times S_n S1×S2×...×Sn这么多种取值,再加上Y为K种取值,整个条件分布就会有 K ∏ S j K\prod S_j KSj种可能,你需要这么多个参数去描述这个分布,很显然不现实。
    这个时候就需要特征条件独立的假设。
    现在假设输入空间X的每一维是相互独立的,前面的条件概率分布可以重写。
    P ( X 1 = x 1 . . . X n = x n ∣ Y = c k ) = P ( X 1 = x 1 ∣ Y = c k ) . . . P ( X n = x n ∣ Y = c k ) P(X^1=x^1...X^n=x^n|Y=c_k)=P(X^1=x^1|Y=c_k)...P(X^n=x^n|Y=c_k) P(X1=x1...Xn=xnY=ck)=P(X1=x1Y=ck)...P(Xn=xnY=ck)
    从上式中可以看出,本来的n维向量的联合分布被简化成多个条件分布的乘积,可 P ( X n = x n ∣ Y = c k ) P(X^n=x^n|Y=c_k) P(Xn=xnY=ck)这个条件分布是可以通过训练计算得到的。
  • 计算后验分布 P ( Y ∣ X ) P(Y|X) P(YX)
    这个时候就需要用到贝叶斯定理了。 P ( Y ∣ X ) P ( X ) = P ( X ∣ Y ) P ( X ) P(Y|X)P(X)=P(X|Y)P(X) P(YX)P(X)=P(XY)P(X),最后可以得到
    P ( Y = c k ∣ X = x ) = a r g m a x c k P ( X = x ∣ Y = c k ) P ( Y = c k ) = a r g m a x c k P ( Y = c k ) ∏ P ( X j = x j ) P(Y=c_k|X=x)=\underset{c_k}{argmax}P(X=x|Y=c_k)P(Y=c_k)=\underset{c_k}{argmax}P(Y=c_k)\prod{P(X^j=x^j)} P(Y=ckX=x)=ckargmaxP(X=xY=ck)P(Y=ck)=ckargmaxP(Y=ck)P(Xj=xj)
    P ( Y = c k ) P(Y=c_k) P(Y=ck) P ( X j = x j ) P(X^j=x^j) P(Xj=xj)在前面都统计出来了,需要做的就是遍历一个c_k,求出每一种情况的概率,找到最大值即可。

去github

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值