第一章 绪论
1.1 引言
人类可以对很多未知的事物作出有效的预判,是因为我们已经积累了许多经验,而通过对经验的利用,就能对心的情况作出有效的决策。
同样的预判能力,计算机能够完成吗?
机器学习正是这样一门学科,它致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。机器学习所研究的主要内容就是“学习算法”,“学习算法”就是指计算机通过从数据中产生“模型”的过程。有了学习算法,我们为它提供数据,算法基于数据产生模型。产生的模型就可以完成类似于人类的预判能力。
(本书中的“模型”是指从数据中学习得到的结果)
1.2 基本术语
要进行机器学习,数据是必不可少的。
西瓜数据集:
(色泽=青绿;根蒂=蜷缩;敲声=清脆)、
(色泽=乌黑;根蒂=硬挺;敲声=清脆)、
样本(sample)/示例(instance):每一条记录了一个事件或者对象的数据记录称为一个样本。
数据集(data set):记录数据的集合。此例中,是指包含了所有的西瓜样本的数据。
特征(feature)/属性(attribute):反应事件或对象在某方面的表现或性质。在此数据中,色泽、根蒂、敲声 这三项就是本数据中的特征。
属性值(attribute value):属性值就是指数据中特征的具体描述。例如本数据中的色泽特征下的属性值就是 青绿、乌黑等关于色泽的描述,也就是色泽的取值。
样本空间(sample space):数据中所有特征组成的空间,称为样本空间。本例中的样本空间就是由三个特征值组成的一个三维空间。每一条数据都可以通过三个特征找到自己在样本空间的位置。
特征向量(feature vector):数据集中的每一样本,在样本空间中都会变成一一对应的向量,所以我们也称一个样本为一个特征向量。
分类:预测的结果是离散的。为了把数据区分出不同的种类。例如区分好瓜,坏瓜。
回归:预测的结果是连续的。为了预测数据对应某种特征的程度。例如判断西瓜的成熟度0.85,0.37。
聚类(clustering): 将训练集中的数据分成若干组,每个组可以称为一个“簇”,这些自动形成的簇可能对应一些潜在的概念划分。这些潜在的划分概念我们是不知道的。
监督学习(supervised learning):通过学习已知的数据得到一个模型,该模型可以预测相同数据的对应结果。分类和回归均属于监督学习。
无监督学习(unsupervised learning):为获得潜在的未知的属性值,对数据集进行学习。聚类为无监督学习的代表。
1.3假设空间
归纳:从特殊到一般的“泛化”过程,即从具体的事实归结出一般性的规律。
演绎:从一般到特殊的“特化”过程,即从基础原理推演出具体状况。
机器学习中,大多是完成归纳任务,所以我们可以将训练过程称为“归纳学习”
我们可以把学习过程看作一个在所有假设组成的空间中进行搜索的过程。假设的表示一旦确定,假设空间及其规模大小就确定了。
西瓜例子中的空间假设
西瓜数据集中存在三个特征色泽,根蒂,敲声。每个特征拥有3个可能的属性值。但是有可能某个特征并不会影响好瓜坏瓜的结果。所以一个西瓜的结果最终会由每个特征的某个确定属性值和忽略这个特征来决定。所以每个特征的三个属性值和忽略这个特征就是我们所有假设。下面我们对一个瓜的结果作假设,那么假设空间的大小就是(3+1)*(3+1)*(3+1) = 64。但是有可能好瓜这个概念根本不存在,没有好瓜这个东西。所以要额外添加一个假设。那么最终的假设空间就是 64 + 1 = 65.
1.4 归纳偏好
机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”。算法的偏好可以是选择“尽可能一般”的模型,也可以是选择“尽可能特殊的模型”。
任何一个有效的机器学习算法必有其归纳偏好。
奥卡姆剃刀定律:若有多个假设与观察一致,则选择最简单的哪个。
NFL(没有免费的午餐):要谈论算法的相对优劣,必须要针对具体的学习问题。
第一章习题:转载自大神博客:https://blog.csdn.net/icefire_tyh/article/details/52065224
1.表1.1中若只包含编号为1,4的两个样例,试给出相应的版本空间。
假设空间指的是问题所有假设组成的空间,我们可以把学习过程看作是在假设空间中搜索的过程,搜索目标是寻找与训练集“匹配”的假设。
1
假设数据集有n种属性,第i个属性可能的取值有titi种,加上该属性的泛化取值(*),所以可能的假设有∏i(ti+1)∏i(ti+1)。再用空集表示没有正例,假设空间中一共∏i(ti+1)+1∏i(ti+1)+1种假设。
现实问题中常面临很大的假设空间,我们可以寻找一个与训练集一致的假设集合,称之为版本空间。版本空间从假设空间剔除了与正例不一致和与反例一致的假设,它可以看成是对正例的最大泛化。
版本空间的可以通过搜索假设空间来得到,这样需要遍历完整的假设空间。如果数据集中有正例,则可以先对一个正例进行最大泛化,得到2n2n个假设,然后再对这些假设进行剔除操作,可以适当精简计算量。
西瓜数据集(精简)
编号 色泽 根蒂 敲声 好瓜
1 青绿 蜷缩 浊响 是
2 乌黑 稍蜷 沉闷 否
数据集有3个属性,每个属性2种取值,一共 3∗3∗3+1=283∗3∗3+1=28种假设,分别为
1.色泽=青绿 根蒂=蜷缩 敲声=浊响
2.色泽=青绿 根蒂=蜷缩 敲声=沉闷
3.色泽=青绿 根蒂=稍蜷 敲声=浊响
4.色泽=青绿 根蒂=稍蜷 敲声=沉闷
5.色泽=乌黑 根蒂=蜷缩 敲声=浊响
6.色泽=乌黑 根蒂=蜷缩 敲声=沉闷
7.色泽=乌黑 根蒂=稍蜷 敲声=浊响
8.色泽=乌黑 根蒂=稍蜷 敲声=沉闷
9.色泽=青绿 根蒂=蜷缩 敲声=*
10.色泽=青绿 根蒂=稍蜷 敲声=*
11.色泽=乌黑 根蒂=蜷缩 敲声=*
12.色泽=乌黑 根蒂=稍蜷 敲声=*
13.色泽=青绿 根蒂=* 敲声=浊响
14.色泽=青绿 根蒂=* 敲声=沉闷
15.色泽=乌黑 根蒂=* 敲声=浊响
16.色泽=乌黑 根蒂=* 敲声=沉闷
17.色泽=* 根蒂=蜷缩 敲声=浊响
18.色泽=* 根蒂=蜷缩 敲声=沉闷
19.色泽=* 根蒂=稍蜷 敲声=浊响
20.色泽=* 根蒂=稍蜷 敲声=沉闷
21.色泽=青绿 根蒂=* 敲声=*
22.色泽=乌黑 根蒂=* 敲声=*
23.色泽=* 根蒂=蜷缩 敲声=*
24.色泽=* 根蒂=稍蜷 敲声=*
25.色泽=* 根蒂=* 敲声=浊响
26.色泽=* 根蒂=* 敲声=沉闷
27.色泽=* 根蒂=* 敲声=*
28.空集Ø
编号1的数据可以删除 2−8,10−12,14−16,18−20,22,24,26,282−8,10−12,14−16,18−20,22,24,26,28(不包含数据1)
编号1的数据可以删除 2727(包含了数据2)
所以版本空间为:
1.色泽=青绿 根蒂=蜷缩 敲声=浊响
9.色泽=青绿 根蒂=蜷缩 敲声=*
13.色泽=青绿 根蒂=* 敲声=浊响
17.色泽=* 根蒂=蜷缩 敲声=浊响
21.色泽=青绿 根蒂=* 敲声=*
23.色泽=* 根蒂=蜷缩 敲声=*
25.色泽=* 根蒂=* 敲声=浊响
一般情况下版本空间是正例的泛化,但由于数据集中只有1个正例,所以在版本空间中依然包含了这个样本的假设(假设1)。
2.与使用单个合取式来进行假设表示相比,使用“析合范式”将使得假设空间具有更强的表示能力。若使用最多包含k个合取式的析合范式来表达1.1的西瓜分类问题的假设空间,试估算有多少种可能的假设。
http://blog.csdn.net/icefire_tyh/article/details/52065626
3.若数据包含噪声,则假设空间中可能不存在与所有训练样本都一致的假设。在此情形下,试设计一种归纳偏好用于假设选择
通常认为两个数据的属性越相近,则更倾向于将他们分为同一类。若相同属性出现了两种不同的分类,则认为它属于与他最临近几个数据的属性。也可以考虑同时去掉所有具有相同属性而不同分类的数据,留下的数据就是没误差的数据,但是可能会丢失部分信息。
4.本章1.4节在论述“没有免费的午餐”定理时,默认使用了“分类错误率”作为性能度量来对分类器进行评估。若换用其他性能度量ll,试证明没有免费的午餐”定理仍成立
还是考虑二分类问题,NFL首先要保证真是目标函数f均匀分布,对于有X个样本的二分类问题,显然f共有2X2X种情况。其中一半是与假设一致的,也就 P(f(x)=h(x))=0.5P(f(x)=h(x))=0.5。
此时, ∑fl(h(x),f(x))=0.5∗2X∗(l(h(x)=f(x))+l(h(x)≠f(x)))∑fl(h(x),f(x))=0.5∗2X∗(l(h(x)=f(x))+l(h(x)≠f(x)))
l(h(x)=f(x))+l(h(x)≠f(x))l(h(x)=f(x))+l(h(x)≠f(x))应该是个常数,隐含的条件就该是(一个比较合理的充分条件) l(0,0)=l(1,1),l(1,0)=l(0,1)l(0,0)=l(1,1),l(1,0)=l(0,1)。如果不满足, NFL 应该就不成立了(或者不那么容易证明)。
5.试述机器学习在互联网搜索的哪些环节起什么作用
1.最常见的,消息推送,比如某东经常说某些商品我可能会感兴趣,然而并没有。
2.网站相关度排行,通过点击量,网页内容进行综合分析。
3.图片搜索,现在大部分还是通过标签来搜索,不过基于像素的搜索也总会有的吧。