文/腾讯soso 林世飞
以下是个人学习贝叶斯分类器—文本分类的学习笔记,和大家一起学习交流。
准备工作
监督学习型分类器特点 ,能够从一个不确定度状态开始,通过提供 正确和错误的样本 ,不断来确定哪些特征(特征由特征提取函数,从样本中提取 )对于分类更重要,可以有很多个分类器,来应对不同的分类或者过滤需求。所以训练本身非常重要。
先来复习下一个数学符号,条件概率:pr(A|B) 给定B条件下(也就是B发生情况下),A出现的概率。
Bayes公式和文本分类的基本原理
Pr(A | B) = Pr(B | A) x Pr(A)/Pr(B)
其实是由 下面这个式子移项得到的
Pr(A | B)×Pr(B) = Pr(B | A) × Pr(A) –个人了解含义是 A 和B同时出现的交集是一样的
在文本分类中变成:
Pr(Category | Document) = Pr(Document | Category) x Pr(Category) /Pr(Document)
我们需要计算当某个Document(这个往往使用特征来表示)出现时候,他可能的分类的概率,取概率最大的一个。
贝叶斯假设每项的各个概率是彼此独立的。即,一个单词在属于某个指定分类的文档中出现的概率,与其他单词出现于该分类的概率是不相关的。
事实上这个假设是不成立的,因为你也许会发现,与有关Python编程的文档相比,包含单词“casino”的文档更有可能包含单词“money”。这意味着,我们无法将采用朴素贝叶斯分类器所求得的结果实际用作一篇文档属于某个分类的概率,因为这种独立性的假设会使其得到错误的结果。不过,我们还是可以对各个分类的计算结果进行比较,然后再看哪个分类的概率最大。在现实中,若不考虑假设的潜在缺陷,朴素贝叶斯分类器将被证明是一种非常有效的文