在机器学习中,朴素贝叶斯分类器是一系列的简单“概率分类器”。它们基于假设特征之间强独立的条件下运用贝叶斯定理来完成分类。
朴素贝叶斯自20世纪60年代以来被广泛研究。它在20世纪60年代初被引入文本检索社区(尽管不是这个名字),[1] 并且仍然是文本分类中的流行(基准)方法,该问题主要目标为以词频为特征,来判断一个文档属于哪一个类别(例如垃圾邮件或正常邮件、体育或政治等)。通过适当的预处理,它与该领域其他更先进的方法(包括支持向量机)相比也具有竞争力。[2] 它在自动医疗诊断中也有应用。[3]
朴素贝叶斯分类器是高度可扩展的,在学习问题中需要许多与变量(特征/预测器)数量成线性关系的参数。最大似然训练可以通过解析式表示,[4] 这需要线性的时间,而不是像许多其他类型的分类器那样通过昂贵的迭代逼近。
在统计学和计算机科学文献中,朴素贝叶斯模型有多种名称,包括简单贝叶斯和独立贝叶斯。[5] 所有这些名称都表明这些分类器决策规则中有贝叶斯定理,但朴素贝叶斯并不一定是一种贝叶斯方法。[4][5]
朴素贝叶斯是一种构造分类器的简单技术:将类标签分配给问题实例的模型,以特征值的向量表示,其中类标签从某个有限集中抽取的。训练这种分类器没有单一的算法,而是有基于相同原则的一系列算法:对于一个变量,所有朴素贝叶斯分类器都假设特定特征都是独立于其他特征的。例如,如果一个水果是红色的,圆形的,直径大约10cm,就可以被认为是苹果。朴素贝叶斯分类器认为每一个特征都独立地对这种水果是苹果的概率做出贡献,而不管颜色、圆度和直径特征之间的任何可能的相关性。
对于某些类型的概率模型,可以在监督学习环境中非常有效地训练朴素贝叶斯分类器。在许多实际应用中,朴素贝叶斯模型的参数估计使用极大似然法;换句话说,人们可以在不接受贝叶斯概率或不使用任何贝叶斯方法的情况下使用朴素贝叶斯模型。
尽管朴素贝叶斯分类器设计简单并且假设也明显过于简化,但它在许多复杂的现实环境中仍能很好地工作。2004年,一篇分析贝叶斯分类器问题的文章揭示了朴素贝叶斯分类器获取看上去不可思议的分类效果的若干理论上的原因。[6] 尽管如此,2006年有一篇文章详细比较了各种分类算法,该文章发现贝叶斯分类已经不如其他方法,如boost tree或随机森林。[7]
朴素贝叶斯的一个优点是它只需要少量的训练数据来估计分类所需的参数。[来源请求]
抽象地说,朴素贝叶斯是一个条件概率模型:给定待分类的问题实例,用向量 表示,代表n个特征(独立变量),它给这个实例分配概率
对于以下K种可能的结果或类 。[8]
上述公式的问题在于,如果特征的数量n很大如果一个特征可种有很多值,那么根据概率表建立这样的模型是不可行的。因此,我们重新设计了模型,使其更易于处理。使用贝叶斯定理,条件概率可以分解为
用简单的语言,使用贝叶斯概率术语,上面的等式可以写为
实际上,人们只对分式的分子感兴趣,因为分母不依赖于 以及特征的值 是给定的,因此分母实际上是常数。分子等价于联合概率模型
可以按如下方式重写,使用链式法则多次应用条件概率的定义:
现在,“朴素”的条件独立性假设开始发挥作用:假设 是相互独立的,取决于类别 。根据这一假设,
。
因此,联合模型可以表示为
此处 表示成正比。
这意味着在上述独立性假设下,类变量 的条件分布是:
这里 是一个仅取决于 的比例因子,也就是说,如果特征变量值已知,它就是常数。
到目前为止的讨论已经推导出了独立的特征模型,即朴素贝叶斯概率模型。朴素贝叶斯分类器将该模型与决策规则相结合。一个常见的规则是选择最有可能的假设;这被称为最大后验概率 或者MAP决策规则。所对应的分类器,贝叶斯分类器,是分配类函数 对k的形式如下所示:
一个类型的先验概率可以通过假设每类都是等概率的(即先验概率=1/(类数)),或者通过从训练集估计先验概率(即(先验概率)=(属于该类的样本数)/(样本总数))来计算。为了估计特征分布的参数,必须假设一种分布或者从训练集中生成关于特征的非参数模型。[9]
在朴素贝叶斯分类器中,关于特征分布的假设被称为事件模型。对于像在文档分类(包括垃圾邮件过滤)中遇到的离散型特征,多为多项式分布和伯努利分布。这些假设导致了两种不同的,经常易被混淆的模型。[10][11]
当处理连续型数据时,一个典型的假设是与每个类相关联的连续值是按照正态(高斯)分布的。例如,假设训练数据包含连续型特征 。我们首先按类分割数据,然后计算 在每类中的平均值与方差。令 为Ck中 的平均值,令 为Ck中 的方差。假设我们收集了一些观察值 。然后,对 而言,对于某一类 的概率分布 , ,为参数为 和 的正态分布。即,
处理连续值的另一种常见技术是使用数据分箱使连续型特征变得离散,以获得一组新的伯努利分布特征;一些文献实际上认为这对于应用朴素贝叶斯是必要的,但实际上并非如此,离散化可能会丢弃有分辨性的信息。[5]
在多项式事件模型中,样本(特征向量)表示多项式生成特定事件的频率 在此处 为事件i发生的概率(或 K 这种多项式在多类情况下)。 特征向量 可以通过直方图的形式表示, 为事件i被观察到的次数。这一技术是通常用于表示文档分类事件模型,事件代表一个文档中单词的出现(参见单词袋假设)。观察直方图的可能性x由下式给出
多项式朴素贝叶斯分类器在对数空间中为线性分类器:[2]
此处 , 。
如果在训练数据中某一的类和特征值从未一起出现,则基于频率的概率估计将为零。这是存在问题的,因为当其他概率相乘时,它会是其他所有的信息也为零。因此,通常希望在所有概率估计中加入一个称为伪计数的小样本校正,这样就不会将概率设置为恰好为零。当伪计数参数为1时,这种朴素贝叶斯的正则化方法被称为拉普拉斯平滑,在一般情况下称为利斯顿平滑。
雷尼等人讨论了在文档分类中多项假设的问题以及缓解这些问题的可能方法,包括使用TF-IDF权重代替原始词频和文档长度归一化,以产生与支持向量机性能相似的朴素贝叶斯分类器。[2]
在多元伯努利事件模型中,特征是独立的逻辑(二元)变量。与多项式模型一样,这个模型在文档分类任务中很受欢迎,[10]其中使用二进制值表示特征而不是词语出现的数量。如果 是一个逻辑值,表示第i个词是否出现在文本中,因此一个文档 是否属于一类的可能性由下式表示[10]
此处, 是 类文档含有词语 的概率。这种事件模型尤其适用于对短文本进行分类。它的好处是明确模拟了术语的缺失。请注意,伯努利事件模型的朴素贝叶斯分类器不同于多项式朴素贝叶斯分类器,其频率计数截断为1。
给定一种从标记数据训练朴素贝叶斯分类器的方法,可以构造半监督训练算法,通过在循环中运行监督学习算法,从标记和未标记数据组合中学习:[12]
给定一个集合 包含标签样本 L 和未标记的样本 U,首先训练一个朴素贝叶斯分类器L。
对于 中所有的事件x,预测类型概率 。
是否收敛是通过判断模型似然性 的改进确认的,此处 表示朴素贝叶斯模型的参数。
这个训练算法是更一般的期望最大化算法的一个实例:循环中的预测步骤是期望最大化算法中的E-step,而朴素贝叶斯的再训练是M-step。通过假设数据由混合模型生成,并且该混合模型的组成部分正好是分类问题的类别,该算法被正式证明是正确的。[12]
尽管影响深远的独立假设往往不准确,但朴素贝叶斯分类器有几个特性使其在实践中非常有用。特别地,特征关于类别的条件分布的解耦意味着每个分布可以被独立地估计为一维分布。这有助于缓解因维数灾难而产生的问题,例如,需要随特征数量呈指数级扩展的数据集。虽然朴素贝叶斯经常不能对正确的类概率产生良好的估计,[13]这可能不是许多应用的要求。例如,朴素贝叶斯分类器将做出正确的最大后验概率估计来预测分类,只要正确的类别比任何其他类的概率更高。不管概率估计是有轻微的问题还是非常不准确的,预测的结果都是正确的。由此而言,整个分类器可以足够健壮,以忽略其基础朴素概率模型中的严重缺陷。[3]观察到的朴素贝叶斯分类器成功的其他原因在下面引用的文献中有所讨论。
在离散输入(离散事件的指标或频率特征)的情况下,朴素贝叶斯分类器形成一个与(多项式)逻辑回归分类器相对应的生成辨别:每个朴素贝叶斯分类器可以被认为是拟合概率模型的一种方式,以优化联合概率 ,而逻辑回归拟合相同的概率模型来优化条件概率 。[14]
如果将朴素贝叶斯的决策函数(在二元情况下)可以改写为“如果 的概率大于 ,预测该实例为 类”,就可以看出两者之间的联系。在对数空间的表达式如下:
等式的左边是概率对数,或者叫logit,逻辑回归的线性模型的预测量。由于朴素贝叶斯也是两个“离散”事件模型的线性模型,它可以重新参数化为线性函数 。获得概率则是将逻辑函数应用于 ,或在多类情况下,被称为softmax函数。
判别分类器比生成分类器具有更低的渐近误差;然而,Ng和Jordan的研究表明,在一些实际情况下,朴素贝叶斯可以比逻辑回归更快地达到其渐近误差。[14]
问题:根据测量到的特征,对给定的人分类是男是女。这些特征包括身高、体重和脚的大小。
训练
示例训练集如下。
性别 | 身高(英尺) | 体重(磅) | 脚的大小(英寸) |
---|---|---|---|
男 | 6 | 180 | 12 |
男 | 5.92 (5'11") | 190 | 11 |
男 | 5.58 (5'7") | 170 | 12 |
男 | 5.92 (5'11") | 165 | 10 |
女 | 5 | 100 | 6 |
女 | 5.5 (5'6") | 150 | 8 |
女 | 5.42 (5'5") | 130 | 7 |
女 | 5.75 (5'9") | 150 | 9 |
使用高斯分布假设从训练集创建的分类器将是(给定的方差为无偏的 样本方差):
性别 | 平均值(身高) | 方差(身高) | 平均值(体重) | 方差(体重) | 平均值(脚的大小) | 方差(脚的大小) |
---|---|---|---|---|---|---|
男 | 5.855 | 3.5033*10−2 | 176.25 | 1.2292*102 | 11.25 | 9.1667*10−1 |
女 | 5.4175 | 9.7225*10−2 | 132.5 | 5.5833*102 | 7.5 | 1.6667 |
假设我们两类的先验概率相同,因此P(男性)=P(女性)= 0.5。这种先验概率分布可能基于我们对更大人群中频率的了解,或者基于训练集中的频率。
测试
下面是一个待分类为男性或女性的样本。
性别 | 身高(英尺) | 体重(磅) | 脚的大小(英寸) |
---|---|---|---|
样本 | 6 | 130 | 8 |
我们希望确定男性和女性哪一个后验概率更大。对于男性的后验概率为:
对于女性的后验概率为:
evidence(也称为归一化常数)可以由以下式子计算:
然而,对于一个样本,evidence是常数,因此两者对后验概率的大小影响相等。因此,它不影响分类,可以忽略。我们现在确定样本性别的概率分布。
,
此处 , 是以前从训练集中确定的正态分布参数。请注意,在此处的值是可以大于1的——因为是身高一个连续型变量,它是概率密度函数而不是概率。
由于女性的后验概率分子更大,我们预测样本是女性。
这是一个关于文档分类问题的朴素贝叶斯分类的有效例子。考虑按内容对文档进行分类的问题,例如将文档分为垃圾邮件和非垃圾邮件。假设文档是从许多类文档中抽取的,这些类文档可以被建模为单词集,其中给定文档的第一个单词出现在C 类文档中的(独立)概率可以写为
(对于这种处理,我们通过假设单词在文档中的分布是随机的来进一步简化问题——也就是说,单词不依赖于文档的长度、相对于其他单词在文档中的位置或者其他文档上下文。)
那么某一 包含所有单词 的文档D对文档类别C的条件概率为
我们想要回答的问题是:“文档D 属于那个类别C?“换句话说, 为多少?
现在根据条件概率的定义
并且
贝叶斯定理用可能性的形式把这些变成了概率的陈述。
假设目前只有两个互斥的类, S 和¬S (例如垃圾邮件而不是垃圾邮件),使得每个元素(电子邮件)都在其中的一个类别中;
和
使用上面导出的贝叶斯公式,我们可以写为:
一个除以另一个得到:
这也可以为:
因此,概率比p(S | D)/ p(S | D)可以用一系列似然比来表示。实际后验概率p(S | D)可以容易地从log (p(S | D)/ p(S | D))与p(S | D)+ p(S | D)=1中计算得到。
取所有这些比率的对数,我们得到:
(这种“对数似然比”的技术是统计学中的一种常见技术。在两个互斥选项的情况下(如本例),通过sigmoid曲线将对数似然比得到到概率:详见逻辑回归。)
最后,该文档可以分类如下。如果 (即, ),这是一封垃圾邮件,否则它不是垃圾邮件。
^Maron, M. E. (1961). "Automatic Indexing: An Experimental Inquiry" (PDF). Journal of the ACM. 8 (3): 404–417. doi:10.1145/321075.321084..
^Rennie, J.; Shih, L.; Teevan, J.; Karger, D. (2003). Tackling the poor assumptions of Naive Bayes classifiers (PDF). ICML..
^Rish, Irina (2001). An empirical study of the naive Bayes classifier (PDF). IJCAI Workshop on Empirical Methods in AI..
^Russell, Stuart; Norvig, Peter (2003) [1995]. Artificial Intelligence: A Modern Approach(英语:Artificial Intelligence: A Modern Approach) (2nd ed.). Prentice Hall. ISBN 978-0137903955..
^Hand, D. J.; Yu, K. (2001). "Idiot's Bayes — not so stupid after all?". International Statistical Review. 69 (3): 385–399. doi:10.2307/1403452. ISSN 0306-7734. JSTOR 1403452..
^Zhang, Harry. The Optimality of Naive Bayes (PDF). FLAIRS2004 conference..
^Caruana, R.; Niculescu-Mizil, A. (2006). An empirical comparison of supervised learning algorithms. Proc. 23rd International Conference on Machine Learning. CiteSeerX 10.1.1.122.5901..
^Narasimha Murty, M.; Susheela Devi, V. (2011). Pattern Recognition: An Algorithmic Approach. ISBN 978-0857294944..
^John, George H.; Langley, Pat (1995). Estimating Continuous Distributions in Bayesian Classifiers. Proc. Eleventh Conf. on Uncertainty in Artificial Intelligence. Morgan Kaufmann. pp. 338–345..
^McCallum, Andrew; Nigam, Kamal (1998). A comparison of event models for Naive Bayes text classification (PDF). AAAI-98 workshop on learning for text categorization. 752..
^Metsis, Vangelis; Androutsopoulos, Ion; Paliouras, Georgios (2006). Spam filtering with Naive Bayes—which Naive Bayes?. Third conference on email and anti-spam (CEAS). 17..
^Nigam, Kamal; McCallum, Andrew; Thrun, Sebastian; Mitchell, Tom (2000). "Learning to classify text from labeled and unlabeled documents using EM" (PDF). Machine Learning. 39 (2/3): 103–134. doi:10.1023/A:1007692713085..
^Niculescu-Mizil, Alexandru; Caruana, Rich (2005). Predicting good probabilities with supervised learning (PDF). ICML. doi:10.1145/1102351.1102430..
^Ng, Andrew Y.; Jordan, Michael I. (2002). On discriminative vs. generative classifiers: A comparison of logistic regression and naive Bayes. NIPS. 14..
暂无