读西瓜书笔记(一)绪论
(一)什么是机器学习
机器学习致力于研究如何通过计算的手段,利用经验来改善自身的性能。
机器学习所研究的主要内容,是关于在计算机上从数据中产生“模型”的算法,即“学习算法”,有了学习算法,我们把经验数据提供给学习算法,它就能基于这些数据产生模型,在面对新的情况时,模型就会给出相应的判断。
有文献用“模型”指全局性结果(如一颗决策树),而用“模式”指局部性结果
通俗的理解机器学习(买西瓜)
要通俗理解机器学习,可以用根据书上给的一个很好的例子,首先经验是我们人经常用的东西,但是机器没有这个概念,机器只能处理数据,所有这里所说的经验大多情况下都是指数据,而我们日常生活中去菜市场或者超市买瓜,判断一个瓜好不好,我们会去看瓜的很多特征,比如颜色,响声,根蒂等,这些都是西瓜的特征,而每一个特征都有一个值,就是特征的值(不能叫做特征值,因为特征值在线性代数中有专门的意思)。我们人可以根据这些特征的值来大致的判断这个瓜是不是个好瓜(或者说甜还是不甜),机器同样也可以。
一般家庭里要买西瓜都不会让爸爸去买,都是妈妈去买西瓜,或者说是妈妈挑一个好瓜,爸爸提回家。为什么?因为妈妈买过很多瓜,有经验。经验是什么?妈妈买过很多次瓜。这一点对于机器学习而言,经验就是数据。那为什么妈妈经验多就比爸爸经验少更容易买到好瓜呢?不都是在那么多瓜中选一个吗?按照概率来说,爸爸和妈妈买到的好瓜的概率都是一样的呀!其实不然,妈妈在每一次买瓜的时候都会总结经验,而这个总结经验的过程就是学习的过程,很显然机器学习中的学习算法就是在做这个总结经验的过程。妈妈第一次买瓜会根据某个西瓜的特征判断是不是一个好瓜,如果妈妈觉得这是一个好瓜就会买回家,但它是不是一个好瓜,我们一家人吃了便知道,然后妈妈得到答案,是好瓜说明当时的判断是有道理的,如果不是好瓜,妈妈下次买瓜的时候酒要改变自己的判断标准,争取下次买到好瓜。这就是一次学习的过程,机器学习的训练过程,也是根据每一个数据来不断调整,让误差不断减小,争取下次能有更好的结果。而经验多了,妈妈买到好瓜的概率就会越来越大,机器学习也是这样,从数据上中产生模型。
(二)基本术语
1.数据集(date set)
- 数据集:数据集是关于一个事件或者对象的描述的一个集合。
- 示例(instance)/样本(sample):其中对一个事物的描述称为一个“示例(instance)”或者“样本(sample)”。
- 属性(attribute)/特征(feature):反映事件或者对象在某一个方面的“表现”或者“特性”的事项称为属性(attribute)或者特征(feature)
- 属性值(attribute):把属性上的值称为属性值(attribute value)
- 样本空间(sample space):属性值所张成的空间称为属性空间(attribute space)或者样本空间(sample space)或者输入空间
- 维数(dimensionality)d的样本空间:一般的,令D = {X1, X2, X3, ……, Xm}表示包含m个示例(样本)的数据集,每个示例(样本)由d个属性(特征)描述,则每个示例(样本)Xi = (Xi1; Xi2; Xi3; …… ;Xid)(Xi为列向量)是d维样本空间X上的一个向量,其中Xij是Xi在第j个属性(特征)上的取值。d称为样本xi的维数。
2.训练(training),训练数据(training data)训练集(training set),训练样本(training sample)
- 训练:从数据中学得模型得过程称为学习或者训练
- 训练样本:训练中使用得数据称为训练数据,其中每一个样本成称为训练样本
- 训练数据:训练过程中使用的数据称为训练数据
- 训练集:训练样本组成得集合称为训练集
3.假设(hypothesis),真实/真相(ground-truth),学习器(learner)
- 假设(hypothesis): 学的模型对于了关于数据的某种潜在的规律称为假设。
- 真实/真相(ground-truth): 这种潜在规律自身,则称为“真相/真实"。
- 学习器(learner): 学习过程就是为了找出或者逼近真相,本书有时把模型称为学习器。
4.标记/标签(label), 样例(example), 标记空间(label space)
- 标记/标签(label): 训练样本的结果信息称为标记/标签(label)
- 样例(example): 拥有标记/标签的示例(样本)称为样例(example)
- 标记空间(label space): (xi, yi)表示第i个样例(example), 其中yi (- Y是xi的标记(标签),Y是所有标记(标签)的集合,亦称标记空间(label space)。
5.分类(classification)和回归(regression)
- 分类(classification):若我们预测的是离散的值,此类学习任务称为“分类”。在二分类问题中,通常称一个类别是”正类“,另一个类称为”反类“。
- 回归(regression):若我们预测的是连续的值,此类学习任务称为“回归”。
6.聚类(clustering)
- 聚类(cluetering):将训练集中的数据分成若干个组,每一个组称为”簇(cluster)",这些对应的簇可能对应一些潜在的概念划分。这样的学习有助于我们了解数据内在的规律,能为更深入地分析数据建立基础,需要说明地是,在聚类学习中,例如”浅色瓜“,”本地瓜“这样的概念我们是事先不知道地,而且学习过程中使用的训练样本通常不拥有标记信息。
7.有监督学习(supervised learning)和无监督学习(unsupervised learning)
- 有监督学习(supervised learning):训练数据有标记信息。
- 无监督学习(unsupervised learning):训练数据无标记信息。
8.泛化(generalization)能力
- 机器学习的目标:机器学习的目标是使得模型能够更好的适用于”新样本“。
- 泛化(generalization)能力:机器学习的算法学得的模型对新样本的适应能力称为泛化能力。具有强泛化能力的模型能很好的适用于整个样本空间。
9.归纳(induction)与演绎(deduction)
- 归纳(induction): 归纳是从特殊到一般的“泛化”过程,即从具体的事实归结出一般性规律。
- 演绎(deduction): 演绎是从一般到特殊的“特化”过程,即从基础原理推演出具体状况。
- 归纳学习(inductive learning): 归纳和演绎是科学推理的两大基本手段。从“从样例中学习”显然是一个归纳的过程,因此亦称为“归纳学习”。
10.假设空间与归纳偏好(inductive bias)
- 假设空间: 所有假设组成的空间称为假设空间。
- 我们可以把学习过程看作是一个在假设空间中进行搜索的过程,搜索目标是找到与训练集“匹配(fit)”的假设、假设的表示一旦确定,假设空间及其规模大小就确定了。可以看成是大致的模型外观确定了,但是其中的参数的设置并没有确定,这样就存在很多种的参数设置的假设,形成了一个有规模的假设空间。(这句话是我自己的理解,可能有误)
- 一旦形成了假设空间,那么我们有很多种对假设空间搜索的策略,有自顶向下,即从一般到特殊;也有自底向下,即从特殊到一般。搜搜过程中可以不断删除与正例不一致的假设,最终将会获得与训练集一致(即对所有训练样本能够进行正确判断)的假设,这就是我们学习的结果。
- 需要注意的是,现实问题中我们常面临很大的假设空间,但是学习过程是基于有限样本训练集进行的,因此,可能有多个假设与训练集一致,即存在着一个与训练集一致的假设集合,我们称这个集合为版本空间
- 归纳偏好(inductive bias): 机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好(inductive bias)或者简称为"偏好”。归纳偏好可以看作是学习算法自身在一个可能很庞大的假设空间中对假设进行选择的启发式或“价值观”。
- 任何一个有效的机器学习算法都必须有其归纳偏好,否则他将被假设空间中看似在训练上“等效”的假设所“迷惑”。
- 奥卡姆剃刀(Occam'srazor): 奥卡姆剃刀是一种最常用的、自然科学研究中最基本的原则,即若有多个假设与观察一致,则选择最简单的那个,称为奥卡姆剃刀。奥姆斯剃刀不是唯一可行的原则。并且定义最简单往往需要其他的机制才能解决。
11.NFL定理(No Free Lunch Theorem)
- NFL定理: 在所有“问题”出现的机会相同,或所有问题同等重要,那么任意两个学习算法的期望性相同,也就是总误差与学习算法无关。
- 具体问题具体分析: 显示中的问题往往不符合NFL定理的前提,脱离具体问题,学习算法的好坏没有意义学习算法的自身归纳偏好与问题是否相匹配,往往起到决定性作用。