失效链接处理 |
模式识别与机器学习 PDF 下载
本站整理下载:
提取码:a3n1
相关截图:
主要内容:
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
量离散标签中的⼀个,被称为分类(classification)问题。如果要求的输出由⼀个或者多个连续
变量组成,那么这个任务被称为回归(regression)。回归问题的⼀个例⼦是化学药品制造过程
中产量的预测。在这个问题中,输⼊由反应物、温度、压⼒组成。
在其他的模式识别问题中,训练数据由⼀组输⼊向量x组成,没有任何对应的⽬标值。
在这样的⽆监督学习(unsupervised learning)问题中,⽬标可能是发现数据中相似样本的
分组,这被称为聚类(clustering),或者决定输⼊空间中数据的分布,这被称为密度估计
(density estimation),或者把数据从⾼维空间投影到⼆维或者三维空间,为了数据可视化
(visualization)。
最后,反馈学习(reinforcement learning)(Sutton and Barto, 1998)技术关注的问题是在给
定的条件下,找到合适的动作,使得奖励达到最⼤值。这⾥,学习问题没有给定最优输出的⽤
例。这些⽤例必须在⼀系列的实验和错误中被发现。这与有监督学习相反。通常,有⼀个状态
和动作的序列,其中学习算法与环境交互。在许多情况下,当前动作不仅影响直接的奖励,也
对所有后续时刻的奖励有影响。例如,通过使⽤合适的反馈学习技术,⼀个神经⽹络可以学
会backgammon游戏的玩法,并且玩得很好(Tesauro, 1994)。这⾥神经⽹络必须学习把⼀⼤组
位置信息、骰⼦投掷的结果作为输⼊,产⽣⼀个移动的⽅式作为输出。通过让神经⽹络⾃⼰和
⾃⼰玩⼀百万局,这个⽬的就可以达到。⼀个主要的挑战是backgammon游戏会涉及到相当多次
的移动,但是只有在游戏结束的时候才能给出奖励(以胜利的形式)。奖励必须被合理地分配
给所有引起胜利的移动步骤。这些移动中,有些移动很好,其他的移动不是那么好。这是信⽤
分配(credit assignment)问题的⼀个例⼦。反馈学习的⼀个通⽤的特征是探索(exploration)和
利⽤(exploitation)的折中。“探索”是指系统尝试新类型的动作,“利⽤”是指系统使⽤已知能产
⽣较⾼奖励的动作。过分地集中于探索或者利⽤都会产⽣较差的结果。反馈学习继续是机器学
习研究中得⼀个活跃的领域。然⽽,详细讨论反馈学习不在本书的范围内。
虽然这些任务中每⼀个都需要⾃⼰的⼯具和技术,但是在这些任务背后的许多关键思想都是
相通的。本章的主要⽬标是以⼀种相对⾮正式的形式介绍最重要的概念,并且使⽤简单的例⼦
来说明。稍后在本书中,我们将看到同样的思想以更加复杂的模型的形式重新出现,这些模型
能够应⽤于真实世界中模式识别的应⽤中。本章也将介绍将⾃始⾄终在本书中使⽤的三个重要
⼯具:概率论、决策论、信息论。虽然这些东西听起来让⼈感觉害怕,但是实际上它们⾮常直
观。并且,在实际应⽤中,如果想让机器学习技术发挥最⼤作⽤的话,清楚地理解它们是必须
的。
1.1 例⼦:多项式曲线拟合
我们以⼀个简单的回归问题开始。本章中,我们将以这个问题为例,说明许多关键的概念。
假设我们观察到⼀个实值输⼊变量x,我们想使⽤这个观察来预测实值⽬标变量t的值。对于这
个⽬的,⼀个很好的⽅法是考虑⼀个使⽤已知的产⽣⽅式⼈⼯制造出的例⼦,因为这样我们就
知道⽣成数据的精确过程,从⽽能够和我们学习到得模型进⾏⽐较。这个例⼦的数据由函
数sin(2πx)产⽣,⽬标变量带有随机的噪声。详细的描述见附录A。
现在假设给定⼀个训练集。这个训练集由x的N次观测组成,写作x ≡ (x1, …, xN )T,伴随这
对应的t的观测值,记作t ≡ (t1, …, tN )T。图1.2展⽰了由N = 10个数据点组成的图像。图1.2中
的输⼊数据集合x通过选择xn(n = 1, . . . , N)的值来⽣成。这些xn均匀分布在区间[0, 1],⽬标数
据集t的获得⽅式是:⾸先计算函数sin(2πx)的对应的值,然后给每个点增加⼀个⼩的符合⾼斯
分布的随机噪声(⾼斯分布将在1.2.4节讨论),从⽽得到对应的tn的值。通过使⽤这种⽅式产
⽣数据,我们利⽤了许多真实数据集合的⼀个性质,即它们拥有⼀个内在的规律,这个规律是
我们想要学习的,但是独⾃的观察被随机噪声⼲扰。这种噪声可能由⼀个本质上随机的过程产
⽣,例如放射性衰变。但是更典型的情况是由于存在没有被观察到的具有变化性的噪声源。
我们的⽬标是利⽤这个训练集预测对于输⼊变量的新值xb的⽬标变量的值bt。正如我们将要看
到的那样,这涉及到隐式地发现内在的函数sin(2πx)。这本质上是⼀个困难的问题,因为我们不
得不从有限的数据中⽣成。并且观察到得数据被噪声⼲扰,因此对于⼀个给定的xb,合适的bt值
具有不确定性。概率论(在1.2节讨论)提供了⼀个框架,⽤来以精确的数学的形式描述这种不
确定性。决策论(在1.5节讨论)让我们能够根据合适的标准,利⽤这种概率的表⽰,进⾏最优
的预测。
10
|