贝叶斯分类器 Bayesian decision, BD

贝叶斯决策论是概率框架下实施决策的基本方法。

给定两个事件x和y,其各自发生的概率分别为P(X)P(y)。它们联合发生的概率(表示为p(x,y),以及它们相互发生的条件概率(如p(y|x)就表示给定事件x发生的情况下,事件y发生的概率)有如下关系:

                                                           p(y|x)p(x)=p(x,y)=p(x|y)p(y)

应用此式,可以得到贝叶斯法则并进而得到关于p(y|x)的概率表示

                                                                p(y|x)=\frac{p(x|y)p(y)}{p(x)}

贝叶斯实际例子:垃圾邮件过滤器

A、单个单次判断垃圾邮件(贝叶斯定理)

邮件中单词用“word”表示,垃圾邮件用“spam”表示,应用贝叶斯公式可以计算出,如果一个单次出现,该邮件可能是垃圾邮件的概率:

                                                                   p(spam|word)=\frac{p(word|spam)p(spam)}{p(word))}

如果有足够多的已经做好标签的训练数据,右边各项都可以计算出来。如果用“ham”表示正常邮件,那么只需计算:p(word|spam),p(word|ham),p(ham)以及p(spam)=1-p(spam)。等式右边分母部分计算:

p(word)=p(word|spam)*p(spam)+p(word|ham)*p(ham)

步骤:

  1. 计算所有邮件中垃圾邮件的比例p(spam)
  2. 在所有垃圾邮件中计算某一个特定单词出现的概率p(word|spam)
  3. 在所有正常邮件中计算某一个特定单词出现的概率p(word|ham)

假设p(spam|meeting)=\frac{p(meeting|spam)*p(spam)}{p(meeting)}=\frac{0.0106*0.29}{0.0106*0.29+0.0416*0.71}     =9%

          money:80%

           enron:0%

            vigra:100%

B、利用所有单词信息,搭建朴素贝叶斯( 朴素贝叶斯是基于贝叶斯定理与特征条件假设的分类方法)

每一份邮件都可以表示为一个二元向量,这个向量的第 j 个元素是0 还是1 取决于第 j 个单词是否出现在这封邮件中(出现为1,否则为0)。向量的长度取决于总共要考虑的单词个数。如果要考虑所有在邮件中出现过的单词,那么这个向量必然会很长。

输出目标:

给定一份邮件的标签后(即知道它是否为垃圾邮件后),这封邮件所代表的向量中单词一起出现的概率。

一份邮件的单词向量是多维的,p(words| class)=p(f_{0},f_{1},\cdots ,f_{n}|c),这里假设为2维的,有

                                              p(f_{0},f_{1}|c)=p(f_{1}|c,f_{0})p(f_{0}|c)

假设单词之间是独立的

                                               p(f_{0},f_{1}|c)=p(f_{1}|c)p(f_{0}|c)

                                                  p(f_{0},f_{1},\cdots ,f_{n}|c)=\prod_{i}^{n}p(f_{i}|c)

对每个类别计算一个概率p(c_{i}),然后再计算所有特征的条件概率p(f_{j}|c_{i}),那么分类依据贝叶斯找一个最可能的类别:

                                               p(class_{i}| f_{0},f_{1},\cdots ,f_{n})=\frac{p(class_{i})\prod_{j}^{n}p(f_{j}|c_{j})}{p(f_{0},f_{1},\cdots ,f_{n})}

朴素贝叶斯模型的核心概念是独立性

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章