0 综述
Naive bayes classifer算法,中文名称是朴素贝叶斯分类器,或者叫朴素贝叶斯方法,属于有监督学习(Supervised Learning)的范畴。
它的主要思想是,基于带类型标签的数据,用贝叶斯条件概率公式和全概率公式,计算(训练)出标签类型的的先验概率和条件概率。如果训练完毕,有新的数据过来,将新的数据带入由以上训练出来的先验概率和条件概率组成的计算公式,算出每个类型标签相对应的概率,其中最大的那个类型就是Naive bayes分类算法的分类结果。
上面的说明可能有点不容易理解,那我们看一个例子来对naive bayes方法有个更直观的认识。很多文献与教材都是拿垃圾邮件识别器来说明朴素贝叶斯算法。我也拿垃圾邮件过滤器(Spam Email Filter)说事情:在构造分类器的时候,我们首先需要训练数据,训练数据就是一大坨邮件,即邮件的文本加上是否是垃圾邮件的标签,在这里X就是由一些字符串组成的向量,Y的值是1或者0,1代表是垃圾邮件,0代表不是。然后通过某些映射,将字符串向量转化成数字向量,一般的方法是将单词字符串在字典里的索引值作为数值。然后用这些数据计算出需要的先验概率和条件概率。具体细节就是下个章节的内容。
1 Naive Bayes 算法的分类过程
一般情况下,对于机器学习的算法的阐述总是从训练数据的算法开始介绍,但是对于朴素贝叶斯算法,我准备先从分类算法开始分析,个人认为这种顺序更容易被人理解。
1.1 从分类回溯
所谓分类过程,就是用训练好的模型去判断新的数据属于哪一类。在此我先将垃圾邮件分类器的例子做更一般化的处理:
即分类器总共有K个分类。我们先不考虑计算细节,为了计算出新的数据属于哪一类,凭直觉应该运用贝叶斯条件概率计算K个类型中每个类型的条件概率,也叫后验概率。
然后其中概率最大的那个就是我们的分类结果,用数学语言可以写成:
1.2 后验概率 的计算
通过应用Bayes条件概率,可以得到:
然后再应用全概率公式:
其实可以不用管分母上的,所以最终的分类计算公式变为:
1.3 朴素贝叶斯假设(Naive Bayes assumption)
从刚才对垃圾邮件过滤器的介绍,我们知道数据X其实是个向量,为了计算后验概率更加方便,我们需要假设X里各个元素条件概率相互独立,这是朴素贝叶斯假设的主要内容。另外还要假设每个数据X有n个元素:
将上面向量展开带入后验概率
然后将上面的结果带入到之前的分类计算公式得到:
1.4 分类过程总结
有了上面的计算式子,我们就可以对新的数据进行分类了。所以接下来改看看如何通过对训练数据进行训练,计算出上面式子需要的和
To be continued