我们在专家系统中已经看到过分类问题。决策树和专家系统都以解决分类问题为目标。专家系统依靠规则进行分类,规则是知识工程师和领域专家共同根据人的经验总结出来的。这个过程通常费时费力,而且不能很好地解决一些边界情况或者极端情况,比如,不常见的个例、重复或者冲突的规则。以动物分类系统为例,我们可能会把“卵生”作为爬行动物和鸟类的前置条件,而哺乳动物通常是“胎生”而非“卵生”。然而,哺乳动物中也有特例,鸭嘴兽就是卵生的。基于“胎生”或者“卵生”的区分规则就无法正确处理鸭嘴兽这个特例。又如,“以植物为食”和“反刍”对于食草哺乳动物来说,有可能是两个重复的规则,只有对不同动物进行完善的统计才能发现这两个条件是否完全重叠,或者是恰好存在特例只满足两个条件之一。这种情况仅通过知识工程师对领域专家的访谈很难发现,倘若领域专家不止一人,且他们的知识和经验不完全重叠,就有可能获取到一些重复或者冲突的规则。
决策树不再依赖于人类专家的经验,而是用统计的方法直接从数据中获得“第一手”经验。
我们来看一个简单的分类问题:根据天气来判断是否适合运动。我们从观感、温度、湿度、风力4个维度来描述天气情况,表2.1中给出了不同天气情况的样本,每行样本包含4个天气特征及一个类标签。这是一个二分类问题,类标签表示是否适合运动,只有“是”和“否”两种不同的分类结果。
表2.1 天气二分类问题的数据表