朴素贝叶斯算法


朴素贝叶斯:
1、 特征 特征 特征 条件独立假设
2、基于 贝叶斯定理 贝叶斯定理 贝叶斯定理 --条件概率公式

分类算法,广泛应用于NLP --文本分类

贝叶斯定理

条件概率公式:
p ( y ∣ x ) = p ( x , y ) p ( x ) p(y|x) = \frac {p(x,y)} {p(x)} p(yx)=p(x)p(x,y)

= p ( y ) p ( x ∣ y ) p ( x ) =\frac {p(y)p(x|y)} {p(x)} =p(x)p(y)p(xy)
= p ( y ) ∗ p ( x ( 1 ) , x ( 2 ) . . . x ( n ) ∣ y ) p ( x ) =\frac {p(y)*p(x^{(1)},x^{(2)}...x^{(n)}|y)} {p(x)} =p(x)p(y)p(x(1),x(2)...x(n)y)

其中 p ( x , y ) p(x,y) p(x,y) 为随机变量 x , y x,y x,y 的联合概率分布
x , y x,y x,y相互独立,则 p ( x , y ) = p ( x ) ∗ p ( y ) p(x,y) = p(x)*p(y) p(x,y)=p(x)p(y)

由于朴素贝叶斯是 特征 特征 特征 条件独立假定的,
x ( 1 ) , x ( 2 ) . . . x ( n ) x^{(1)},x^{(2)}...x^{(n)} x(1),x(2)...x(n)之间相互独立

p ( y ∣ x ) = p ( y ) ∗ p ( x ( 1 ) ∣ y ) ∗ p ( x ( 2 ) ∣ y ) . . . p ( x ( n ) ∣ y ) p ( x ) p(y|x) = \frac {p(y)*p(x^{(1)}|y)*p(x^{(2)}|y)...p(x^{(n)}|y) } {p(x)} p(yx)=p(x)p(y)p(x(1)y)p(x(2)y)...p(x(n)y)

先验概率及估计

假如 y y y 服从多项式分布,取值有 k k k类, y ( 1 ) , y ( 2 ) . . . y ( k ) y^{(1)},y^{(2)}...y^{(k)} y(1),y(2)...y(k),类别 y ( l ) y^{(l)} y(l)发生的概率记为 p l p_l pl,即为先验概率
进行m次随机实验,假如类别为 y ( l ) y^{(l)} y(l) 发生了 M l M_l Ml次,则似然函数:
L ( p l ) = p l M l ∗ ( 1 − p l ) m − M l L(p_l) = p_l^{M_l}*(1-p_l)^{m-M_l} L(pl)=plMl(1pl)mMl

采用极大似然法估计 p l p_l pl

L ( p l ) L(p_l) L(pl)取对数,然后对 p l p_l pl求导,令 其= 0
求得 p l = M l m p_l = \frac {M_l}{m} pl=mMl

后验概率及估计

朴素贝叶斯分类中,对于一个样本 x i x_i xi,其属于类别 y ( l ) y^{(l)} y(l) 的概率为:
p ( y ( l ) ∣ x i ) = p ( x i , y ( l ) ) p ( x i ) p(y^{(l)}|x_i) = \frac {p(x_i,y^{(l)})}{p(x_i)} p(y(l)xi)=p(xi)p(xi,y(l))
此条件概率即为后验概率
使用 l l l类别的先验概率, l l l类别下的条件概率,来估计此后验概率

例子

假如,班级有100个学生,男生60,女生40,男生中近视人数占一半,女生中近视的只有25%,随机选出一个近视的学生,其为女性的概率是?

解:
要求解的概率:
p ( 女性 ∣ 近视 ) = p ( 女性,近视 ) p ( 近视 ) p(女性|近视) = \frac {p(女性,近视)}{p(近视)} p(女性近视)=p(近视)p(女性,近视)
= p ( 女性 ) ∗ p ( 近视 ∣ 女性 ) p ( 近视 ) =\frac {p(女性)*p(近视|女性)}{p(近视)} =p(近视)p(女性)p(近视女性)

p ( 女性 ) = 0.4 p(女性) = 0.4 p(女性)=0.4
p ( 近视 ∣ 女性 ) = 0.25 p(近视|女性) = 0.25 p(近视女性)=0.25
p ( 近视 ) = 0.4 p(近视) = 0.4 p(近视)=0.4

则所求概率为 0.25 0.25 0.25

多项式NB

先验概率,条件概率,均服从多项式分布,则为多项式朴素贝叶斯

from sklearn.naive_bayes import MultinomialNB
clf = MultinomialNB(alpha=1.0) #拉普拉斯平滑

高斯NB

特征值,为连续值时,采用高斯分布进行估计 条件概率 条件概率 条件概率,则为高斯朴素贝叶斯

from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()

sklearn中的NB

from sklearn.naive_bayes import MultinomialNB
clf = MultinomialNB(alpha=1.0) #alpha 平滑参数

from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()

基于NB 的垃圾邮件分类

垃圾邮件分类

不文明评论的检测

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

laufing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值