关于机器学习的一些基本概念的整理

1.前言


1.机器学习是一门致力于研究如何通过计算的手段,利用经验来改善系统自身的性能的学科。1997年Mitchell给出一个更形式化的定义,假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E在T中任务上获得了性能改善,则我们就说关于T和P,该程序对E进行了学习。

* 机器学习所研究的主要内容,是关于在计算机上从数据中产生“模型”的算法,即学习算法(learning
algorithm)。“数据”即是现实生活中的“经验”。
*
关于产生的模型(model),可以泛指从数据中学得的结果。但也有不同说法。Hand在2001年发表的一篇文献中就提到,模型是全局结果(例如一颗决策树),模式指的是局部性结果(例如一条规则)。
2. 基本术语

引例,假设搜集到一些关于西瓜的数据(色泽 = 青绿;根蒂 = 蜷缩;敲声 = 浊响),(色泽 = 乌黑;根蒂 = 稍蜷;敲声 = 沉闷),(色泽 =
浅白;根蒂 = 硬挺;敲声 = 清脆),......

上述引例中,每对括号内是关于西瓜的(也可是任何一个事件或者对象的)一条记录,则有:

数据集 (data set): 一组记录的集合

示例/样本(instance/sample):上述都每一条记录,均可称为示例/样本

属性/特征(attribute/feature):反映事件或者对象在某方面的表现或者性质的事项。例如上述色泽,根蒂,敲声

属性值(attribute value): 属性上的取值,例如青绿,乌黑,等等

特征向量(feature vector): 属性空间上每一个点相对原点构成的坐标向量

样本维数(sample dimensionality): 每一个样本(示例)所包含的不同属性的数量

学习/训练(learning/training) : 从数据中学得模型的过程

训练数据(training data): 训练过程中使用的数据

训练样本(training sample): 训练数据中的样本

训练集(training set): 训练样本的集合

假设(hypothesis): 值得是学得模型。因为这个模型对应了关于数据的某种潜在规律

真相/真实(ground-truth): 潜在规律本身

标记(label): 训练样本的结果信息

样例(example): 拥有了标记信息的示例。一般的,用(\(x_i,y_i\))来表示第i个样例。其中\(y_i\)是示例\(x_i\)的标记

标记空间/输出集合(label space): 所有标记的集合

属性空间/样本空间/输入空间(attribute/sample space):
属性张成的空间。例如,如果把色泽,根蒂,敲声作为三个坐标轴,则他们张成一个用于描述西瓜的三维空间,每个西瓜都可以找到自己的位置。

分类(classification): 在关于利用训练集学得的预测模型中,预测值是离散值。这样的学习任务称为分类

回归(regression): 与分类相似,只是预测值是连续值

\({\color{red}
补充一句:(预测的任务是希望通过对训练集{(x_1,y_1),(x_2,y_2),...}进行学习,建立一个从输入空间到输出空间的映射关系)}\)

二分类任务(binary classification): 预测结果只有两个类别。通常将其中的一个称为正类(positive
class),另一个称为反类(negative class)。而涉及多个,类别则称为多分类(multi-class)任务

测试(testing): 学得模型以后,使用其进行预测的过程

测试样本(testing sample): 被预测的样本,例如,在学得\(\mathit{f}\) 以后,对测试例\(x_i\) 可得到其预测标记
\(y=f(x_i)\)

聚类(clustering):
将训练集中的示例分成若干组,每组称为一个簇(cluster)。这些自动形成的簇可能对应一些潜在的概念划分,例如本例中的西瓜可以分成浅色瓜,深色瓜...在聚类学习中,这些浅色瓜,深色瓜的概念事先是不知道的,而且学习过程中使用的训练样本通常也没有标记信息

​ 学习任务大致可以划分成两类:

(1)监督学习(supervised learning):训练数据带有标记,例如分类与分归

(2)无监督学习(unsupervised learning):训练数据不带有标记,例如聚类

泛化能力: 学得模型适用于新样本的能力

(目前机器学习仍然假设样本空间的全体样本满足独立同分布假设,因此经典概率论得以适用)

3.假设空间


前言:归纳(induction)和假设(deduction)是科学推理的两大基本手段。前者是从特殊到一般的泛化(generalization),即从具体的事实归结出一般性规律;后者则是从一般到特殊的特化(specialization)过程,即从基础原理推演出具体状况。
在机器学习中,“从样例中学习”显然是一个归纳过程。因此,又被称为归纳学习(inductive learning)

广义的归纳学习:相当于从样例中学习

狭义的归纳学习:从训练数据中学得概念(concept)。因此也称为“概念学习”或者“概念形成” .概念学习中最基本的是布尔概念学习,即是或者不是的结果表述

假设空间(hypothesis space): 所有假设组成的空间


我们可以将学习的过程看作一个在所有假设组成的空间中进行搜索的过程,搜索目标是找到与训练集匹配的假设,即能够将训练集中的样本判断正确的假设,假设的表示一旦确定,假设空间及其规模大小就确定了。

​ 可以有许多策略对假设空间进行搜索,搜索过程中可以不断删除与正例不一致的假设,或者与反例一致的假设。最终将会获得与训练集一致的假设,就这是学得的结果。

版本空间(version
space):现实生活中,我们常常面临很大的假设空间,但是学习的过程是基于有限的样本训练集进行的,因此,可能有多个假设与训练集一致,即存在一个与训练集一致的假设集合,这个假设集合就是版本空间

4.归纳偏好

​ 归纳偏好(inductive
bias):机器学习算法在学习过程中对某种类型假设的偏好。偏好要起作用,是发生在形成版本空间的时候。而学习算法又必须产生一个模型。这样,偏好会起作用

\({\color{red}任何一个有效的机器学习算法都必有其偏好,否则它将被假设空间中看似在训练集上等效的假设所迷惑,而无法产生正确的学习结果}\)
对于归纳偏好的看法: 归纳偏好可以看作学习算法自身在一个可能很庞大的假设空间中对假设进行选择的启发式或价值观。有一个一般性的原则来引导算法确立正确的偏好,即

奥卡姆剃刀(Occam's razor):若有多个假设与观察一致,则选择最简单的那个。\({\color{red}然而奥卡姆原则并非唯一可用原则}\)


事实上,归纳偏好对应了学习算法本身所做出的关于"什么样的模型更好的假设"。在具体的现实问题中,这个假设是否成立,即算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能。

​ 假设学习算法\(\zeta_a\) 是基于某种归纳偏好产生的模型,学习算法\(\zeta_b\)是基于另一种归纳偏好产生的模型。对于学习算法
\(\zeta_a\)若它在某些问题上比学习算法\(\zeta_b\)好,则必然存在一个问题,\(\zeta_a\)比\(\zeta_b\)
好在哪里?根据NFL定理,无论两种算法怎样产生,两者出错概论的期望是相同的(但是NFL定理前提是,所有问题出现的机会相同,或者所有问题同等重要,但是实际情形我们只需要关注我们目前试图解决的问题即可,因此
\(\zeta_a\)与$ \zeta_b$
还是有区别的。NFL定理其实是想说明,脱离具体问题讨论学习算法好坏是无意义的。学习算法自身的归纳偏好与问题是否匹配,往往起到决定性作用。)