从概率的角度看多项式曲线拟合。
我们要假定:给定的值,对应的值服从高斯分布,分布的均值为:
我们现在使用训练数据{},通过最大似然方法,来决定参数和的值,似然函数为:
对数似然函数为:
通过略去最后两项,因为它们和无关,以及便于数学计算进行数字代换后:
为精度参数。
我们又一次:
首先确定控制均值的参数向量,然后使用这个结果来寻找精度。
已经确定了和,那么我们可以对新的值进行预测。
预测分布通过最大似然参数代入公式给出:
现在我们朝着贝叶斯的方向前进一步,引入在多项式系数上的先验分布:
其中是分布的精度,是对于阶多项式的向量的元素的总数。使用贝叶斯定理,的后验概率正比于先验分布和似然函数的乘积:
因此,给定数据集,我们现在通过寻找最可能的值(即最大化后验概率)来确定,这种技术被称为最大后验,简称MAP。
因此最大化后验概率就是最小化下式:
因此正则化参数就是:
1.2.6贝叶斯曲线拟合
在曲线拟合中,我们知道训练数据和,对于一个新的测试点,我们想预测出,因此我们想估计预测分布:,因此简单的说,贝叶斯分布就是使用概率的加和规则和乘积规则,将概率预测写成以下形式:
其中:
通过解析求解,预测分布的高斯形式为:
其中,均值和方差分别为:
这里矩阵S由下式给出:
其中为单位矩阵。
1.3 模型选择
在许多实际应用中,训练数据和测试数据都是有限的,为了简历更好地模型,我们想尽可能多的可得到的数据进行训练。解决这种困境的方法就是使用交叉验证。
这种方法能够让可得到的数据的用于训练,同时使用所有的数据来评估表现,当数据比较稀疏的时候,考虑的情况很合适,其中是数据点的总数,这种方法叫作“留一法”。
交叉验证的一个缺点是:需要训练的次数随着的增加而增加,这对于训练本身很耗时的问题来说是个大问题。因此我们需要找到一种模型表现的度量,它只依赖于训练数据,并且不会由于过拟合产生偏移的问题。
增加一个惩罚项来补偿过于复杂的模型造成的过拟合。
例如:赤池信息准则(AIC)
其中,是最合适的对数似然函数,是模型中可调节参数的数量。这个量是一个变体,被称为贝叶斯信息准则(BIC)。
1.4维度灾难
通过上升维度的方法进行点标签的划分存在很多问题:
如果我们把空间的区域划分为一个个的单元格,那么这些单元格的数量会随着空间的维数以指数的形式增大。
指数级递增!
我们在三维空间中建立的几何直觉会在考虑高维空间时不起作用。例如,考虑D维空间的一个半径r = 1的球体,请问,位于半径r = 1- ϵ和半径r = 1之间的部分占球的总体积的百分比是多少?我们注意到,D维空间的半径为r的球体的体积一定是的倍数,因此我们有:
其中常数值依赖于。因此我们要求解的体积比就是:
结合上图发现:
在高维空间中,一个球体的大部分体积都聚集在表面附近的薄球壳上。
高维空间产生的这种困难被称为维度灾难。因此需要注意的是:不是所有在低维空间的直觉都可以推广到高维空间。
虽然维度灾难在模式识别应用中是一个重要的问题,但是它并不能阻止我们寻找高维空间的有效技术。原因有两个方面:
1.真实的数据经常被限制在有着较低的有效维度的空间内,特别地,在目标值发生重要变化的方向上也会有这种限制。
2.真实数据往往比较光滑,因此在大多数情况下,对于输入变量微小的变化,目标值的改变也很小,因此对于新的输入变量,我们可以通过局部的类似插值的技术来进行预测。
1.5 决策论
我们已经在1.2节中看到了概率论是如何提供给我们一个自始至终的数学框架来量化和计算不确定性。当决策论与概率论结合起来的时候,我们能够在不确定性的情况下做出最优的决策。
假设我们有一个输入向量和对应的目标值向量,我们的目标就是对于一个新的值,预测。
决策论的主题:在给定合适的概率的前提下,如何进行最优的决策。
利用贝叶斯定理:
注意:出现在贝叶斯定理中的任意一个量都可以从联合分布中得到,要么通过积分的形式,要么通过关于某个合适的变量求条件概率。我们现在把称为类的先验概率, 把称为对应的后验概率。
1.5.1 最小化错误分类率
我们的目标很简单:尽可能少地作出错误的分类。我们需要一个规则将每个的值划分到一个合适的类别,这种规则将输入空间切分成不同的区域,这种区域被称为决策区域。决策区域间的边界被称为决策边界或者决策面。
我们把错误分为的概率为:
很明显,为了最小化,我们对于的分类结果应该让上式的被积函数尽量小,因此,对于给定的值,如果 > ,那么我们就把分到类别中。根据概率的乘积规则,我们有 = 。
因此我们可以这样表述:
如果我们把每个分配到后验概率最大的类别中,那么我们分类错误的概率就会最小。
对于更一般的K类的情形,最大化正确率会稍微简单一些,即最大化下式:
当区域的选择使得每个都被分到使最大的类别中,上式取得最大值。再一次使用乘积规则 = ,并且注意到因子对于所有项都相同,我们可以看到每个都应该被分到有着最大后验概率的类别中。
1.5.2最小化期望损失
对于不同的实际问题,我们对于错误的容忍度不同。我们可以通过损失函数来形式化的描述这些问题,损失函数也被称为代价函数,是对于所有可能的决策或者动作可能产生的损失的一种整体的度量。
这个特别的损失矩阵表明,如果我们做出了正确的决策,那么不会造成损失。如果健康人被诊断为患有癌症,那么损失为1。但是如果一个患有癌症的病人被诊断为健康,那么损失为1000。
最优解是使损失函数最小的解。但是损失函数依赖于真实的类别,这是未知的,对于一个给定的歌输入向量,我们对于真实类别的不确定性通过联合概率分布表示。因此,我们转而去最小化平均损失,平均损失根据这个联合概率分布计算,定义为:
每一个可以被独立地分到决策区域中,我们的目标是选择区域,来最小化区域。这表明,对于每个,我们要最小化,和之前一样我们可以使用乘积规则 = 来消除共同因子。因此,最小化期望损失的决策规则是对于每个新的,把它分到能使下式取得最小值的第类:
一旦我们知道了后验概率后,这件事就很容易了。
1.5.3 拒绝选项
例如:在医疗例子中,一种合适的做法是:使用自动化系统来对那些毫无疑问的X光片进行分类,然后把不容易分类的X光片留给人类的专家。我们可以使用以下方式实现这个目的:
引入一个阈值,拒绝后验概率的最大值小于等于的那些输入。
注意:令会使所有样本被拒绝,而如果有个类别,那么令将会确保没有样本被拒绝,因此被拒绝的样本比例由的值控制。
1.5.4 推断和决策
我们已经把分类问题划分了两个阶段:
推断阶段和决策阶段。
- 推断阶段:使用训练数据学习
- 决策阶段:使用后验概率来进行最优的分类
另一种可能的方法是同时解决两个问题,即简单地学习一个函数,将输入直接映射为决策,这样的函数被称为判别函数。
事实上,我们可以区分出三种不同的方法来解决决策问题,这三种方法都已经在实际问题中被采用,这三种方法按照复杂度降低的顺序给出:
(a)首先对于每个类别,独立地确定类条件密度。这是一个推断问题,然后,推断先验类概率,之后,使用贝叶斯定理:
求出后验概率,和往常一样,贝叶斯定理的分母可以用分子中出现的项表示,因为:
等价地,我们可以直接对联合概率分布建模,然后归一化,得到后验概率,得到后验概率后,我们可以使用决策论来确定每个新的输入的类别,显式地或者隐式地对输入以及输出进行建模的方法被称为生成式模型。
(b)首先解决确定后验类密度这一推断问题,接下来使用决策论来对新的输入进行分类。这种直接对后验概率建模的方法被称为判别式模型。
(c)找到一个函数,被称为判别函数,这个函数把每个输入直接映射为类别标签,这种情况下,概率不起作用。
让我们考虑一下这三种算法的相对优势。算法(a)需要求解的东西最多,因为它涉及到寻找在和上的联合概率分布。对于许多应用,的维度很高,这会导致我们需要达量的训练数据才能在合理的精度下确定类条件概率密度。注意,先验概率经常能够根据训练数据集里的每个类别的数据点所占的比例简单地估计出来。但是,方法(a)的一个优点是,它能够通过公式(1.83)求出数据的边缘概率密度。这对于检测模型中具有低概率的新数据点很有用,对于这些点,模型的预测准确率可能会很低。这种技术被称为离群点检测(outlier detection)或者异常检测(novelty detection)(Bishop, 1994; Tarassenko, 1995)。
然而,如果我们只想进行分类的决策,那么这种算法会浪费计算资源。并且,实际上我们只是想求出后验概率(可以直接通过方法(b)求出),但是为了求出它,这种算法需要大量的数据来寻找联合概率。事实上,类条件密度可能包含很多对于后验概率几乎没有影响的结构,如图1.27所示。
关于机器学习中的生成式算法和判别式算法的相对优势,以及如何将两者结合,有很多研究成果(Jebara, 2004; Lasserre et al., 2006)。
对于方法(c),我们把推断阶段和决策阶段结合到一个学习问题中了。在图1.27给出的例子中,这对应于绿色竖直线给出的的值,因为这是给出最小错误分类概率的决策边界。
但是,使用方法(c),我们不在能够接触到后验概率。
有很多强烈的理由需要计算后验概率,即使我们接下来要使用后验概率来进行决策。这些理由包括:
1.最小化风险:如果我们只有一个判别规则,那么损失矩阵的任何改变都需要我们返回训练数据,重新分类解决问题。
2.拒绝选项:后验概率让我们能够确定最小化误分类的拒绝标准,或者在更一般的情况下确定最小化期望损失的拒绝标准。
3.补偿类先验概率
4.组合模型:对于更复杂的模型来说,我们可能希望把问题分解为若干个小的子问题,只要两个模型都给出类别的后验概率,我们就能够使用概率的规则系统化地输出,完成这个步骤的前提是假设X光盘和血液类型的分布是独立的,因此:
后验概率为:
因此我们需要先求出类先验概率,这可以通过估计每个类别的数据点所占的比例很容易地得到,之后我们需要对后验概率归一化,使得后验概率之和等于1,注意,联合边缘分布在这个模型下通常不会被分解
1.5.5 回归问题的损失函数
决策阶段包括对每个输入,选择一个对于值的具体的估计,假设这样做了以后,我们造成了一个损失,,平均损失就是:
回归问题中,损失函数的一个通常的选择是平方损失,定义为:{},这种情况下,期望损失函数可以写成:
我们的目标是选择来最小化,如果我们假设一个完全任意的函数,我们能够形式化的使用变分法求解:
求解,使用概率的加和规则和乘积规则,我们得到:
这是在的条件下的条件均值,被称为回归函数(regression function)。结果如图1.28所示。这个结果可以扩展到多个目标变量(用向量)的情形。这种情况下,最优解是条件均值。
换一种方式推导:
为了不让符号过于复杂,使用来表示,从而得到损失函数:
我们寻找的函数y(x)只出现在第一项中。当等于时第一项取得最小值,这时第一项
会被消去。这正是我们之前推导的结果,表明最优的最小平方预测由条件均值给出。第二项是的分布的方差,在x上进行了平均。它表示目标数据内在的变化性,可以被看成噪声。由于
它与无关,因此它表示损失函数的不可减小的最小值。
三种解决回归问题的方法:
(a)首先解决确定联合概率密度的推断问题。之后,计算条件概率密度。最
后,使用公式(1.89)积分,求出条件均值。
(b) 首先解决确定条件概率密度的推断问题。之后使用公式(1.89)计算条件均值。
(c) 直接从训练数据中寻找一个回归函数。
介绍一种平方损失函数的推广叫作闵可夫斯基损失函数(Minkowski loss):
当时,这个函数就变成了平方损失函数的期望,的最小值是条件均值,当时,的最小值是条件中位数,当时,的最小值是条件众数。
1.6信息论
我们对于信息的度量依赖于概率分布,因此我们想要寻找一个函数,它是概率的单调递增函数,表达了信息的内容。
如果我们有两个不相关的事件和,那么我们观察到的两个事件同时发生的时获得的信息应该等于观察到事件各自发生所获得的信息之和。因此:
依据这两个关系:
其中负号是为了保证信息一定是正数或者0,注意:低概率事件对应于高的信息量,对数的选择是任意的,的单位是比特。
现在假设一个发送者想传输⼀个随机变量的值给接收者。这个过程中,他们传输的平均信息量通可以通过求公式(1.92)关于概率分布的期望得到。这个期望值为:
这个重要的量被叫做随机变量的熵,注意:
我觉得这里对熵概念的推导真的很妙!总之:
如果分布在几个值周围有尖锐的峰值,熵就会相对较低,如果分布相对平衡地跨过许多值,那么熵就会相对较高。
由于,因此熵是非负的。当且所有其他的时,熵取得最小值0。在概率归一化的限制下,使用拉格朗日乘数法可以找到熵的最小值。因此,我们要最大化
证明过程后面过一遍!
1.6.1 相对熵与互信息
把熵的思想应用到模式识别的问题中去,考虑某个未知的分布,假定我们已经使用了一个近似的分布对它进行了建模。如果我们使用来建立一个编码体系,用来将的值传递给接受者,那么由于我们使用了而不是真是分布,因此在具体化的值时,我们需要一些附加的信息。
凸函数的性质可以表示为:
凸函数满足:
因此互信息表示一个新的观测造成的的不确定性的减少。