首页 » 机器学习实战 » 机器学习实战全文在线阅读

《机器学习实战》4.2 条件概率

关灯直达底部

接下来花点时间讲讲概率与条件概率。如果你对p(x,y|c₁)符号很熟悉,那么可以跳过本节。

假设现在有一个装了7块石头的罐子,其中3块是灰色的,4块是黑色的(如图4-2所示)。如果从罐子中随机取出一块石头,那么是灰色石头的可能性是多少?由于取石头有7种可能,其中3种为灰色,所以取出灰色石头的概率为3/7。那么取到黑色石头的概率又是多少呢?很显然,是4/7。我们使用P(gray)来表示取到灰色石头的概率,其概率值可以通过灰色石头数目除以总的石头数目来得到。

图4-2 一个包含7块石头的集合,石头的颜色为灰色或者黑色。如果随机从中取一块石头,那么取到灰色石头的概率为3/7。类似地,取到黑色石头的概率为4/7

如果这7块石头如图4-3所示放在两个桶中,那么上述概率应该如何计算?

图4-3 落到两个桶中的7块石头

要计算P(gray)或者P(black),事先得知道石头所在桶的信息会不会改变结果?你有可能已经想到计算从B桶中取到灰色石头的概率的办法,这就是所谓的条件概率(conditional probability)。假定计算的是从B桶取到灰色石头的概率,这个概率可以记作P(gray|bucketB),我们称之为“在已知石头出自B桶的条件下,取出灰色石头的概率”。不难得到,P(gray|bucketA)值为2/4,P(gray|bucketB) 的值为1/3。

条件概率的计算公式如下所示:   

P(gray|bucketB) = P(gray and bucketB)/P(bucketB)

我们来看看上述公式是否合理。首先,用B桶中灰色石头的个数除以两个桶中总的石头数,得到P(gray and bucketB) = 1/7。 其次,由于B桶中有3块石头,而总石头数为7,于是P(bucketB)就等于3/7。于是有P(gray|bucketB) = P(gray and bucketB)/P(bucketB) = (1/7) / (3/7) = 1/3。这个公式虽然对于这个简单例子来说有点复杂,但当存在更多特征时是非常有效的。用代数方法计算条件概率时,该公式也很有用。

另一种有效计算条件概率的方法称为贝叶斯准则。贝叶斯准则告诉我们如何交换条件概率中的条件与结果,即如果已知P(x|c),要求P(c|x),那么可以使用下面的计算方法:

我们讨论了条件概率,接下来的问题是如何将其应用到分类器中。下一节将讨论如何结合贝叶斯决策理论使用条件概率。