这里涉及到机器学习子领域的分类。所有的分类,首先要问的是为什么这么分?按什么维度进行划分?符合逻辑的分类能帮助人们建立认知架构,不符合逻辑的分类能让人一头雾水。
1、机器学习是人工智能的子领域
人工智能的子领域,沿着历史的发展,有比较显著的特点。大致可分为:
可见“学习”是人工智能的一个大方向,“机器学习”按照 Tom Mitchell 的定义是从经验中自动改进系统性能的程序。经验常以数据的方式呈现,因此实践上机器学习为数据分析提供了主要工具。换句话说,今天对数据进行较为深入的分析,总结出模型的工作,都属于机器学习范畴。
2、机器学习的任务分类
机器学习从数据中总结模型,而数据表示的经验可以包含不同的信息形态,其中的一个关键的信息,是关于模型表现的反馈信息。有的数据中包含了模型应该输出的值,有的数据则完全没有这一类信息,还有的数据中包含的是对模型表现的打分。不同的反馈信息导致我们需要用不同的技术进行处理,因此按照反馈信息的不同,机器学习经典划分为三大类:
可见这一分类,是按照机器学习的任务维度进行划分。当然这样的划分并不具有完全清晰的边界,随着越来越多的交叉领域研究工作的开展,出现很多衍生的方向:
以上所述的机器学习子领域,其实都属于归纳学习,即从样本中归纳规律。由于广泛的适用性,归纳学习成为“默认的机器学习”。然而机器学习中实际还有另一类,演绎学习,通过推理出新的知识进行学习。这一方向由于数据分析大行其道以往不受重视,但近年随着符号 AI 的复兴,也正在成长。
3、机器学习的模型分类
早期机器学习研究,由不同的启发思想产生了不同的模型,包含:
等等,早期的研究多集中在数据量较小、语意层面较高的数据,例如用户购买商品的数据,一个商品 ID 对应了一个商品。而对语意层面较低的数据,例如图像数据,用每一个像素的灰度值表征,识别图像中的人脸需要建立灰度值到人名的联系,跨度巨大;语音数据,用波形表征,识别一个词需要建立一连串的声波强度到词语的联系,跨度巨大,因此取得的性能有限,且往往需要依赖人工构造的高层特征,例如人脸图像的灰度直方图投影等。
2012 年,某种结构的多层神经网络的模型,结合大量的数据,在语音识别、图像识别上取得性能突破,引起了广泛关注,随后越来越多层的神经网络模型,在海量图像、语音数据上体现的优势愈加显著。为区别传统的模型,使用这一类深层神经网络模型被称为深度学习。
其特点在于,不同于特征工程 + 传统模型,深度模型从低层语意数据直接学习上层任务,即所谓的“端到端”学习,其中自动包含了对数据的表征学习。反过来,包含表征学习的模型,通常也需要进行多层次的处理,也都可称为深度学习。除了深度神经网络外,也有深度森林等非神经网络模型。
机器学习的任务与模型是可以组合的,即有非深度 / 深度监督学习、非深度 / 深度强化学习、非深度 / 深度无监督学习,等等。