机器学习与计算机视觉机器学习和人工智能入门机器学习与数据挖掘

机器学习之版本空间(version space)算法

2017-12-24  本文已影响0人  AryaHooper

版本空间

今天来聊聊机器学习中的一个概念: version space, 中文翻译中,有‘变形空间’和‘版本空间’两种说法,这里沿用周志华老师在西瓜书中的使用到的术语,称之为‘版本空间’。版本空间指的是在学习过程中,与已知数据集一致的所有假设(hypothesis)的子集集合。通常用于对内容进行收敛。

版本空间算法

前面说到版本空间通常用于对学习内容进行收敛,而版本空间算法实际上是指:
对于所有需要学习的训练集:
如果给定的训练集是正例,那么泛化当前的特化模型使得其包含该正例,同时剔除不能包含该正例的泛化模型;
如果给定的训练集是负例,那么特化当前所有的的泛化模型来包含这个负例,同时剔除无法包含这个负例的特化模型;
删除任何可以被其他模型描述的模型
直到特化模型与泛化模型相同时,我们想要寻找的版本空间就诞生了

举例

以上纯概念的讲述可能有点难以理解,以一个实例来讲:
想象某天你在餐馆吃饭后过敏了,你不知道是什么原因导致的,计过敏为正例(图中以绿色线框表示),不过敏为负例(图中以红色外框表示),你的情况是:
‘小波餐馆
早餐
周五
价格便宜’
那么我们可以提炼出相应的特化模型和泛化模型,分别表示可能过敏的最特化模型和最泛化模型:


图1

接下来来了第二位客人,他也过敏了,根据他的情况,结合前面提到的版本空间算法,每新增一个正例,我们对特化模型进行泛化,第二个正例中,与第一个正例不同的是时段,我们对时段进行泛化,得到新的特化模型


图2

接下来来了第3位客人,他没有过敏,是负例,根据版本空间算法,新增负例,我们对泛化模型进行特化,因为负例的存在说明并不是在任何餐馆、任何时段、任何日期、任何价格的情况下都会导致过敏,肯定是有一定约束的:


图3
同时,我们将泛化模型中不包含已存在的特化模型(即‘任何餐馆,早餐,任何日期,任何价格’)和包含了负例(即‘任何参观,任何时段,任何日期,便宜’)的泛化模型剔除,那么得到:
图4

接下来也是一样的操作,随着正例和负例的增多,最后特化模型和泛化模型会倾向于相等,到那一步,我们要寻找的版本空间也就出现了。
大家感兴趣的还可以参考周志华老师西瓜书中的第5页,里面以西瓜为例,也讲解了版本空间的运用

版本空间的不足

版本空间通常用于收敛内容,但是,它同样存在限制,比如说在只存在正例或者只存在负例的情况下,算法就没有办法很好地被运用了

上一篇下一篇

猜你喜欢

热点阅读