我们在研究机器学习的过程实际就使用我们的数据集Data来找到假设空间中的版本空间。
图(1)
目标就是--找到与训练集“匹配”的假设。
在图中就是要找到
假设空间就是总的可能的空间。(就是指所有的可能,也就是本文章第一句话中的所有假设组成的空间)
假设空间的大小:(n1+1)* (n2+1) * (n3+1) + 1
(拿图一举例,色泽有三种可能,青绿和乌黑和全选,也就是*,表示好瓜与否和色泽无关,根蒂有四种可能,蜷缩,硬挺,稍蜷和 * ,敲声也有四种,最后还要加上根本没有好瓜这一种可能性,所以假设空间就是3*4*4+1,就是49种)
版本空间:与已知数据集一致的所有子集集合。强调一件事情,这个版本空间并不是真相,而是我们利用已知数据集逼近真相所获得的产物,只能说真相被包含在版本空间内。
由图(1)中,我们可以获得版本空间如下图
图(2)
那么,这样就结束了吗,并不是。我们想要的是在面临一个新的样本时,会产生较为可靠输出。那么我们给一个样本(青绿,蜷缩,沉闷) ,单单通过上面的版本空间,根据不同的假设,我们可能会得出不同的输出Yes or No ,这并不好,所以就引出了下一个概念,归纳偏好。
通过有限的数据集会产生出无限种假设(模型),那么我们如何选择这些模型呢,这就是归纳偏好。
我们面对这样的问题通常采用一个原则:奥卡姆剃刀原则--若非必要,勿增实体。通俗来讲就是越简单越好,那么这样就解决偏好问题了吗?并不是,这个“简单”,其实并不简单,因为对于简单的比较可能是有很多的,比如 和
这两个公式哪一个更简单呢?我们可以说第一个简单,因为最高次低,是二次,第二个是三次,也可以说第二个简单,因为第二个只有两项,第一个有三项。这就是两种假设不同的偏好。任何一个有效的机器学习算法必有偏好。根据不同的问题进行量身定制适合他们的模型,实际上就是定制他们的归纳偏好。
NFL定理:No Free Lunch Theorem 没有免费的午餐。在机器学习领域,在所有问题出现机会相同、或所有问题同等重要的情况下,没有一种算法比另一种完全好。即有A算法在某些问题上比B算法要好,那么一定有另一些问题B比A好。
这个定理给我们的启发就是面对不同的问题要面对问题定制算法,没有一个最好的算法可以适用于所有问题。简单来说:具体问题,具体分析。