朴素贝叶斯算法

朴素贝叶斯算法

----生成模型

优点:学习预测效率高,适合多分类;
朴素:假设条件独立即各特征之间独立,方便后续计算条件概率,但是,这样也就降低了一定的准确率。
学习算法:首先要搞清楚算法流程是什么(算法),流程中需要计算什么,为什么需要这些信息(策略),知道这些信息后为什么可以用来决策(模型)

算法流程

朴素贝叶斯估计法

输入:训练数据 T = { ( x 1 , y 1 ) , . . . . , ( x N , y N ) } T=\{(x_1,y_1),....,(x_N,y_N)\} T={(x1,y1),....,(xN,yN)},其中 x i = ( x i 1 , . . . , x i n ) x_i=(x_i^1,...,x_i^n) xi=(xi1,...,xin)(表明第 i i i个样本有 n n n个特征对应的取值), x i j x_i^j xij是第 i i i个样本的第 j j j个特征,其中, x i j ∈ { a j 1 , . . . , a s j } x_i^j\in \{a_{j1},...,a_{s_j}\} xij{aj1,...,asj}, a j l a_{jl} ajl是第 j j j个特征可能取得第 l l l个值,第 j j j个特征属性可能有 s j s_j sj个取值。 y i ∈ { c 1 , . . . , c k } y_i\in \{c_1,...,c_k\} yi{c1,...,ck}。所以,训练样本可以总结成: N N N个样本 、 n n n个特征属性,第 j j j个特征属性有 s j s_j sj个取值。
对于实例 X X X
输出:实例 X X X的分类。
(1)使用朴素贝叶斯估计法–计算先验概率、条件概率
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 i 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_i^j=a_{jl},y_i=c_k)}{\sum_{i=1}^NI(y_i=c_k)} p(xj=ajlY=ck)=i=1NI(yi=ck)i=1NI(xij=ajl,yi=ck) -----穷举:计算了每个特征在已知类别条件下的条件概率)
(2)对于给定的实例 X = ( x 1 , . . . , x n ) T X=(x^1,...,x^n)^T X=(x1,...,xn)T,计算:
p ( Y = c k ) ∏ j = 1 n p ( x j ∣ Y = c k ) , k = 1 , 2 , . . . , K p(Y=c_k)\prod_{j=1}^np(x^j|Y=c_k),k=1,2,...,K p(Y=ck)j=1np(xjY=ck),k=1,2,...,K.
(3)确定实例 X X X的分类:
y = a r g m a x c k p ( Y = c k ) ∏ j = 1 n p ( x j ∣ Y = c k ) , k = 1 , 2 , . . . , K y=argmax_{c_k}p(Y=c_k)\prod_{j=1}^np(x^j|Y=c_k),k=1,2,...,K y=argmaxckp(Y=ck)j=1np(xjY=ck),k=1,2,...,K后验概率最大化原理是由期望风险最小化函数得到(可以先搞清楚模型框架)

贝叶斯估计法

上述中的朴素贝叶斯估计法(极大似然估计)可能出现所要估计的概率值为0的情况,会影响到后验概率的计算结果。
先验概率 : p λ ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ N + K λ p_\lambda(Y=c_k)=\frac{\sum_{i=1}^NI(y_i=c_k)+\lambda}{N+K\lambda} pλ(Y=ck)=N+Kλi=1NI(yi=ck)+λ
条件概率: 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 ) + S j λ p(x^j=a_{jl}|Y=c_k)=\frac{\sum_{i=1}^NI(x_i^j=a_{jl},y_i=c_k)+\lambda}{\sum_{i=1}^NI(y_i=c_k)+S_j\lambda} p(xj=ajlY=ck)=i=1NI(yi=ck)+Sjλi=1NI(xij=ajl,yi=ck)+λ
------等价于在随机变量各个取值的频数行赋予一个正数 λ \lambda λ*

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值