为了便于理解,假设我们收集了一批关于西瓜的数据,如(色泽=青绿;根蒂=硬挺;敲声=浊响),(色泽=乌黑;根蒂=稍蜷;敲声=沉闷)……
这组记录的集合成为一个“数据集”(data set),其中每条记录是关于一个事件或对象(这里是一个西瓜)的描述,成为一个“示例”(instance)或“样本”(sample)
反映事件或对象在某方面的表现或性质的事项,例如“色泽”,称为“属性”(attribute)或特征(feature);属性上的取值,例如“青绿”,成为“属性值”(attribute value)。属性张成的空间成为“属性空间”(attribute space)、“样本空间”(sample space)或“输入空间”。
例如我们把“色泽”“根蒂”“敲声”作为三个坐标轴,则它们张成一个用于描述西瓜的三维空间,每个西瓜都可在这个空间中找到自己的坐标位置。由于空间中的每个点对应一个坐标向量,因此我们也把一个示例(样本)称为一个“特征向量”(feature ventor)
从数据中学得模型的过程称为“学习”或“训练”,这个过程通过执行某个学习算法来完成。训练过程中使用的数据称为“训练数据”,其中每个样本称为一个“训练样本”,训练样本组成的集合称为“训练集”。学得模型对应于关于数据的某种潜在的规律,因此亦称“假设”;这种潜在的规律自身,则称为“真相”或“真实”(ground-truth),学习过程就是为了找出或逼近真相。
有时候可以将模型称为“学习器”(learner),可看作学习算法在给定数据和参数空间上的实例化。
如果希望学得一个能帮助我们判断没剖开的是不是“好瓜”的模型,仅有前面的示例数据显然不够。要建立这样的关于“预测”的模型,我们需获得训练样本的“结果”信息,例如“(色泽=青绿;根蒂=蜷缩;敲声=浊响),好瓜”。这里关于示例结果的信息,例如“好瓜”,成为“标记”(label);拥有了标记信息的示例,则称为“样例”(example)。所有标记的集合称为“标记空间”或“输出空间”。
若我们欲预测的是离散值,例如“好瓜”“坏瓜”,此类学习任务称为“分类”(classification);若欲预测的是连续值,例如西瓜成熟度0.95/0.27,此类学习任务称为“回归”(regression)。对只涉及两个类别的“二分类”(binary classification)任务,通常称其中一个类为“正类”(positive class),另一个类为“反类”;涉及多个类别时,则成为“多分类”(multi-class classification)任务。
一般的,预测任务是希望通过对训练集进行学习,建立一个从输入空间到输出空间的映射。
学得模型后,使用其进行预测的过程称为“测试”,被预测的样本称为“测试样本”
我们还可以对西瓜做“聚类”(clustering),即将训练集中的西瓜分成若干组,每组成为一个“簇”(cluster);这些自动形成的簇可能对应一些潜在的概念划分,例如“浅色瓜”“深色瓜”,甚至“本地瓜”、“外地瓜”。这样的学习过程有助于我们了解数据内在的规律,能为更深入地分析数据建立基础。需说明的是,在聚类学习中,“浅色瓜”“本地瓜”这样的概念我们事先是不知道的,而且学习过程中使用的训练样本通常不拥有标记信息。
根据训练数据是否拥有标记信息,学习任务可大致划分为两大类:监督学习和无监督学习,分类和回归是前者的代表,而聚类则是后者的代表。
机器学习的目标是使学得的模型能很好地适用于“新样本”,而不是仅仅在训练样本上工作得很好;即便对聚类这样的无监督学习任务,我们也希望学得的簇划分能适用于没有在训练集中出现的样本。学得模型适用于新样本的能力,称为“泛化”能力。具有强泛化能力的模型能很好地适用于整个样本空间。于是,尽管训练集通常只是样本空间的一个很小的采样,我们仍希望它能很好地反映出样本空间的特性,否则就很难期望在训练集上学得的模型能在整个样本空间上都工作得很好。通常假设样本空间中全体样本服从一个未知“分布”(distribution),我们获得的每个样本都是独立地从这个分布上采样获得的,即“独立同分布”(简称i.i.d)。一般而言,训练样本越多,我们得到的关于分布的信息越多,这样就越有可能通过学习获得具有强泛化能力的模型。
归纳(induction)与演绎(deduction)是科学推理的两大基本手段。前者是从特殊到一般的“泛化”(generalization)过程,即从具体的事实归结出一般性规律;后者则是从一般到特殊的“特化”(specialization)过程,即从基础原理推演出具体状况。“从样例中学习”显然是一个归纳的过程,因此亦称“归纳学习”(inductive learning)
归纳学习有狭义和广义之分,广义的归纳学习大体相当于从样例中学习,而狭义的归纳学习则要求从训练数据中学得概念(concept),因此亦称为“概念学习”或“概念形成”。概念学习技术目前研究、应用都比较少,因为要学得泛化性能好且语义明确的概念实在困难,现实常用的技术大多是产生“黑箱”模型。
概念学习中最基本的是布尔概念学习,即对“是”“不是”这样的可表示为0/1布尔值的目标概念的学习。
我们学习的目的是“泛化”,即通过对训练集中瓜的学习以获得对没见过的瓜进行判断的能力。我们可以把学习过程看作一个在所有假设组成的空间中进行搜索的过程,搜索目标是找到与训练集“匹配”(fit)的假设,即能够将训练集中的瓜判断正确的假设。假设的表示一旦确定,假设空间及其规模大小就确定了。这里我们的假设空间由形如“(色泽=?)^(根蒂=?)^(敲声=?)”的可能取值所形成的的假设组成。可以有许多策略对假设空间进行搜索,搜索过程中可以不断删除与正例不一致的假设、和(或)与反例一致的假设。最终将会获得与训练集一致(即对所有样本能够进行正确判断)的假设,这就是我们学得的结果。
需注意的是,现实问题中我们常面临很大的假设空间,但学习过程是基于有限样本训练集进行的,因此,可能有多个假设与训练集一致,即存在着一个与训练集一致的“假设集合”,我们称之为“版本空间”(version space)
通过学习得到的模型对应了假设空间中的一个假设。有时会有多个与训练集一致的假设,但与它们对应的模型在面临新样本时,会产生不同的输出。对于一个具体的学习算法而言,它必须要产生一个模型。这时,学习算法本身的“偏好”,就会起到关键作用,否则它将被假设空间中看似在训练集上“等效”的假设所迷惑,而无法产生确定的学习结果。机器学习算法在学习过程中对某种类型假设的偏好,称为“归纳偏好”(inductive bias),或简称“偏好”。归纳偏好可以看做学习算法自身在一个可能很庞大的假设空间中对假设进行选择的启发式或“价值观”
有没有一般性的原则来引导算法确立“正确的”偏好呢?——奥卡姆剃刀是一个最基本的原则,即“若有多个假设与观察一直,则选最简单的那个”
无论一个算法多聪明,另一个算法多笨拙,它们的期望性能竟然相同,这就是“没有免费的午餐”定理(简称NFL)——既然所有学习算法的期望性能都跟随机胡猜差不多,那还有什么好学的?
NFL定理有一个重要前提:所有“问题”出现的机会性相同、或所有问题同等重要,事实上,NFL定理假设了f的均匀分布,但实际情况并非如此,很多时候,我们只关注自己正在试图解决的问题,至于这个解决方案在别的问题、甚至在相似的问题上是否为好方案,我们并不关心。
NFL定理最重要的寓意是让我们清楚地认识到,脱离具体问题,空泛地谈论“什么学习算法更好”毫无意义。
网友评论