早就听说西瓜书的大名,也是和它见上面了
第1章 绪论
1.1 引言
机器学习是一门致力于研究如何通过计算的手段,利用经验来改善系统自身的性能的学科。
经验 通常以 数据 形式存在,因此机器学习所研究的主要内容,是关于在计算机上从数据中产生 模型 的算法,即 学习算法 。
面对新的情况时,模型会给我们提供相应的判断。
往后的学习中用“模型”泛指从数据中学得的结果。(也有“模型”指全局性结果,“模式”指局部性结果的用法)
1.2 基本术语
用封面的西瓜举例:
(色泽=青绿;根蒂=蜷缩;敲声=浊响),
(色泽=乌黑;根蒂=微蜷;敲声=沉闷),
(色泽=浅白;根蒂=硬挺;敲声=清脆),
....
每对括号内称为一条记录。
- 数据集(data set):一组记录的集合。
- 示例(instance)/ 样本(sample):关于一个事件或对象的描述的记录。
一个示例也称为一个特征向量。
有时整个数据集亦称一个“样本”(可将它看作对样本空间的一个采样)。 - 属性(attribute)/ 特征(feature):反映时间或对象在某方面的表现或性质的事项。
- 属性值(attribute value):属性上的取值。
- 属性空间(attribute space)/ 样本空间(sample space)/ 输入空间:属性张成的空间。
令 $ D={ x_{1} , x_{2} , ... , x_{m} } $ 表示包含\(m\)个示例的数据集,每个示例由\(d\)个属性描述,则每个示例 $ x_{i} = (x_{i1};x_{i2};...;x_{id}) $ 是\(d\)维样本空间 \(χ\) 中的一个向量, $ x_{i} ∈ χ $ ,其中\(x_{ij}\)是\(x_{i}\)在第\(j\)个属性上的取值,\(d\)称为样本\(x_{i}\)的“维数”。
- 学习(learning)/ 训练(training):从数据中学得模型的过程。该过程通过执行某个学习算法来完成。
- 训练数据(training data):训练过程中使用的数据。
- 训练样本(training sample)/ 训练示例(training instance)/ 训练例 :训练数据中的样本。
- 训练集(training set):训练样本组成的集合。
- 假设(hypothesis):学得模型对应了关于数据的某种潜在的规律。
- 真相/ 真实(ground-truth):潜在规律自身。
模型也可以成为“学习器”(learner),可看作学习算法在给定数据和参数空间上的实例化。
要建立关于“预测”的模型,仅仅有前面的示例数据是不够的。我们需获得训练样本的“结果”信息。如:
((色泽=青绿;根蒂=蜷缩;敲声=浊响), 好瓜)
其中,“好瓜”为这条示例的标记。
- 标记(label):示例结果的信息。
- 样例(example):拥有标记信息的示例。
若将标记看作对象本身的一部分,样例有时也称为“样本”。
一般的,预测任务是希望通过对训练集$ { (x_{1},y_{1}),(x_{2},y_{2}),...,(x_{m},y_{m}) } \(进行学习,建立一个从输入空间\)χ\(到输出空间\)γ\(的映射\)f:χ→γ$。
用$ (x_{i},y_{i}) \(表示第\)i\(个样例,其中\) y_{i} ∈ γ \([^1]是示例\)x_{i}\(的标记,\)γ$是所有标记的集合,亦称“标记空间”(label space)或“输出空间”。
- 分类(classification)学习任务:预测离散值。
-
二分类任务(binary classification):只涉及两个类别。
一个类为“正类”(positive class),另一个类为“反类”/“负类”(negative class)。
通常令 \(γ = \{ -1,+1\}\)或\(\{ 0,1\}\); -
多分类任务(multi-class classification):涉及多个类别。$|γ| > 2 $。
-
- 回归(regression)学习任务:预测连续值。$γ = \R \(,\)\R$为实数集。
学得模型后,我们应使用其进行预测。
-
测试(testing):使用学得模型进行预测的过程。
-
测试样本(testing sample)/ 测试示例(testing instance)/ 测试例:被预测的样本。
例如,在学得\(f\)后,对测试例\(x\),可得到其预测标记\(y=f(x)\)。 -
聚类(clustering):将训练的数据分成若干组,每组称为一个“簇”。簇可能对应一些潜在的概念划分。(概念是事先不知道的,且学习过程中使用的训练样本通常不拥有标记信息,否则标记信息直接形成了簇划分)
根据训练数据是否拥有标记信息,学习任务可大致分为:
- 监督学习(supervised learning):如分类和回归。
- 无监督学习(unsupervised learning):如聚类。
通常希望学得的模型能很好地适用于“新样本”,而不是仅仅在训练样本上工作得很好。
- 泛化(generalization)能力:学得模型适用于新样本的能力。
通常假设样本空间中全体样本服从一个未知“分布”(distribution)\(D\),我们获得的每个样本都是独立地从这个分布上采样获得的,即“独立同分布”(简称\(i.i.d\))。
一般而言,训练样本越多,我们得到的关于\(D\)的信息越多,这样就越有可能通过学习获得具有强泛化能力的模型。
1.3 假设空间
归纳与演绎是科学推理的两大基本手段。
- 归纳(induction):从特殊到一般的“泛化”(generalization)过程,即从具体的事实归结出一般性规律。
- 演绎(deduction):从一般到特殊的“特化”(specialization)过程,即从基础原理推演出具体状况。
“从样例中学习”是一个归纳的过程,所以也被叫做“归纳学习”。
广义的归纳学习大体相当于从样例中学习;
狭义的归纳学习则要求从训练数据中学得概念(concept),因此也称“概念学习”或“概念形成”。
概念学习中最基本的是布尔概念学习。
“记住”训练样本,即“机械学习”,亦称“死记硬背式学习”。
可以把学习过程看作一个在所有假设组成的空间中进行搜索的过程,搜索目标是找到与训练集“匹配”(fit)的假设。假设的表示一旦确定,假设空间及其规模大小就确定下来了。
例如,西瓜例子中的假设空间有由形如“(色泽=?)∧(根蒂=?)∧(敲声=?)”的可能取值所形成的假设组成。
若有可任意取值的属性,则使用通配符“*”。此外,还有概念不成立的情况,我们用 ∅ 来表示这种假设。
现实问题中常会面临很大的假设空间,但学习过程是基于有限样本训练集进行的,因此,可能有多个假设与训练集一致,即存在着一个与训练集一致的“假设集合”,称为“版本空间”(version space)。
1.4 归纳偏好
- 归纳偏好(inductive bias):机器学习算法在学习过程中对某种类型假设的偏好。简称为“偏好”。
任何一个有效的机器学习算法必有其归纳偏好,否则将无法产生确定的学习结果。算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能。
奥卡姆剃刀(Occam's razor),即“若有多个假设与观察一致,则选最简单的那个”,是一个一般性的、引导算法确立“正确的”偏好的原则。但它也不是唯一可行的原则,某些问题还需借助其他机制才能解决。
如“没有免费的午餐”定理,简称NFL定理,即“对于任何两个学习算法,它们的期望性能是相同的。”。其前提是:所有问题出现的机会相同、或所有问题同等重要。
1.5 发展历程
历史时间 | 人工智能所处时期 | 理论 | 代表性工作 |
---|---|---|---|
1950-1970初 | 推理期 | 只要能赋予机器逻辑推理能力,机器就能具有智能 | “逻辑理论家”、“通用问题求解”程序 |
1970中期 | 知识期 | 要使机器具有智能,就必须设法使机器拥有知识 | 专家系统、“知识工程” |
1980 | 学习期 | 机器自己能够学习知识 | 决策树学习、“归纳逻辑程序设计”ILP |
1.6 应用现状
机器学习技术广泛运用于计算机科学的诸多分支学科领域中,如多媒体、图形学、网络通信、软件工程、体系结构、芯片设计等。
机器学习技术也为许多交叉学科提供了重要的技术支撑,如生物信息学等。机器学习已与普通人的生活密切相关,甚至影响到人类社会政治生活,同时也具有一定的自然科学探索色彩。