3.1.3 “机器学习”的理论基础
在机器学习发展的过程中,逐渐分划成两条路线,这同时也影响了后来的自动化机器学习。一条路线是以Barlow为主导的单细胞学说,这个理论是说,一开始是从零基础开始的,一个单细胞逐渐发展生长出多个细胞,这也意味着神经细胞的结构可能会很复杂。而另一条路线是Hebb主张的,由多个相互关联的神经细胞集合体作为开始,称其为ensemble,并不断通过改变细胞个数和细胞间的连接来发展神经细胞的结构。虽然这两种假设都有生物学证据的支持,但是至今没有生物学的定论,这也为计算机科学家们提供了想象的空间,也造就了后来机器学习发展过程的不同研究路线,并且这两种假设都对机器学习研究有相当重要的引导作用。
基于这两种假设,机器学习的发展历程被分为了两类,一类是以感知机、BP和SVM等为主导的,另一类是以样条理论、K-近邻、符号机器学习、集群机器学习和流形机器学习等代表的。
本书中的重点——统计机器学习是近几年被广泛应用的机器学习方法。从广义上说,这是一类方法学。当我们从问题世界观测到一些数据,如果没有能力或者没有必要建立严格的物理模型时,可以使用数学方法从这些数据中推理出数学模型。注意,这里的数学模型一般是没有详细的物理解释的,不过会在输入输出的关系中反映实际问题,这就是我们开始提到的“黑箱”原理。一般来说,“黑箱”原理是基于统计方法的,统计机器学习的本质就是“黑箱”原理的延续。因此,统计机器学习主要关注的是数学方法的研究,而神经科学则被列为深度学习领域。
统计机器学习的基本要求是,假设同类数据具有一定的统计规律性。目标则是,从假设的空间中,也就是常说的模型空间,从输入空间到输出空间的映射空间中寻找一个最优的模型。综上,可以总结统计机器学习方法的主要研究问题,可分为如下3个:
1)模型假设:模型假设要解决的问题是如何将数据从输入空间转化到输出空间,通常用后验概率或是映射函数来解决。
2)模型选择:在模型的假设空间中,存在无穷多个满足假设的可选择模型,模型选择要解决的问题就是如何从模型假设空间中选择一个最优模型。通常采用损失函数来指定模型选择策略,将模型选择转化为一个最优化问题来求解。为了降低模型的复杂性,提高模型的泛化能力,避免过拟合的发生,通常会加上正则化项。
3)学习算法:既然已经将模型选择转化为一个最优化问题了,那么最优化问题该如何实现,这就是学习算法要解决的了。比如在给定损失函数后,并且在损失函数的约定条件下,怎样快速地找到最优解,常用的学习算法包括梯度下降等。
统计机器学习的这3个问题都是机器学习发展过程中的研究热点。对于模型假设来说,如果模型选择错误,那么无论如何都难以描述出数据集的正确分布特性。从而,在模型空间假设上,衍生出了很多方法,包括交叉验证等。模型选择的关键问题在于损失函数的设计,损失函数通常包括损失项和正则化项,不同的选择策略会造成不同的模型选择,而模型选择的不同,则会导致预测效果的巨大差异。对于学习算法来说,不同的学习算法,其学习的效率会有很大的差异,而且学习出来的效果也不一样。
统计机器学习是基于对数据的初步认识以及学习目的的分析(特征工程),选择合适的数学模型,拟定超参数,并输入样本数据,依据一定的策略,运用合适的学习算法对模型进行训练,最后运用训练好的模型对数据进行分析预测。具体流程如图3-1所示。
图3-1 统计机器学习的流程图
根据图3-1中的流程和统计机器学习研究的3个主要问题,可以将统计机器学习总结为如下3个要素:
1)模型(model):比如支持向量机、人工神经网络模型等。模型在未进行训练前,其可能的参数是多个甚至无穷的,故可能的模型也是多个甚至无穷的,这些模型构成的集合就是假设空间(hypothesis space)。
2)策略(strategy):即从假设空间中挑选出参数最优的模型的准则。模型的分类或预测结果与实际情况的误差(损失函数)越小,模型就越好。
3)算法(algorithm):即从假设空间中挑选模型的方法(等同于求解最佳的模型参数)。机器学习的参数求解通常都会转化为最优化问题,例如支持向量机实质上就是求解凸二次规划问题。
3.2 机器学习的实现方法
机器学习的核心是“使用算法解析数据,从中学习,然后对世界上的某件事情做出决定或预测”。这意味着,与其显式地编写程序来执行某些任务,不如教计算机如何开发一个算法来完成任务。机器学习主要可以分为3个类型:监督学习、非监督学习和强化学习。我们在这里仅介绍监督学习和非监督学习,强化学习的内容请参考第9章。
监督学习要求数据必须被标记过,计算机可以通过使用特定的模式来识别被标记的样本。监督学习可以分为两种类型:分类和回归。分类,即机器被训练来完成对一组数据进行特定的分类。生活中最常见的一种分类问题是垃圾邮件的分类。机器首先分析以前被用户标记为垃圾邮件的类型、特征等,然后将新邮件与这些曾被标记为垃圾邮件的邮件进行对比,根据设定的匹配度来做决定。假设将匹配度的阈值设为90%,即表示匹配度大于或等于90%的邮件被分类为垃圾邮件,而匹配度小于90%的邮件被认为是正常邮件。回归,即机器根据先前(标记)的数据来预测未来。天气预测是最好的回归例子,根据气象事件的历史数据(平均气温、湿度和降水量)和当前天气的数据,对未来的天气进行预测。
无监督学习,其数据是不需要被标记的,在我们的现实世界中的数据大多数也都是不带标签的,标记数据会浪费大量的人力物力,因此这类算法是非常有用的。无监督学习主要分为聚类和降维。聚类是指,根据数据的特征和行为对象进行分组,这里说的分组与分类算法是不同的,分类算法的组是人为规定的,而聚类算法中的组,则是由计算机自定义的,不是人为规定。聚类,将一组数据划分成不同的子组,如年龄、性别这样的特性,然后再将其应用到特定问题中。降维,则是通过找到数据间的共同点,来减少数据集的变量,减少冗余的发生。降维也是后文将会提到的特征工程中的一个重要方面。
下面我们将逐一介绍机器学习中一些经典问题,分别是分类问题、回归问题和聚类问题。