前沿:学习过概率的人一定知道贝叶斯定理,在信息领域内有着无与伦比的地位。贝叶斯算法是基于贝叶斯定理的一类算法,主要用来解决分类和回归问题。
人工智能之机器学习中最为广泛的两种分类模型是1)决策树模型(Decision Tree Model)和2) 朴素贝叶斯模型(Naive Bayesian Model)。决策树DT已经讲过,请参见之前有关文章。
今天我们重点探讨一下朴素贝叶斯(NB),注意这里NB不是牛X, 而是Naive Bayesian。 ^_^
朴素贝叶斯是经典的机器学习算法之一,也是为数不多的基于概率论的分类算法。朴素贝叶斯原理简单,也很容易实现,多用于文本分类、垃圾邮件过滤、情感分析等。
英国数学家托马斯·贝叶斯(Thomas Bayes)在1763年发表的一篇论文中,首先提出了贝叶斯定理。
贝叶斯定理的应用需要大量的计算,因此历史上很长一段时间,无法得到广泛应用。只有计算机诞生以后,它才获得真正的重视。人们发现,许多统计量是无法事先进行客观判断的,而互联网时代出现的大型数据集,再加上高速运算能力,为验证这些统计量提供了方便,也为应用贝叶斯定理创造了条件,它的威力正在日益显现。
概念和定义:
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法。朴素贝叶斯分类器NBC (NaiveBayes Classifier)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。朴素贝叶斯分类器(NBC)模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上,NBC模型与其他分类方法相比具有最小的误差率。但是实际上并非总是如此,这是因为NBC模型假设属性之间相互独立,这个假设在实际应用中往往是不成立的,这给NBC模型的正确分类带来了一定影响。
贝叶斯分类是一系列分类算法总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。
理论基础:
朴素贝叶斯最核心的部分是贝叶斯法则,而贝叶斯法则的基石是条件概率。贝叶斯法则如下:
这里的C表示类别,输入待判断数据,式子给出要求解的某一类的概率。
朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。
朴素贝叶斯分类器模型:
Vmap=arg maxP( Vj | a1,a2...an) Vj属于V集合,其中Vmap是给定一个example,得到的最可能的目标值。其中a1...an是这个example里面的属性。Vmap目标值,就是后面计算得出的概率最大的一个。所以用max来表示。
贝叶斯公式应用到 P( Vj | a1,a2...an)中。可得到 Vmap= arg max P(a1,a2...an | Vj ) P( Vj ) / P(a1,a2...an)。又因为朴素贝叶斯分类器默认a1...an互相独立。所以P(a1,a2...an)对于结果没有用处。可得到Vmap= arg max P(a1,a2...an | Vj ) P( Vj )。
"朴素贝叶斯分类器基于一个简单的假定:给定目标值时属性之间相互条件独立。换言之。该假定说明给定实例的目标值情况下。观察到联合的a1,a2...an的概率正好是对每个单独属性的概率乘积:P(a1,a2...an | Vj ) =Πi P(ai| Vj )
因此,朴素贝叶斯分类器模型:Vnb=arg max P( Vj ) Π iP ( ai | Vj )