贝叶斯公式能做很多事情,它的一个典型的应用是解决人工智能中的分类问题。基于贝叶斯公式的分类方法有广泛的应用,包括文本分类、基因筛选、拼写检查、推荐系统、图像识别、投资决策等。本节将介绍一种使用贝叶斯公式的最简单的分类算法,称为朴素贝叶斯分类算法。
朴素贝叶斯分类算法自20世纪50年代就已有广泛研究,并被应用于文本分类。这种算法具有收敛速度快、需要的训练数据少、分类准确性高等优点,所以直到现在,依然是在各种分类任务中使用的热门方法。
下面描述如何用这种方法解决多分类问题。令D表示需要处理的分类对象构成的集合,它包含m个类别,分别用C1,C2,…,Cm表示。进行分类前,需要确定分类对象的特征属性。设有n个特征属性,用A1,A2,…,An表示。对于任意的分类对象x∈D,它的特征属性值用一个n维向量(a1,a2,…,an)表示,这表示对于这个元素x,它的属性值分别是A1=a1,A2=a2,…,An=an。有了这些定义,需要实现的任务可以按如下方式描述。
对D中的每一个元素x,使用它特征属性的取值(a1,a2,…,an),从C1,C2,…,Cm中确定它所属的类别。
如何利用贝叶斯公式实现这样的目的呢?简单起见,设x的特征属性值是(a1,a2,…,an),用A表示随机事件(A1,A2,…,An)=(a1,a2,…,an),用Ck表示x属于第k个类别。通过贝叶斯公式计算如下条件概率
P(C1|A),P(C2|A),…,P(Cm|A)
若其中P(Ck|A)=max{P(C1|A),P(C2|A),…,P(Cm|A)},则说明在已知特征属性值的条件下,元素x属于第k个类别的概率是最大的。那么就判定它属于类别Ck,这当然是一种非常合理的选择,朴素贝叶斯分类就是遵循这样的思路来实现预定的分类任务。为了实现这个想法,具体的步骤和技巧如下。