朴素贝叶斯分类器

贝叶斯分类器

  • 优点: 数据较少任然有效,可以处理多类别的问题
  • 缺点: 输入数据准备方式比价敏感
  • 数据类型: 标称型数据

朴素贝叶斯决策理论

假设有两类数据: A 和 B 假设有两类数据:A和B 假设有两类数据:AB

平面直角坐标系上分布着A与B类型的数据

对于一个未知类型的数据点(x,y)

P 1 ( x , y ) 表示数据点 ( x , y ) 属于类别 A 的概率 P 2 ( x , y ) 表示数据点 ( x , y ) 属于类别 B 的概率 P1(x,y)表示数据点(x,y)属于类别A的概率\\ P2(x,y)表示数据点(x,y)属于类别B的概率 P1(x,y)表示数据点(x,y)属于类别A的概率P2(x,y)表示数据点(x,y)属于类别B的概率

我们选取概率较大的作为该数据的类别,即最高概率的决策。

使用条件概率来决策

计算P1(x,y)和P2(x,y),其实是计算P(A|x,y)和P(B|x,y),即计算P(x,y)的条件概率。

贝叶斯条件概率公式有:
p ( A ∣ x , y ) = p ( x , y ∣ A ) ∗ p ( A ) p ( x , y ) p(A|x,y)=\frac{p(x,y|A)*p(A)}{p(x,y)} p(Ax,y)=p(x,y)p(x,yA)p(A)

从词向量计算概率

( x , y ) (x,y) (x,y)替换成 ω \omega ω, ω \omega ω是一个向量。

c i , i = 1 , 2 , 3 … c_i,i=1,2,3… ci,i=1,2,3表示类别,有:

p ( c i ∣ ω ) = p ( ω ∣ c i ) ∗ p ( c i ) p ( ω ) p(c_i|\omega)=\frac{p(\omega|c_i)*p(c_i)}{p(\omega)} p(ciω)=p(ω)p(ωci)p(ci)
利用贝叶斯条件独立性:
p ( ω ∣ c i ) = ∏ j = 1 n p ( w j ∣ c i ) p(\omega|c_i)=\prod_{j=1}^np(w_j|c_i) p(ωci)=j=1np(wjci)

伪代码如下:

计算每个类别中的文档数目
对每篇训练文档:
    对每个类别:
        如果词条出现在文档中-->增加该词条的计数值
        增加所有词条的计数值
    对每个类别:
        对每个词条:
            将该词条的数目除以总词条数目得到条件概率
    返回每个类别的条件概率

你可能感兴趣的:(统计学习方法,机器学习,算法,python)