在机器学习中,有两个知识点比较重要,分别是假设空间(hypothesis space)和版本空间(version space)。
本文借用周志华《机器学习》一书中的实例向大家介绍这两个概念。
数据集介绍
假设我们的任务要判断一个西瓜是“好瓜”,还是“坏瓜”——一个二分类问题。
同时,西瓜包含以下三个属性:
- 色泽:青绿、浅白、乌黑。
- 根蒂:蜷缩、硬挺。
- 敲声:清脆、沉闷。
假设西瓜数据集如下,给定了四条样本,要求判断是否是好瓜。
假设空间
我们可以把学习过程看作一个在所有假设(hypothesis)组成的空间中进行搜索的过程,搜索目标是找到与训练集匹配的假设。
这里我们的假设空间由形如“(色泽=?) (根蒂=?) (敲声=?)”的可能取值所形成的假设组成。同时要考虑也许“色泽”无论取什么值都合适,我们用通配符“ ”来表示,例如“(色泽= ) (根蒂=蜷缩) (敲声=清脆)”。此外,还需考虑极端情况:世界上可能没有“好瓜”这种东西,这事我们用 表示这个假设。
这样,若“色泽”“根蒂”“敲声”分为有3、2、2种可能取值,则我们面临的假设空间规模大小为4x3x3+1=37。
下图描述了西瓜问题的假设空间:
版本空间
版本空间这个概念由机器学习奠基人之一的Tom Mitchell在1982年提出。
在假设空间中,可能有多个假设与训练集一致,即存在一个与训练集一致的“假设集合”,我们称之为“版本空间”(version space)。在上面介绍的西瓜问题中,与训练集对应的版本空间如下图所示:
参考:周志华 《机器学习》