一个例子说明机器学习在做什么

来源:互联网 发布:明朝北伐 知乎 编辑:程序博客网 时间:2024/05/18 17:04

        我们大家生活中应该都有过买西瓜的经验。买西瓜的时候,长辈会给我们传授经验,比如说敲击瓜表面时发出某种声音的是好瓜。长辈之所以会根据这样的特征做出好瓜的预测是基于他们的生活经验,随着经验的丰富,他们预测好瓜的能力也在提高。Herbert A. Simon曾对“学习”给出以下定义:“如果一个系统能够通过执行某个过程改进它的性能,这就是学习”按照这一观点,上述过程中在长辈身上应该是发生了学习。那么计算机如果拥有这些经验,是否也能够学习到辨别西瓜好坏的技巧呢,是否能够通过数据及统计的方法使计算机发生学习呢?

         要解决这个问题,我们首先为机器收集“经验”——数据集(data set)。一个数据集是许多样本的集合,每一个样本具有各种属性和特征。比如,对于西瓜这个抽象类来说,它具有“色泽”,“根蒂”,“敲声”三个属性。如果把这三个属性看作是坐标轴,它们将撑开一个三维空间。每个西瓜在不同属性上有各自的取值,若将其映射成一个向量,则每个西瓜会落在这个三维空间的一个点上。这个由属性张成的空间称为样本空间(sample space)。若给定一个如下的数据集:


         通过观察这个简单的由四个西瓜组成的数据集,我们可能会产生如下假设:

         1.敲声=浊响的西瓜是好瓜

         2.根蒂=蜷缩的西瓜是好瓜

         3.敲声=浊响并且根蒂=蜷缩的西瓜是好瓜

         这是我们人为逻辑推理得到的假设,这些假设就是机器学习需要学到的“模型”(model)。

         可是如果让机器去学习到这些假设该怎么做呢?

         最基本的想法是为机器提供所有的假设,对每一个假设进行验证,一旦发现同某一条假设不符合的数据即剔除该假设。在上面西瓜的例子里面,假定“色泽”,“根蒂”,“敲声”分别有3、2、2种可能取值;同时还要考虑到属性可以取任意值,如:无论色泽如何,根蒂=蜷缩并且敲声=浊响的瓜均是好瓜。所以每一个属性除了拥有具单一含义的取值之外,还拥有*(任意值)的取值。因此,上述问题一共会产生4*3*3=36种假设。这所有的假设的集合被称为假设空间。西瓜问题的假设空间如图所示:


       对于这个假设空间来说,机器要做的就是搜索。对于那些与正例不一致的假设或者与反例一致的假设予以删除。最后余下的假设是同训练集(用于学习的数据)一致的假设集合,这个集合被称作版本空间(version space)。而从这个版本空间中选取我们采纳的假设也是很有学问的一件事,也许会另外写个文章介绍一下。


0 0
原创粉丝点击