[译]基于模型的机器学习 - 4.2 一个用于分类的模型
为一个数据项预测标签(例如“回复”或“不回复”)的问题称为分类(classification)。执行分类的系统被称为分类器(classifier),它们大概是当今使用最广泛的机器学习算法。可用的分类算法有许多种,而对某个特定的预测任务,有些会比另一些效果更好。解决分类问题的一种常见做法是尝试几种不同的分类算法,看看哪一种效果最好。这种做法忽略了分类算法在相同数据上做出不同预测的根本原因:每个算法都隐含地对数据做出了不同的假设。遗憾的是,这些假设被隐藏在每个算法的内部。
你可能会惊讶地得知,许多分类算法都可以被解释为在某个概率模型中进行近似推断。因此,与其运行一个分类算法,我们不如构建相应的模型,并使用一个推断算法来做分类。我们为什么要这样做,而不直接使用分类算法呢?因为一种基于模型的分类方法给我们带来若干好处:
- 分类器中的假设被显式化。这有助于我们理解分类器在做什么,从而让我们可以改进使用它的方式以获得更好的预测准确率。
- 我们可以修改模型来提升其准确率,或赋予它超出原分类器能力之外的新能力。
- 我们可以使用标准的推断算法来同时训练模型和做出预测。这在修改模型时特别有用,因为训练和预测算法会与修改后的模型保持同步。此外,不同的算法在速度与准确率之间有不同的权衡。我们可以选择最适合我们需求的算法,同时保留我们所有的建模假设。
这些好处并不小——在本章中,你将看到这三点如何都对交付一个成功的系统至关重要。我们将展示如何从零开始、通过对给定数据项时标签如何产生做出一系列假设,来构建一个广泛使用的分类器的模型。随后我们将展示如何扩展这个最初的分类模型,以实现邮件分类系统所需的各种能力。在模型演化的整个过程中,我们将使用一个标准的推断算法(期望传播)来做训练和预测。
……