朴素贝叶斯算法知识要点

1 朴素贝叶斯法

  • 典型的生成学习方法。
  • 利用训练数据学习 P ( X ∣ Y ) P(X|Y) P(XY) P ( Y ) P(Y) P(Y)的概率估计,从而得到联合概率分布: P ( X , Y ) = P ( Y ) P ( X ∣ Y ) P(X,Y)=P(Y)P(X|Y) P(X,Y)=P(Y)P(XY)
  • 概率估计方法
    • 极大似然估计(见3(2)先验概率及条件概率的计算)
    • 贝叶斯估计
      • 用极大似然估计可能会出现所要估计的概率值为0 的情况。这时会影响到后验概率的计算结果,使分类产生偏差解决这一问题的方法是采用贝叶斯估计
      • 等价于在随机变量各个取值的频数上赋于一个正数 λ \lambda λ
      • λ = 0 \lambda=0 λ=0时就是极大似然估计;当 λ = 1 \lambda=1 λ=1时, 这时称为拉普拉斯平滑。

2 朴素贝叶斯法的基本假设

  • 条件独立性假设:

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) P(X=xY=ck)=P(X(1)=x(1),X(2)=x(2),...,X(n)=x(n)Y=ck)=j=1nP(X(j)=x(j)Y=ck)

  • 这是一个较强的假设,由于这一假设,模型包含的条件概率的数量大为减少,朴素贝叶斯法的学习与预测大为简化。因而朴素贝叶斯法高效,且易于实现,其缺点是分类的性能不一定很高。

3 朴素贝叶斯的学习与分类算法

  • 输入:训练数据集 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)}

    • 其中 x i = ( x i ( 1 ) , x i ( 2 ) , . . . x i ( j ) , . . . , x i ( n ) ) T x_i=(x_i^{(1)},x_i^{(2)},...x_i^{(j)},...,x_i^{(n)})^T xi=(xi(1),xi(2),...xi(j),...,xi(n))T
    • x i ( j ) x_i^{(j)} xi(j)是第 i i i个样本的第 j j j个特征, x i ( j ) ∈ { a j 1 , a j 2 , . . . , a j l , . . . , a j S j } x_i^{(j)}\in\{a_{j1},a_{j2},...,a_{jl},...,a_{jS_j}\} xi(j){aj1,aj2,...,ajl,...,ajSj}
    • a j l a_{jl} ajl是第 j j j个特征可能取值的第 l l l个值, j = 1 , 2 , . . . , n j=1,2,...,n j=1,2,...,n l = 1 , 2 , . . . , S j l=1,2,...,S_j l=1,2,...,Sj
    • y i ∈ { c 1 , c 2 , . . , c K } y_i\in\{c_1,c_2,..,c_K\} yi{c1,c2,..,cK};实例 x x x
  • 输出:实例 x x x的分类 y y y

(1)计算先验概率及条件概率 → \to (极大似然估计)

P ( Y = c k ) = ∑ i = 1 N I ( y i = c K ) N , k = 1 , 2 , . . . , K P(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_K)}{N},k=1,2,...,K P(Y=ck)=Ni=1NI(yi=cK)k=1,2,...,K

P ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N I ( X ( j ) = a j l , y i = c K ) ∑ i = 1 N I ( y i = c K ) P(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI(X^{(j)}=a_{jl},y_i=c_K)}{\sum_{i=1}^NI(y_i=c_K)} P(X(j)=ajlY=ck)=i=1NI(yi=cK)i=1NI(X(j)=ajl,yi=cK) k = 1 , 2 , . . . , K ; j = 1 , 2 , . . . , n ; l = 1 , 2 , . . . , S j k=1,2,...,K; j=1,2,...,n;l=1,2,...,S_j k=1,2,...,Kj=1,2,...,nl=1,2,...,Sj

(2)对于给定的实例 x = ( x ( 1 ) , x ( 2 ) , . . . x ( j ) , . . . , x ( n ) ) T x=(x^{(1)},x^{(2)},...x^{(j)},...,x^{(n)})^T x=(x(1),x(2),...x(j),...,x(n))T,计算

P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) , k = 1 , 2 , . . . , K P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k),k=1,2,...,K P(Y=ck)j=1nP(X(j)=x(j)Y=ck)k=1,2,...,K

(3)确定实例 x x x的类

y = arg ⁡ m a x c k P ( Y = c k ) ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) , k = 1 , 2 , . . . , K y=\arg max_{c_k}P(Y=c_k)\prod_{j=1}^nP(X^{(j)}=x^{(j)}|Y=c_k),k=1,2,...,K y=argmaxckP(Y=ck)j=1nP(X(j)=x(j)Y=ck)k=1,2,...,K

拓展

例如 函数 F ( x , y ) F(x,y) F(x,y):

arg ⁡ m i n x F ( x , y ) \arg min_x F(x,y) argminxF(x,y)就是指当 F ( x , y ) F(x,y) F(x,y)取得最小值时,变量 x x x的取值;

arg ⁡ m a x y F ( x , y ) \arg max_y F(x,y) argmaxyF(x,y)就是指当 F ( x , y ) F(x,y) F(x,y)取得最大值时,变量 y y y的取值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值