一个例子说明机器学习在做什么
2017-02-15 17:47
621 查看
一个例子说明机器学习在做什么
2017-01-26 15:22 22人阅读 评论(0) 收藏 举报![](https://oscdn.geek-share.com/Uploads/Images/Content/201611/b367fdce88ee208da19a58e7fab01f44.jpg)
分类:
机器学习
版权声明:本文为博主原创文章,未经博主允许不得转载。
我们大家生活中应该都有过买西瓜的经验。买西瓜的时候,长辈会给我们传授经验,比如说敲击瓜表面时发出某种声音的是好瓜。长辈之所以会根据这样的特征做出好瓜的预测是基于他们的生活经验,随着经验的丰富,他们预测好瓜的能力也在提高。Herbert A. Simon曾对“学习”给出以下定义:“如果一个系统能够通过执行某个过程改进它的性能,这就是学习”按照这一观点,上述过程中在长辈身上应该是发生了学习。那么计算机如果拥有这些经验,是否也能够学习到辨别西瓜好坏的技巧呢,是否能够通过数据及统计的方法使计算机发生学习呢?
要解决这个问题,我们首先为机器收集“经验”——数据集(data set)。一个数据集是许多样本的集合,每一个样本具有各种属性和特征。比如,对于西瓜这个抽象类来说,它具有“色泽”,“根蒂”,“敲声”三个属性。如果把这三个属性看作是坐标轴,它们将撑开一个三维空间。每个西瓜在不同属性上有各自的取值,若将其映射成一个向量,则每个西瓜会落在这个三维空间的一个点上。这个由属性张成的空间称为样本空间(sample space)。若给定一个如下的数据集:
通过观察这个简单的由四个西瓜组成的数据集,我们可能会产生如下假设:
1.敲声=浊响的西瓜是好瓜
2.根蒂=蜷缩的西瓜是好瓜
3.敲声=浊响并且根蒂=蜷缩的西瓜是好瓜
这是我们人为逻辑推理得到的假设,这些假设就是机器学习需要学到的“模型”(model)。
可是如果让机器去学习到这些假设该怎么做呢?
最基本的想法是为机器提供所有的假设,对每一个假设进行验证,一旦发现同某一条假设不符合的数据即剔除该假设。在上面西瓜的例子里面,假定“色泽”,“根蒂”,“敲声”分别有3、2、2种可能取值;同时还要考虑到属性可以取任意值,如:无论色泽如何,根蒂=蜷缩并且敲声=浊响的瓜均是好瓜。所以每一个属性除了拥有具单一含义的取值之外,还拥有*(任意值)的取值。因此,上述问题一共会产生4*3*3=36种假设。这所有的假设的集合被称为假设空间。西瓜问题的假设空间如图所示:
对于这个假设空间来说,机器要做的就是搜索。对于那些与正例不一致的假设或者与反例一致的假设予以删除。最后余下的假设是同训练集(用于学习的数据)一致的假设集合,这个集合被称作版本空间(version space)。而从这个版本空间中选取我们采纳的假设也是很有学问的一件事,也许会另外写个文章介绍一下。
相关文章推荐
- 一个例子说明机器学习在做什么
- 用一个例子说明什么是多态
- session.flush方法到底干了一些什么事情,举一个具体的例子说明
- 数据结构和算法到底有什么用?一个例子说明。
- 以一个最简单的例子把OO的JavaScript说明白
- 在进行嵌入式开发之前,首先要建立一个交叉编译环境,这是一套编译器、连接器和libc库等组成的开发环境。文章通过一个具体的例子说明了这些嵌入式交叉编译开发工具的制作过程。 随着消费类电子产品的大量开发和应用和Linux操作系统的不断健壮和强大,嵌入式系统越来
- 一个最简单的例子,清楚说明回调函数的作用和强大功能
- 一个小故事来说明什么是ERP(转)
- NSIS的学习笔记2---一个简单的例子,主要说明NSIS的结构
- spring中实现rmi的一个例子及说明
- Flex中的Timer类的一个例子和一些说明
- 以一个最简单的例子把OO的JavaScript说明白
- 以一个最简单的例子把OO的JavaScript说明白
- 以一个最简单的例子把OO的JavaScript说明白
- 一个最简单的例子,清楚说明回调函数的作用和强大功能
- ERP是什么(例子说明)^^^^
- 一个公司经常招人,说明了什么?(提醒找工作的人们注意了)
- 举一个简单例子来说明:如何在JSP中使用JavaBean
- 用一个例子说明VBS语法
- 一个从三十多岁开始步入软件行业的人的成功将说明什么