资讯

类条件概率是什么?在已知类别的前提下看到某种特征的概率

2026-11-053 分钟阅读百科
TL;DR类条件概率(Class-conditional Probability)是在给定样本类别的条件下,样本特征取某值的概率或概率密度,即似然 P(x|c),它与类先验 P(c) 一起通过贝叶斯定理得到后验 P(c|x);生成式分类器(朴素贝叶斯、高斯判别分析)就是估计类条件概率,高维时直接估计困难,故引入独立性等假设。

类条件概率(Class-conditional Probability)是指在已知样本属于某个类别的条件下,样本的特征取某个值的概率,对于连续的特征则是概率密度。它也常被称为“似然”,是贝叶斯分类器中最核心的组成部分之一。

一个例子

假设要根据邮件中是否出现“中奖”这个词来判断邮件是不是垃圾邮件。类条件概率要回答的问题是:在一封邮件是垃圾邮件的前提下,它包含“中奖”这个词的概率是多少?在一封邮件是正常邮件的前提下,它包含“中奖”的概率又是多少?比如统计发现,垃圾邮件中有 30% 包含“中奖”,而正常邮件中只有 1% 包含“中奖”。这两个数字就是类条件概率。它们描述的是每一类数据“长什么样”。

需要注意区分类条件概率和后验概率:类条件概率是“已知是垃圾邮件,包含‘中奖’的概率”;后验概率是“已知包含‘中奖’,它是垃圾邮件的概率”。两者的条件和结果正好相反,是完全不同的概念。日常生活中,人们常常把它们混为一谈,这是一种常见的推理错误。

它在贝叶斯分类中的作用

贝叶斯分类器要做的,是根据样本的特征,判断它最可能属于哪个类别,也就是计算后验概率。根据贝叶斯定理,后验概率等于类先验概率乘以类条件概率,再除以特征出现的总概率,也叫证据。类先验概率表示在没看到任何特征之前,每个类别本身出现的比例,比如所有邮件中垃圾邮件占多大比例。由于分母,也就是证据,对于所有的类别都是一样的,在比较各个类别时可以不考虑它。因此,判断样本属于哪个类别,只需要比较“类先验概率乘以类条件概率”这个乘积,选择最大的那个类别。

继续上面的例子:假设所有邮件中有 20% 是垃圾邮件。一封包含“中奖”的邮件,属于垃圾邮件的分数是 20% 乘以 30%,等于 6%;属于正常邮件的分数是 80% 乘以 1%,等于 0.8%。前者远大于后者,所以判断它很可能是垃圾邮件。

估计类条件概率的困难

类先验概率很容易估计,只需要统计训练数据中各个类别所占的比例。真正困难的是估计类条件概率,因为它涉及样本所有特征的联合概率。当特征有很多个时,可能的特征组合数量会随着特征数量的增加呈指数级增长。比如用一万个词是否出现来描述一封邮件,可能的组合有 2 的一万次方种,绝大多数组合在训练数据中一次都不会出现,根本无法直接从数据中统计出它们的概率。

为了解决这个问题,不同的方法引入了不同的假设。朴素贝叶斯分类器假设在给定类别的条件下,各个特征相互独立,这样类条件概率就可以写成每个特征单独的类条件概率的乘积,每一项都很容易估计。半朴素贝叶斯分类器适当放宽这一假设,允许部分特征之间存在依赖。高斯判别分析假设每一类的特征服从一个多元正态分布,只需要估计每一类的均值和协方差矩阵。还可以用核密度估计等非参数方法,或者用高斯混合模型等更灵活的模型来估计类条件概率。

生成式模型与判别式模型

像朴素贝叶斯这样,先分别估计类先验概率和类条件概率,再通过贝叶斯定理得到后验概率的方法,叫作生成式模型,因为它学习的是每一类数据是如何生成的,理论上还可以用来生成新的样本。而逻辑回归、支持向量机、大多数神经网络分类器则直接学习从特征到类别的映射,或者直接建模后验概率,跳过了估计类条件概率这一步,叫作判别式模型。一般来说,判别式模型在数据充足时分类效果更好,生成式模型在数据较少时可能更有优势,并且能够处理特征缺失等情况。