在数据中搜索模式的问题时一个基本问题,并且有很长的成功历史。例如,16世纪对第谷 普拉赫(Tycho Brahe)的广泛天文观测,让开普勒(Johannes Kepler)发现了行星运动的经验定律,从而为经典力学的发展提供了跳板。同样,原子光谱的发现在20世纪初量子物理学的发展和验证中起到了关键作用。模式识别领域涉及使用计算机算法在数据中心自动发现规划,并利用这些规则采取行动,如将数据分类到不同的类别。
考虑到识别和写入数字的例子,如图1.1所示 。每个数字对应一个28*28像素图像,因此可以用包含784个实数的向量x表示。目标是建立一个机器,它将以这样一个向量x作为输入,并将产生数字0...9输出。由于笔笔迹的多样性,这是 一个不容忽视的问题。它能够使用手动制作的规则或启发式来根据笔画的形状区分数字,但在实践中 ,这种方法会导致规则的扩散和规则的例外的高等,并总是给出糟糕的结果。
采用机器学习方法可以获得更好的结果,其中N个数字的大集合称为训练集,用于调整自适应模型的参数。训练集中数字的类别是事先知道的,通常是通过逐个检查它们并手动标记它们。我们可以用目标向量t来表示一个数字的类别,它表示对应数字的单位。稍后将讨论用向量表示类别的合适技术。注意,每个数字图像x都有一个这样的目标向量。
运行机器学习算法的结果可以表示为一个函数y(x) ,该函数以一个 新的数字图像x作为输入,生成输出向量y,其编码方式与目标向量相同。函数有y(x) 的精确形式是在训练阶段,也成为学习阶段,根据训练数据确定 的。一旦模型被训练,它就可以确定新的数字图像的身份,这杯称为组成的一个测试集。正确分类与训练中使用的不同的新例子的能力被称为泛化。在实际应用中,由于输入向量的可变性,训练数据只能包含所有可能的输入向量中的很小一部分,因此 泛化是模式识别的中心目标。
在大多数实际应用中,通常对原始输入变量进行预处理,将其 转换为新的变量空间,希望在这些空间中,模式识别问题更容易解决。例如,在数字识别问题中,数字的图像通常被翻译和缩放,以便每个数字包含在一个固定大小的框中。这大大降低了每个数字类中的可变性,因为所有数字的位置和规模现在都是相同的,这使得后续的模式识别算法更容易区分不同的类。这个预处理阶段有时也称为特征提取。注意,必须使用与训练数据相同的步骤对新测试数据进行预处理。
为了加快计算速度,也可以执行预处理。例如,如果目标是在高分辨率视频流中进行 实时人脸检测,计算机必须每秒处理大量像素,而将这些像素直接呈现给复杂的模式识别算法在计算上可能是不行的。相反,我们的目标是找到计算快的有用功能,然而这也保留了有用的可歧视性信息,使人脸与非人脸区分开来。然后将这些特征作为模式识别算法的输入。例如,可以非常有效地评估矩形子区域上图像强度的平均值,而这一组这样的特征可以证明在快速人脸检测中非常有效。由于这些特征的数量小于像素数的量,这种预处理代表了一种降维形式。在预处理过程中必须小心,因为通常信息会被丢弃,如果这些信息对问题的解决很重要,那么系统的整体准确性就会收到影响。
训练数据包括输入向量及其相应目标向量的示例的应用程序称为有监督学习问题。例如数字识别的例子,其目的是将每个输入向量分配到有限数量的离散类别中的一个,这种情况称为分类问题。如果期望的输入包含 一个或多个连续变量,则该任务称为回归。回归问题的一个例子是预测化学生产过程中的产率,在这个过程中,反应物的浓度、温度和压力作为输入。
在其他模式识别问题中,训练数据由一组输入向量x组成,没有对应的目标值。这种无监督学习问题的目标可能是在数据中发现一组类似的例子,这被称为聚类,或确定数据在输入空间中的分布,称为密度估计,或者为了可视化的目的,将数据从高维空间投影到二维或三维空间。
最后,强化学习技术关注 的问题是,在给定的情况下,为了使奖励最大化而寻找合适的行动。与有监督学习不同,这里的学习算法没有给出最优输出的例子,而是必须通过试错的过程来发现它们。通常情况下,学习算法会与环境进行一系列的状态和动作交互。在许多情况下,当前动作不仅会影响及时奖励,还会影响所有后续步骤的奖励。例如,通过使用适当的强化学习技术,神经网络可以学习高水平的玩西洋双陆棋。在这里,网络必须学会一个棋盘位置作为输入,联通掷骰子的结果,并产生一个强的移动作为输出。这是通过让网络与自己的副本 进行100万款游戏的对抗实现的。一个主要的挑战是,西洋双陆棋游戏可能包含数十个动作,但只有在游戏的最后,玩家才能获得以胜利形式出现的奖励。然后,奖励必须恰当地归于导致奖励的所有动作,即使有些动作是好的,有些动作是不好的。这是 一个学分分配问题的例子。强化学习的一个普遍的特征是探索和开发之间的权衡。探索是指系统尝试新的 行为类型以了解它们的有效性,而开发是指系统利用已知的行为来获得高的回报。过于专注 探索或开发将产生糟糕的结果。强化学习仍然是机器学习研究的活跃领域。然而,详细的处理不在本书的范围之内 。
绘制N = 10个点的训练数据集,用蓝色圆圈表示,每个圆圈包含对输入变量x和相应的目标变量t的观察。绿色曲线表示用于生成数据的函数 。我们的目标是在不知道绿色曲线的情况下,预测t的值。
尽管每一个任务都需要它自己的工具和技术,但支撑它们的许多关键思想对于所有这些问题都是共同的。本章的主要目标之一是以一种相对非正式的方式介绍这些概念中的几个最重要的概念,并使用 简单的例子来说明它们。在本书的后面,我们将看到这些相同的思想在更复杂的适用于真实世界模式识别应用程序的模型的上下文中再次出现。本章提供了一个自成一体 的介绍,三个重要的工具,将在整个书中使用,即概率论,决策理论,和信息理论。虽然这些听起来可能是令人生畏的主题,但他们实际上很简单,如果要在实际应用中使用机器学习技术取得最佳效果,对它们的清晰理解是至关重要的。