机器学习周志华学习笔记-第1章绪论
1绪论
机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能。
计算机从数据中产生模型的算法称为学习算法。生活中,我们可以基于经验作出预判。而在计算机系统中,利用学习算法,基于数据产生模型,通过模型做出判断。
1.1 机器学习的定义
正如我们根据过去的经验来判断明天的天气,吃货们希望从购买经验中挑选一个好瓜,那能不能让计算机帮助人类来实现这个呢?机器学习正是这样的一门学科,人的“经验”
对应计算机中的“数据”
,让计算机来学习这些经验数据,生成一个算法模型
,在面对新的情况中,计算机便能作出有效的判断,这便是机器学习。
另一本经典教材的作者Mitchell给出了一个形式化的定义,假设:
- P:计算机程序在某任务类T上的性能。
- T:计算机程序希望实现的任务类。
- E:表示经验,即历史的数据集。
若该计算机程序通过利用经验E在任务T上获得了性能P的改善,则称该程序对E进行了学习。
1.2 机器学习的一些基本术语
假设我们收集了一批西瓜的数据,例如:(色泽=青绿;根蒂=蜷缩;敲声=浊响), (色泽=乌黑;根蒂=稍蜷;敲声=沉闷), (色泽=浅自;根蒂=硬挺;敲声=清脆)……每对括号内是一个西瓜的记录,定义:
- 所有记录的集合为:
数据集
。 - 每一条记录为:一个
实例
(instance)或样本
(sample)。 - 例如:色泽或敲声,单个的特点为
特征
(feature)或属性
(attribute)。 - 对于一条记录,如果在坐标轴上表示,每个西瓜都可以用坐标轴中的一个点表示,一个点也是一个向量,例如(青绿,蜷缩,浊响),即每个西瓜为:一个特征向量(feature vector)。
- 一个样本的
特征数
为:维数
(dimensionality),该西瓜的例子维数为3,当维数非常大时,也就是现在说的“维数灾难”
。
在计算机程序学习经验数据生成算法模型的过程中,每一条记录称为一个“训练样本”
,同时在训练好模型后,我们希望使用新的样本来测试模型的效果,则每一个新的样本称为一个“测试样本”
。定义:
- 所有训练样本的集合为:
训练集
(trainning set),[特殊]。 - 所有测试样本的集合为:
测试集
(test set),[一般]。 - 机器学习出来的模型适用于新样本的能力为:泛化能力(generalization),即从特殊到一般。
在西瓜的例子中,我们是想计算机通过学习西瓜的特征数据,训练出一个决策模型,来判断一个新的西瓜是否是好瓜。可以得知我们预测的是:西瓜是好是坏,即好瓜与差瓜两种,是离散值。同样地,也有通过历年的人口数据,来预测未来的人口数量,人口数量则是连续值。定义:
- 预测值为离散值的问题为:
分类
(classification)。 - 预测值为连续值的问题为:
回归
(regression)。
在我们预测西瓜是否是好瓜的过程中,很明显对于训练集中的西瓜,我们事先已经知道了该瓜是否是好瓜,学习器通过学习这些好瓜或差瓜的特征,从而总结出规律,即训练集中的西瓜我们都做了标记,称为标记信息。
但也有没有标记信息的情形,例如:我们想将一堆西瓜根据特征分成两个小堆,使得某一堆的西瓜尽可能相似,即都是好瓜或差瓜,对于这种问题,我们事先并不知道西瓜的好坏,样本没有标记信息。定义:
- 训练数据有标记信息的学习任务为:
监督学习
(supervised learning),容易知道上面所描述的分类和回归都是监督学习的范畴。 - 训练数据没有标记信息的学习任务为:
无监督学习
(unsupervised learning),常见的有聚类和关联规则。
1.3 假设空间
- 归纳:从特殊到一般的泛化过程,即从具体的事实归结出一般性规律。
- 演绎:从一般到特殊的特化过程,即从基础原理推演出具体状况。
把学习过程看成在所有假设组成的空间中搜索的过程,目标是找到能够将训练集中所有瓜判断正确的假设,假设的表示一旦成立,假设空间的大小就能确定。
假设色泽,根蒂,敲声分别有3,2,2种可能取值,那么假设空间规模大小为433+1=37(4表示色泽除了可以取3个值中的任意一个,有3种情况,还包含1种无论取哪个值都合适的情况,用通配符*号表示。1表示极端情况:好瓜这个概念根本不成立)
1.4 归纳偏好
- 归纳偏好/偏好:机器学习算法在学习过程中对某种类型假设的偏好
无论学习算法a多聪明,学习算法b多笨拙,它们的期望值相同,这就是NFL(没有免费的午餐)定理,但它的重要前提是所有问题出现的机会相同或者所有问题同等重要在某些问题上表现好的学习算法,在其他问题上可能不尽人意,所以学习算法的归纳偏好与问题是否匹配往往起到决定性作用
1.5 发展历程
推理期、知识期、学习期、从样例中学习(符号主义学习、基于神经网络的连接主义学习)、统计学习、深度学习