正在加载图片...
1 绪论 寻找数据中模式的问题是一个基本的问题,有着很长的很成功的历史。例如,16世纪Tycho Brahe的大量的观测使得Johannes Kepler发现行星运行的经验性规律,这反过来给经典力学的发 展提供了跳板。类似地,原子光谱的规律的发现在20世纪初期对于量子力学的发展和证明有着 重要的作用。模式识别领域关注的是利用计算机算法自动发现数据中的规律,以及使用这些规 律采取将数据分类等行动。 考虑手写数字识别的例子,如图1.1所示。每个数字对应一个28×28像素的图像,因此可以 表示为一个由784个实数组成的向量x。目标是建立一个机器,能够以这样的向量x作为输入, 以数字0到9为输出。这不是一个简单的问题,因为手写体变化多端。这个问题可以使用人工编 写的规则解决,或者依据笔画的形状启发式地区分数字,但是实际中这样的方法导致了规则数 量的激增,以及不符合规则的例外等等,并且始终给出较差的结果。 使用机器学习的方法可以得到好得多的结果。这个方法中,一个由N个数字{x1,·,cN}组 成的大的集合被叫做训练集(training set),用来调节模型的参数。训练集中数字的类别实现已 知,通常是被独立考察、人工标注的。我们可以使用目标向量(target vector)t来表示数字的类 别,它代表对应数字的标签。使用向量来表示类别的合适的技术将在后面讨论。注意对于每个 数字图像x只有一个目标向量t。 运行机器学习算法的结果可以被表示为一个函数y(x),它以一个新的数字的图像x为输入, 产生向量y,与目标向量的形式相同。函数y(x)的精确形式在训练(女aining))阶段被确定,这 个阶段也被称为学习(learning)阶段,以训练数据为基础。一旦模型被训练出来,它就能确定 新的数字的图像集合中图像的标签。这些新的数字的图像集合组成了测试集(test set)。正确 分类与训练集不同的新样本的能力叫做泛化(generalization)。在实际应用中,输入向量的变 化性是相当大的,以至于训练数据只所有可能的输入向量中相当小得一部分,所以泛化是模式 识别的一个中心问题。 对于大部分实际应用,原始输入向量通常被预处理(pre-processed),变换到新的变量空 间。人们期望在新的变量空间中模式识别问题可以更容易地被解决。例如,在数字识别的问题 中,数字的图像通常被转化缩放,使得每个数字能够被包含到一个固定大小的盒子中。这极大 地减少了每个数字类别的变化性,因为现在所有数字的位置和大小现在相同,这使得后续的 区分不同类别的模式识别算法变得更加容易。这个预处理阶段有时被叫做特征抽取(feature extraction)。注意新的测试集必须使用与训练集相同的方法进行预处理。 为了加快计算速度,也可能进行预处理。例如,如果目标是高清视频中得实时人脸检测,计 算机每秒钟必须处理大量的像素。将这些像素直接传递给一个复杂的模式识别算法在计算上是 不可行的。相反,目标是找到可以快速计算的有用的特征,这些特征还能够保存有用的判别信 息使得人脸和非人脸可以被区分开。这些特征之后被用作模式识别算法的输入。例如,一个矩 形小区域内图像灰度的平均值可以被快速计算(Viola and Jones,2014),并且一组这样的特征 被证明在快速人脸检测中很有效。由于这样的特征的数量小于像素的数量,因此这种预处理代 表了一种形式的维数降低。必须注意,由于在预处理阶段信息通常被遗弃,因此如果信息对于 问题的解决很重要的话,系统整体的精度会下降。 训练数据的样本包含输入向量以及对应的目标向量的应用叫做有监督学习(supervised learning)问题。数字识别就是这个问题的一个例子,它的目标是给每个输入向量分配到有限数 图1.1:来自美国邮政编码的手写数字的例子1 绪论 寻找数据中模式的问题是⼀个基本的问题,有着很长的很成功的历史。例如,16世纪Tycho Brahe的⼤量的观测使得Johannes Kepler发现⾏星运⾏的经验性规律,这反过来给经典⼒学的发 展提供了跳板。类似地,原⼦光谱的规律的发现在20世纪初期对于量⼦⼒学的发展和证明有着 重要的作⽤。模式识别领域关注的是利⽤计算机算法⾃动发现数据中的规律,以及使⽤这些规 律采取将数据分类等⾏动。 考虑⼿写数字识别的例⼦,如图1.1所⽰。每个数字对应⼀个28 × 28像素的图像,因此可以 表⽰为⼀个由784个实数组成的向量x。⽬标是建⽴⼀个机器,能够以这样的向量x作为输⼊, 以数字0到9为输出。这不是⼀个简单的问题,因为⼿写体变化多端。这个问题可以使⽤⼈⼯编 写的规则解决,或者依据笔画的形状启发式地区分数字,但是实际中这样的⽅法导致了规则数 量的激增,以及不符合规则的例外等等,并且始终给出较差的结果。 使⽤机器学习的⽅法可以得到好得多的结果。这个⽅法中,⼀个由N个数字{x1, …, xN }组 成的⼤的集合被叫做训练集(training set),⽤来调节模型的参数。训练集中数字的类别实现已 知,通常是被独⽴考察、⼈⼯标注的。我们可以使⽤⽬标向量(target vector)t来表⽰数字的类 别,它代表对应数字的标签。使⽤向量来表⽰类别的合适的技术将在后⾯讨论。注意对于每个 数字图像x只有⼀个⽬标向量t。 运⾏机器学习算法的结果可以被表⽰为⼀个函数y(x),它以⼀个新的数字的图像x为输⼊, 产⽣向量y,与⽬标向量的形式相同。函数y(x)的精确形式在训练(training)阶段被确定,这 个阶段也被称为学习(learning)阶段,以训练数据为基础。⼀旦模型被训练出来,它就能确定 新的数字的图像集合中图像的标签。这些新的数字的图像集合组成了测试集(test set)。正确 分类与训练集不同的新样本的能⼒叫做泛化(generalization)。在实际应⽤中,输⼊向量的变 化性是相当⼤的,以⾄于训练数据只所有可能的输⼊向量中相当⼩得⼀部分,所以泛化是模式 识别的⼀个中⼼问题。 对于⼤部分实际应⽤,原始输⼊向量通常被预处理(pre-processed),变换到新的变量空 间。⼈们期望在新的变量空间中模式识别问题可以更容易地被解决。例如,在数字识别的问题 中,数字的图像通常被转化缩放,使得每个数字能够被包含到⼀个固定⼤⼩的盒⼦中。这极⼤ 地减少了每个数字类别的变化性,因为现在所有数字的位置和⼤⼩现在相同,这使得后续的 区分不同类别的模式识别算法变得更加容易。这个预处理阶段有时被叫做特征抽取(feature extraction)。注意新的测试集必须使⽤与训练集相同的⽅法进⾏预处理。 为了加快计算速度,也可能进⾏预处理。例如,如果⽬标是⾼清视频中得实时⼈脸检测,计 算机每秒钟必须处理⼤量的像素。将这些像素直接传递给⼀个复杂的模式识别算法在计算上是 不可⾏的。相反,⽬标是找到可以快速计算的有⽤的特征,这些特征还能够保存有⽤的判别信 息使得⼈脸和⾮⼈脸可以被区分开。这些特征之后被⽤作模式识别算法的输⼊。例如,⼀个矩 形⼩区域内图像灰度的平均值可以被快速计算(Viola and Jones, 2014),并且⼀组这样的特征 被证明在快速⼈脸检测中很有效。由于这样的特征的数量⼩于像素的数量,因此这种预处理代 表了⼀种形式的维数降低。必须注意,由于在预处理阶段信息通常被遗弃,因此如果信息对于 问题的解决很重要的话,系统整体的精度会下降。 训练数据的样本包含输⼊向量以及对应的⽬标向量的应⽤叫做有监督学习(supervised learning)问题。数字识别就是这个问题的⼀个例⼦,它的⽬标是给每个输⼊向量分配到有限数 图 1.1: 来⾃美国邮政编码的⼿写数字的例⼦ 9
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有