1.1 引言
机器学习所研究的主要内容,是关于在计算机上从数据中产生“模型”的算法,即“学习算法(learning algorithm)”。有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型;在面对新的情况时,模型会给我们提供相应的判断。如果说,计算机科学是研究关于“算法”的学问,那么类似的,可以说机器学习是研究关于“学习算法”的学问。
本书用“模型”泛指从数据中学得的结果。有文献用“模型”指全局性结果(例如一颗决策树),而用“模式”指局部性结果(例如一条规则)。
1.2 基本术语
从数据中学得模型的过程称为“学习”(learning)或者“训练”(training)。
若我们预测的是离散值,例如“好瓜”“坏瓜”,此类学习任务称为“分类(classification)”;若预测的是连续值,例如西瓜的成熟度0.95、0.37,此类学习任务称为“回归(regression)”. 对只涉及两个类别的“二分类(binary classification)”任务,通常称其中一个类为“正类(positive class)”,另一个类为“反类(negative class)或负类”;涉及多个类别时,则称为“多分类”(multi-class classification)任务。
我们还可以对西瓜做“聚类(clustering)”, 即将训练集中的西瓜分成若干组,每组称为一个“簇(cluster)”;这些自动形成的簇可能对应一些潜在的概念划分,例如“浅色瓜”“深色瓜”,甚至“本地瓜”“外地瓜”。这样的学习过程有助于我们了解数据内在的规律,能为更深入地分析数据建立基础。
根据训练数据是否拥有标记信息,学习任务可大致划分为两大类:“监督学习(supervised learning)”和“无监督学习(unsupervised learning)”. 分类和回归是前者的代表,而聚类则是后者的代表。
学得模型适用于新样本的能力,称为“泛化(generalization)”能力。
1.3 假设空间
归纳(induction)与演绎(deduction)是科学推理的两大基本手段。"从样例中学习"是一个归纳过程,因此亦称“归纳学习(induction learning)”。
广义的归纳学习:大体相当于从样例中学习;狭义的归纳学习:从训练数据中学得概念(concept),因此亦称“概念学习”或“概念形成”.概念学习技术目前研究应用都比较少,因为要学得泛化性能好且语义明确的概念实在太困难了,现实常用的技术大多是产生“黑箱”模型。
概念学习中最基本的是布尔概念学习。
我们可以把学习过程看作一个在所有假设(hypothesis)组成的空间中进行搜索的过程,搜索目标是找到与训练集“匹配(fit)”的假设,即能够将训练集中的瓜判断正确的假设。
可以有许多策略对这个假设空间进行搜索,搜索过程中可以不断删除与正例不一致的假设或(和)与反例一致的假设。最终将会获得与训练集一致(即对所有训练样本能够进行正确判断)的假设,这就是我们学得的结果。
在现实中我们面临着很大的假设空间,但学习过程是基于有限样本训练集进行的,因此,可能有多个假设与训练集一致,即存在着一个与训练集一致的“假设集合”,我们称之为“版本空间(version space)”。
1.4 归纳偏好
机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好(inductive bias)”,或简称为“偏好”。
“奥卡姆剃刀(Occam's razor)”是一种常用的、自然科学研究中最基本的原则,即“若有多个假设与观察一致,则选择最简单的那个”。
学习算法自身的归纳偏好与问题是否相配,往往会起到决定性的作用。