不过,就目前而言,继续使用当前的方法是具有指导意义的,并且考虑在实际中我们可以如何应用有限规模的数据集也是很有意义的。在这种情况下,我们可能期望建立相对复杂和灵活的模型。在上面案例中经常被用来控制过拟合现象的一个技术是正则化,这涉及到在误差函数(1.2)中添加一个惩罚项以阻止系数达到较大的值。这种惩罚项最简单的形式是所有系数的平方和,得到如下形式的修正误差函数。
其中,与平方和误差相比,系数λ决定了正则化项的重要性。注意到,在正则化器中省略系数w₀,因为它的包含使得结果依赖于目标变量的原点选择(Hastie et al.,2001)。或者它也可以被包含,但是它有它自己的正则化系数。(我们将在章节5.5.1详细讨论这个话题)。同样的,这个误差函数(1.4)可以精确地以封闭形式最小化。这样的技术在统计学文献里被叫做收缩方法。因为这种方法减小了系数的值,二次正则项的一个特殊情况被称为脊回归(Hoerl and Kennard,1970),在神经网络的情形中,这个方法被叫做权值衰减。
图1.7显示了将M=9阶多项式拟合到与之前相同的数据集的结果,但是现在使用了由(1.4)给出的正则化误差函数。我们看到,对于lnλ=-18的值,过拟合已被抑制,并且我们现在得到了一个底层函数sin(2πx)的更接近的表示。然而,如果我们使用了太大的λ值,我们就再一次得到了较差的拟合,正如图1.7lnλ=0所示。拟合多项式对应的系数如表1.2所示。表明正则化在减小系数的值方面产生了预期的效果。
通过绘制训练集和测试集的均方根误差(1.3)与lnλ的关系,可以看出正则化项对泛化误差的影响,如图1.8所示。我们看到,实际上λ现在控制着模型的有效复杂度,因此决定了过拟合的程度。
模型复杂性是一个重要的问题,将在1.3节中详细讨论。这里我们简单地注意到,如果我们试图使用这种最小化误差函数的方法来解决实际应用,我们必须找到一种方法来确定模型复杂性的合适值。上面的结果提出了一种实现这一目标的简单方法,即获取可用数据并将其划分为一个训练集(用于确定系数w)和一个单独的验证集(也称为保留集)(用于优化模型复杂性)(M或λ)。然而,在许多情况下,这将被证明是宝贵的训练数据的浪费,我们必须寻求更先进的方法。
到目前为止,我们对多项式曲线拟合的讨论主要依靠直觉。我们现在通过讨论概率论来寻求一种更有原则的方法来解决模式识别中的问题。除了为本书中几乎所有的后续发展提供基础外,它还将使我们对我们在多项式曲线拟合背景下引入的概念有一些重要的认识,并使我们能够将这些概念扩展到更复杂的情况。
1.2 概率论
模式识别领域的一个关键概念是不确定度。它由测量上的噪声引起,也可以由数据集的有限大小引起。概率论为不确定性的量化和操作提供了一致的框架,并形成了模式识别的核心基础之一。当与1.5节中讨论的决策理论相结合时,它允许我们在给定所有可用信息的情况下做出最佳预测,即使这些信息可能是不完整或模糊的。
我们将通过一个简单的例子来介绍概率论的基本概念。想象我们有两个盒子,一个红的一个蓝的,红盒子里有2个苹果和6个橘子,蓝盒子里有3个苹果和1个橘子。在图1.9中有插图表示。
现在假设我们随机选择一个盒子,从盒子里随机选择一种水果,观察到它是哪种水果之后我们把它放回原来的盒子里。我们可以想象多次重复这个过程。我们假设这样做有40%的概率选择红盒子,60%的概率选择蓝盒子,当我们从盒子中取出一种水果时我们选择盒子中任何一种水果的概率是相等的。
在这个例子中,将被选中的盒子的标识是一个随机变量,我们用B表示。这个随机变量可以取两个可能值中的一个,即r(对应于红框)或b(对应于蓝框)。类似地,水果的标识也是一个随机变量,用F表示。它可以取值a(代表苹果)或o(代表橘子)。首先,我们将一个事件的概率定义为在总试验次数趋于无穷时,该事件发生的次数占总试验次数的比例。因此选中红框的概率是4/10,选中蓝框的概率是6/10。我们把这些概率写成p(B=r)=4/10和p(B=b)=6/10。注意,根据定义,概率必须在区间[0,1]内。此外,如果事件是互斥的,并且如果它们包含所有可能的结果(例如,在本例中,框必须是红色或蓝色),那么我们看到这些事件的概率之和必须为1。我们现在可以问这样的问题:"选择过程中选中一个苹果的总概率是多少?"或者"假设我们选了一个橘子,我们选的是蓝色盒子的概率是多少?"一旦我们掌握了两个基本的概率规则,即求和规则和乘积规则,我们就可以回答诸如此类的问题,以及与模式识别问题相关的更复杂的问题。得到这些规则之后,我们再回到水果箱的例子。
为了推导概率规则,考虑图1.10中所示的更一般的示例,涉及两个随机变量X和Y(例如,可以是上面考虑的Box和Fruit变量)。
我们假设X可以取任意值,其中和Y可以取值,其中j=1,…,L。考虑总共N个试验,其中我们对变量X和Y进行采样,并设和的试验次数为。同样,让X取值(与Y取的值无关)的试验次数用表示,同样地,让Y取值的试验次数用表示。
X取值为, Y取值为的概率写为,称为和的联合概率。它是由落在单元格i,j中的点数除以总点数的分数给出的,因此
这里我们隐式地考虑极限。类似的,不考虑Y的取值,X的值都是的概率写成由第i列的总点数的除以总点数的分数给出,所以
因为图1.10中第i列中的实例数恰好是该列每个单元格中的实例数之和,我们有,因此
这就是概率和法则,注意,有时被称为边际概率,因为它是通过将其他变量(在这个例子中是Y)边缘化或求和得到的。如果我们只考虑那些的实例,那么这种情况下的这些实例的分数写为,被称为给定下,的条件概率。它是通过求第i列中落在第ij单元格中的点的分数得到的,因此由
从(1.5),(1.6)和(1.8)中,我么可以得到下面关系
这就是概率的乘积规则。
到目前为止,我们已经非常小心地区分了随机变量,比如水果例子中的盒子B,和随机变量可以取的值,比如红色盒子中的r。因此,B取r值的概率记为p(B=r)。虽然这有助于避免歧义,但它会导致相当麻烦的符号,并且在许多情况下不需要这样的迂腐。相反,我们可以简单地写p(B)来表示随机变量B上的分布,或者p(r)来表示对特定值r进行评估的分布,只要从上下文中可以清楚地解释。
有了这个更紧凑的符号,我们可以把概率论的两个基本规则写成下面的形式:
这里p(X, Y)是一个联合概率,用"X和Y的概率"来表述"。类似地,量p(Y|X)是一个条件概率,用语言表示为"给定X时Y的概率"。而p(X)是边际概率,就是"X的概率"。这两个简单的规则构成了我们在本书中使用的所有概率机制的基础。
根据乘积定则,结合对称性质p(X,Y)=p(Y,X),我们立即得到条件概率之间的关系式
它被称为贝叶斯定理,在模式识别和机器学习中起着核心作用。利用求和法则,贝叶斯定理中的分母可以用出现在分子中的量来表示。
我们可以把贝叶斯定理中的分母看作是标准化常数,它能保证左手边条件概率的和
(1.12)除以所有Y值等于1。
在图1.11中,我们展示了一个简单的例子,它涉及一个两个变量的联合分布来插图说明边际和条件分布的概念。
这里从联合分布中抽取了一个N = 60个数据点的有限样本,如图左上角所示。在右上角是数据点取两种Y 值的比例的直方图。从概率的定义来看,这些分数在极限N→∞时等于相应的概率p(Y)。我们可以把直方图看成在给定有限数量的数据点的情形下,对概率分布建模的一种简单的方式。从数据中建模分布是统计模式识别的核心,在本书中将会详细介绍。图1.11中的剩余两张图给出了p(X)和p(X|Y=1)相应的直方图估计。
现在让我们回到关于盒装水果的例子。现在,我们将再次明确区分随机变量和它们的例式。我们已经知道选择红框或蓝框的概率由下分别给出。
注意,这些满足。
现在假设我们随机选择一个盒子,结果是蓝色的盒子。那么选中一个苹果的概率就是蓝盒子里苹果的数量的3/4,所以p(F=a|B=b)=3/4。事实上,给定所选的盒子,我们可以写出水果类型的所有四个条件概率。
再次注意,这些概率是归一化的
我们现在可以使用求和和乘积规则来评估选择一个苹果的总体概率。
根据求和法则,
假设我们被告知有一片水果被选中了,而且是橙子,我们想知道它是从哪个盒子里出来的。这要求我们以水果的标识为条件来评估盒子上的概率分布,而式(1.16)-式(1.19)中的概率给出了以盒子的标识为条件的水果上的概率分布。我们可以利用贝叶斯定理来解决条件概率的反转问题。
根据求和规则,
我们可以对贝叶斯定理作如下重要的解释。如果在被告知所选水果的身份之前问我们选择了哪个盒子,那么我们所能得到的最多的信息是概率p(B)。我们称其为先验概率,因为它是在我们观察到水果的种类之前的概率。一旦我们被告知这个水果是橙子,我们就可以用贝叶斯定理来计算概率p(B|F)。我们将称为后置概率,因为它是在我们观察到F之后得到的概率。注意,在这个例子中,选择红色盒子的先验概率是4/10,所以我们更有可能选择蓝色盒子而不是红色盒子。然而,一旦我们观察到选择的水果是橙色,我们发现红色盒子的后验概率现在是2/3,所以现在我们选择的盒子实际上是红色的可能性更大。这个结果与我们的直觉一致,因为红色盒子里橘子的比例比蓝色盒子里高得多,所以观察到水果是橙色的这一事实提供了支持红色盒子的重要证据。事实上,证据足够强大,它超过了先验,使红盒子被选中的可能性比蓝盒子大。
最后,我们注意到,如果两个变量的联合分布被分解成边缘分布的乘积,使得p(X,Y)=p(X)p(Y),那么X和Y就被称为独立的。由乘积法则可知,p(Y|X)=p(Y),因此,给定X的Y的条件分布确实与X的值无关。例如,在我们的水果盒子的例子中,如果每个盒子都含有相同比例的苹果和橙子,那么p(F|B)=p(F),因此,选择苹果的概率与选择哪个盒子无关。
1.2.1 概率密度
除了考虑在离散事件集上定义的概率外,我们还希望考虑关于连续变量的概率。我们将限于进行比较非正式的讨论。如果实值变量x落在区间(x,x+δx)内的概率由δx→0时p(x)δx给出,则p(x)称为x上的概率密度。如图1.12所示。x在(a, b)区间内的概率由下式给出
因为概率是非负的,而且因为x的值必须在实轴上的某处,所以概率密度p(x)必须满足这两个条件
在变量的非线性变化下,由于雅可比因子的存在,概率密度的变换与简单函数不同。例如,我们考虑一个变量x的变化,x=g(y),函数变成了f(y)=f(g(y))