PRML系列:1.5 Decision Theory

前言

本打算该系列均用自己的视角重新阐述一遍,但由于时间精力有限,最终还是决定以摘抄中文版PRML的方式,一来可以还原PRML中最本色的内容,二来以博文的形式,可以在自己不解的地方加入疑问和思考,整理总结也算是种不错的学习方式。

在1.2节中,我们已经看到了概率论是如何提供给我们⼀个⾃始⾄终的数学框架来量化和计算不确定性。这⾥我们将要转⽽讨论决策论。当决策论与概率论结合的时候,我们能够在涉及到不确定性的情况下做出最优的决策。这在模式识别中经常遇到。

所以说,类似于p(x, t)的概率形式只是衡量在指定输入x和对应输出t下的可能性,还没有到决策的地步。

假设我们有⼀个输⼊向量x和对应的⽬标值向量t,我们的⽬标是对于⼀个新的x值,预测t。对于回归问题, t由连续变量组成,⽽对于分类问题, t表⽰类别标签。联合概率分布p(x;t)p(x; t)完整地总结了与这些变量相关的不确定性。从训练数据集中确定p(x;t)p(x; t)是推断(inference)问题的⼀个例⼦,并且通常是⼀个⾮常难的问题。对这种问题的解答是本书⼤部分内容的主题。但是在⼀个实际应⽤中,我们经常必须对t的值做出具体的预测,或者更⼀般地,根据我们对于t的可能取值的理解,采取⼀个具体的动作。这⼀⽅⾯就是决策论的主题。

例如,考虑⼀个医疗诊断问题。在这个问题中,我们给⼀个病⼈拍了X光⽚,我们想判断病⼈是否得了癌症。在这种情形下,输⼊向量x是X光⽚的像素的灰度值集合,输出变量t表⽰病⼈患有癌症(记作类C1)或者不患癌症(记作类C2)。例如,我们可以选择t = 0表⽰类C1,选择t = 1表⽰类C2。我们稍后会看到,这种【标注:】(why?)标签值的选择对于概率模型特别⽅便。⼀般的推断问题就变成了确定联合分布p(x;Ck)p(x; Ck),或者等价地p(x;t)p(x; t)【对应回归问题】。它给出了最完整的概率描述。虽然这个量很有⽤,很有信息量,但是最后我们必须确定是否对病⼈进⾏治疗,并且我们希望这种选择在某些情况下是最优的(Duda and Hart, 1973)。这是决策步骤,是决策论的主题,告诉我们在给定合适的概率的前提下,如何进⾏最优的决策。我们会看到,⼀旦我们解决了推断问题,那么决策阶段通常就变得⾮常简单,甚⾄不值得⼀提。

对决策的理解:

决策需要确定可比较的对象,比如:分类问题下,相同输入x,会存在多个联合概率p(x;C1),p(x;C2),...p(x; C_1), p(x; C_2),...分别比较这些联合概率的大小,从而决策出输入x更符合哪个类别标签。

这⾥我们简要介绍⼀下决策论的关键思想,以满⾜本书剩余部分的要求。更多的背景以及更详细的讨论可以参考Berger(1985)和Bather(2000)。

在给出⼀个更详细的分析之前,让我们⾸先⾮形式化地考虑⼀下概率论如何在做决策时起作⽤。当我们得到⼀个新病⼈的X光⽚x时,我们的⽬标是判断这个X光⽚属于两类中的哪⼀类。我们感兴趣的是在给定这个图像的前提下,两个类的概率,即p(Ck|x)p(C_k | x)。使⽤贝叶斯定理,这些概率可以⽤下⾯的形式表⽰:

p(Ck|x)=p(x|Ck)p(Ck)p(x)

p(C_k | x) = \frac{p(x | C_k) p(C_k)}{p(x)}

注意,出现在贝叶斯定理中的任意⼀个量都可以从联合分布p(x;Ck)p(x; C_k)中得到,要么通过积分的⽅式,要么通过关于某个合适的变量求条件概率。我们现在把p(Ck)p(C_k)称为类CkC_k的先验概率,把p(Ck|x)p(C_k | x)称为对应的后验概率。因此p(C1)p(C_1)表⽰在我们拍X光之前,⼀个⼈患癌症的概率。类似地, p(C1|x)p(C_1 | x)表⽰使⽤X光中包含的信息通过贝叶斯定理修改之后的对应的后验概率。如果我们的⽬标是最⼩化把x分到错误类别中的可能性,那么根据直觉,我们要选择有最⼤后验概率的类别。我们现在要证明,这种直觉是正确的,并且我们还会讨论进⾏决策的更加通⽤的标准。

最小化错误分类率

假定我们的⽬标很简单,即尽可能少地作出错误分类。我们需要⼀个规则来把每个x的值分到⼀个合适的类别。这种规则将会把输⼊空间切分成不同的区域RkR_k,这种区域被称为决策区域(decision region)。每个类别都有⼀个决策区域,区域RkR_k中的所有点都被分到CkC_k类。决策区域间的边界被叫做决策边界(decision boundary)或者决策⾯(decision surface)。注意,每⼀个决策区域未必是连续的,可以由若⼲个分离的区域组成。在后续的章节中,我们会给出决策边界和决策区域的例⼦。为了找到最优的决策规则,⾸先考虑两类的情形,就像癌症问题的例⼦中那样。如果我们把属于C1C_1类的输⼊向量分到了C2C_2类(或者相反),那么我们就犯了⼀个错误。这种事情发⽣的概率为,

式1.78:

p(mistake)=p(x∈R1,C2)+p(x∈R2,C1)=∫R1p(x,C2)dx+∫R2p(x,C1)dx

\begin{align} p(mistake) &= p(x \in R_1, C_2) + p(x \in R_2, C_1) \\ &= \int_{R_1}p(x, C_2)d_x + \int_{R_2}p(x, C_1) d_x \end{align}

我们可以随意选择把点x分到两类中的某⼀类的决策规则。很明显,为了最⼩化p(mistake),我 们 对 于x的 分 类 结 果 应 该 让公式(1.78)的 被 积 函 数 尽 量 ⼩。

简单解释一波公式的含义:

积分所表达的含义为:在区域R1R_1内原本属于C1C_1的样例被判断成了C2C_2的概率之和。这里考虑区域的范围可以是一个连续的区域,所以采用积分而不是累加。但不管如何,p(mistake)p(mistake)表达的是在给定数据集下,所有被错分的样例产生的误差。

因 此, 如 果 对 于 给 定的x值,如果p(x;C1)>p(x;C2)p(x; C_1) > p(x; C_2),那么我们就把x分到类别C1中。根据概率的乘积规则,我们有p(x;Ck)=p(Ck|x)p(x)p(x; C_k) = p(C_k | x)p(x)。由于因⼦p(x)p(x)对于两项都相同【原因:我们在确定分类标签时,会对让输入x分别交给模型p(C1|x)和p(C2|x)p(C_1 | x)和p(C_2 | x)】,因此我们可以这样表述:【证明:】(why?)如果我们把每个x分配到后验概率p(Ck|x)p(C_k | x)最⼤的类别中,那么我们分类错误的概率就会最⼩。对于⼀元输⼊变量x的⼆分类问题,结果如图1.24所⽰。

值得指出的是,上述结论:【如果我们把每个x分配到后验概率p(Ck|x)p(C_k | x)最⼤的类别中,那么我们分类错误的概率就会最⼩。】并不是那么显而易见。

就拿图1.24举例说明,绿色和蓝色是两个联合概率模型的公共部分,这一部分的误差是必然的,没有办法避免。因为,假设你选择标签C1C_1那么C2C_2的公共部分会被记录下来,选择C2C_2时,C1C_1的公共部分同样也会被认为错分而记录下来。推广到多标签也是如此,所以我们先拉出这些公共部分。接着考虑,选择概率最大的类别,为何能减少错分的概率。看图也能发现,因为概率最大的类别说明函数在局部一定是最”高”的,意味着除了公共部分外,还会有额外的面积(如红色),如果你不选择它,那么错分所付出的代价也最大,反过来也就说明因避免了错分取最大面积,从而导致整体错分的代价减小。

对于更⼀般的K类的情形,最⼤化正确率会稍微简单⼀些,即最⼤化下式,
式1.79:

p(correct)=∑k=1Kp(x∈Rk,Ck)=∑k=1K∫Rkp(x,Ck)dx

p(correct) = \sum_{k = 1}^K p(x \in R_k, C_k) = \sum_{k = 1}^K\int_{R_k} p(x, C_k) d_x
当区域 RkR_k的选择使得每个x都被分到使 p(x;Ck)p(x; C_k)最⼤的类别中时,上式取得最⼤值。再⼀次使⽤乘积规则 p(x;Ck)=p(Ck|x)p(x)p(x; C_k) = p(C_k | x)p(x),并且注意到因⼦ p(x)p(x)对于所有项都相同,我们可以看到每个x都应该被分到有着最⼤后验概率 p(Ck|x)p(C_k | x)的类别中。

疑问:

所以说是对模型最先进行联合概率p(x;Ck)p(x; C_k)的建模求解,再由贝叶斯公式推得p(Ck|x)p(C_k | x),从而得到输入x下CkC_k的概率,最终的所有判断都得到式p(Ck|x)p(C_k | x)上进行么?

最小化期望损失

对于许多应⽤,我们的⽬标要⽐单纯地最⼩化错误分类的数量更加复杂。让我们再次考虑医疗诊断的问题。我们注意到,如果已给没有患癌症的病⼈被错误地诊断为患病,结果可能给病⼈带来⼀些压⼒,并且病⼈可能需要进⼀步确诊。相反,如果患癌症的病⼈被诊断为健康,结果可能会因为缺少治疗⽽使病⼈过早死亡。因此这两种错误的结果是相当不同的。很明显,对于第⼆种错误,我们最好少犯,甚⾄由于少犯第⼆种错误会导致第⼀种错误增加也没关系。

我们可以通过损失函数(loss function)来形式化地描述这个问题。损失函数也被称为代价函数(cost function),是对于所有可能的决策或者动作可能产⽣的损失的⼀种整体的度量。我们的⽬标是最⼩化整体的损失。注意,有些学者不考虑损失函数,⽽是考虑效⽤函数(utility function),并且要最⼤化这个函数。如果我们让效⽤函数等于损失函数的相反数的话,那么这些概念是等价的,因此整本书中我们都将使⽤损失函数这个概念。假设对于新的x的值,真实的类别为CkC_k,我们把x分类为CjC_j(其中j可能与k相等,也可能不相等)。这样做的结果是,我们会造成某种程度的损失,记作LkjL_{kj},它可以看成损失矩阵(loss matrix)的第k; j个元素。例如,在癌症的例⼦中,我们可能有图1.25所⽰的损失矩阵。这个特别的损失矩阵表明,如果我们做出了正确的决策,那么不会造成损失。如果健康⼈被诊断为患有癌症,那么损失为1。但是如果⼀个患有癌症的病⼈被诊断为健康,那么损失为1000。

嗯,损失矩阵的物理含义更加清晰明了。

最优解是使损失函数最⼩的解。但是,损失函数依赖于真实的类别,这是未知的。对于⼀个给定的输⼊向量x,【批注:有意思!】我们对于真实类别的不确定性通过联合概率分布p(x;Ck)p(x; C_k)表⽰。

这里很有意思,因为p(x;Ck)p(x; C_k)可以表示任意CkC_k在相同输入x下的概率分布情况,实际上可以认为有k个模型,每个模型都由输入x输出一个概率,这k个模型的期望损失作为输入x的损失。这联合概率在相同输入x下,应该符合∑kp(x;Ck)=p(x)\sum_k p(x; C_k) = p(x),

因此,我们转⽽去最⼩化平均损失。平均损失根据这个联合概率分布计算,定义为,

式1.80:

E[L]=∑k∑j∫RjLkjp(x,Ck)dx

E[L] = \sum_k \sum_j \int_{R_j} L_{kj} p(x, C_k) d_x

注释:

当 k = j的时候,表明预测理论上正确,所以Lkj=0L_{kj} = 0,自然不会产生损失。

每⼀个x可以被独⽴地分到决策区域RjR_j中。我们的⽬标是选择区域RjR_j,来最⼩化期望损失(1.80)。这表明,对于每个x,我们要最⼩化∑kLkjp(x;Ck)\sum_k L_{kj}p(x; C_k)【备注:在指定区域RjR_j中的所有样例,假设样本标签为CkC_k时,结果被分为CjC_j时所产生的期望损失】。

这里又佐证了一个事实,再用概率模型做分类时,损失函数的表达实际上,并没有用单一的【对错】来衡量,而是对每个类别计算输入x下的不确定度,以期望损失最小来求解模型。

和之前⼀样,我们可以使⽤乘积规则p(x;Ck)=p(Ck|x)p(x)p(x; C_k) = p(C_k | x)p(x)来消除共同因⼦p(x)p(x)。因此,最⼩化期望损失的决策规则是对于每个新的x,把它分到能使下式取得最⼩值的第j类:

∑kLkjp(Ck|x)

\sum_k L_{kj}p(C_k | x)

⼀旦我们知道了类的后验概率p(Ck|x)p(C_k | x)之后,这件事就很容易做了。

拒绝选项

我们已经看到,在发⽣分类错误的输⼊空间中,后验概率p(Ck|x)p(C_k | x)通常远⼩于1,或者等价地,不同类别的联合分布p(x;Ck)p(x; C_k)有着可⽐的值。这些区域中,类别的归属相对不确定。在某些应⽤中,对于这种困难的情况,避免做出决策是更合适的选择。这样会使得模型的分类错误率降低。这被称为拒绝选项(reject option)。例如,在我们假想的医疗例⼦中,⼀种合适的做法是,使⽤⾃动化的系统来对那些⼏乎没有疑问的X光⽚进⾏分类,然后把不容易分类的X光⽚留给⼈类的专家。我们可以⽤这种⽅式来达到这个⽬的:引⼊⼀个阈值θ\theta,拒绝后验概率p(Ck|x)p(C_k | x)的最⼤值⼩于等于θ\theta的那些输⼊x。图1.26说明了⼀元输⼊变量x的⼆分类问题的情形。注意,令θ=1\theta = 1会使所有的样本都被拒绝,⽽如果有K个类别,那么令θ<1k\theta 将会确保没有样本被拒绝。【why?】

考虑一个式子就知道为什么了,因为对于所有类别的后验概率满足如下:∑kp(Ck|x)=1\sum_k p(C_k | x) = 1,所以在所有类别中的最大概率不会低于1k\frac{1}{k},假设最大的都低于1k\frac{1}{k},那么剩下的也都低于1k\frac{1}{k},那么概率和就小于1了,矛盾。

因此被拒绝的样本⽐例由θ\theta的值控制。

我们可以很容易地把拒绝准则推⼴到最⼩化期望损失的情形。那种情形下,我们已知⼀个损失矩阵,这个矩阵考虑了拒绝决策所带来的损失。

推断和决策

我们已经把分类问题划分成了两个阶段:推断(inference)阶段和决策(decision)阶段。在推断阶段,我们使⽤训练数据学习p(Ck|x)p(C_k | x)的模型。在接下来的决策阶段,我们使⽤这些后验概率来进⾏最优的分类。另⼀种可能的⽅法是,同时解决两个问题,即简单地学习⼀个函数,将输⼊x直接映射为决策。这样的函数被称为判别函数(discriminant function)【SVM?】。

事实上,我们可以区分出三种不同的⽅法来解决决策问题,这三种⽅法都已经在实际应⽤问题中被使⽤。这三种⽅法按照复杂度降低的顺序给出:

(a) ⾸先对于每个类别CkC_k,独⽴地确定类条件密度p(x|Ck)p(x | C_k)。这是⼀个推断问题。然后,推断先验类概率p(Ck)p(C_k)。之后,使⽤贝叶斯定理:
式1.82:

p(Ck|x)=p(x|Ck)p(Ck)p(x)

p(C_k | x) = \frac{p(x | C_k) p(C_k)}{p(x)}
求出后验类概率 p(Ck|x)p(C_k | x)。和往常⼀样,贝叶斯定理的分母可以⽤分⼦中出现的项表⽰,因为,
式1.83:

p(x)=∑kp(x|Ck)p(Ck)

p(x) = \sum_k p(x | C_k)p(C_k)
等价地,我们可以直接对联合概率分布 p(x;Ck)p(x; C_k)建模,然后【批注:这很重要吧!】归⼀化,得到后验概率。得到后验概率之后,我们可以使⽤决策论来确定每个新的输⼊x的类别。显式地或者隐式地对输⼊以及输出进⾏建模的⽅法被称为⽣成式模型(generative model),因为通过取样,可以⽤来⼈⼯⽣成出输⼊空间的数据点。

(b) ⾸先解决确定后验类密度p(Ck|x)p(C_k | x)这⼀推断问题,接下来使⽤决策论来对新的输⼊x进⾏分类。这种直接对后验概率建模的⽅法被称为判别式模型(discriminative models)。【关键怎么直接进行建模咧?】

(c) 找到⼀个函数f(x)f(x),被称为判别函数。这个函数把每个输⼊x直接映射为类别标签。例如,在⼆分类问题中, f(⋅)f(·)可能是⼀个⼆元的数值, f=0f = 0表⽰类别C1C_1, f=1f = 1表⽰类别C2C_2。这种情况下,概率不起作⽤。

让我们考虑⼀下这三种⽅法的相对优势。⽅法(a)需要求解的东西最多,因为它涉及到寻找在x和CkC_k上的联合概率分布。对于许多应⽤, x的维度很⾼,这会导致我们需要⼤量的训练数据才能在合理的精度下确定类条件概率密度。

维度灾难,随着维度的上升,单位空间内对数据量的要求呈指数上升。详见【PRML系列:1.4 The Curse of Dimensionality】

注意,先验概率p(Ck)p(C_k)经常能够根据训练数据集⾥的每个类别的数据点所占的⽐例简单地估计出来。但是,⽅法(a)的⼀个优点是,它能够通过公式p(x)=∑kp(x|Ck)p(Ck)p(x) = \sum_k p(x | C_k)p(C_k)求出数据的边缘概率密度p(x)p(x)。这对于检测模型中具有低概率的新数据点很有⽤【批注:可以利用上述公式计算p(x)p(x),从而判断新数据点存在的概率,如果概率很小,说明该数据点符合这个数据集的可能性很小,自然就被认为是异常点了】,对于这些点,模型的预测准确率可能会很低。这种技术被称为离群点检测(outlier detection)或者异常检测(novelty detection)(Bishop, 1994; Tarassenko, 1995)。

然⽽,如果我们只想进⾏分类的决策,那么这种⽅法会浪费计算资源。并且,实际上我们只是想求出后验概率p(Ck|x)p(C_k | x)(可以直接通过⽅法(b)求出),但是为了求出它,这种⽅法需要⼤量的数据来寻找联合概率p(x;Ck)p(x; C_k)。事实上,类条件密度可能包含很多对于后验概率⼏乎没有影响的结构

我的理解:模型(a)能够生成左图复杂的函数曲线,但实际上,利用模型(b)求解出的曲线,同样能够达到分类的效果。所以说左图中的两个蓝色峰值映射到右图中发现,这完全是冗余的。在左图中还有一个重要的事实,这两个蓝色峰值不管哪一个,在区域[0, 0.5]中都比红色曲线高,所以可以省去一些资源,不去刻画如此复杂的函数。

如图1.27所⽰。关于机器学习中的⽣成式⽅法和判别式⽅法的相对优势,以及如何将两者结合,有很多研究成果(Jebara, 2004; Lasserre et al., 2006)。

⼀种更简单的⽅法是⽅法(c)。这种⽅法中,我们使⽤训练数据来寻找将每个x直接映射为类别标签的判别函数f(x)f(x)。这样,我们就把推断阶段和决策阶段结合到⼀个学习问题中了。在图1.27给出的例⼦中,这对应于绿⾊竖直线给出的x的值,因为这是给出最⼩错误分类概率的决策边界。

但是,使⽤⽅法(c),我们不再能够接触到后验概率p(Ck|x)p(C_k | x)。有很多强烈的理由需要计算后验概率,甚至我们接下来要使⽤后验概率来进⾏决策。这些理由包括:

  • 最⼩化风险。考虑这样⼀个问题,问题中损失矩阵的元素时时刻刻都被修改(例如⾦融应⽤中可能出现的情况)。如果我们知道后验概率,我们只需要恰当地修改公式(1.81)所定义的最⼩风险决策准则即可。如果我们只有⼀个判别准则,那么损失矩阵的任何改变都需要我们返回训练数据,重新解决分类问题。
  • 拒绝选项。如果给定被拒绝的数据点所占的⽐例,后验概率让我们能够确定最⼩化误分类率的拒绝标准,或者在更⼀般的情况下确定最⼩化期望损失的拒绝标准。
  • 补偿类先验概率。重新考虑我们的医疗X光问题。假定我们已经从普通⼈群中收集了⼤量的X光⽚,⽤作训练数据,⽤来建⽴⼀个⾃动诊断系统。由于癌症在普通⼈群中是很少见的,我们可能发现1000个样本中只有⼀个对应癌症。如果我们使⽤这样的数据集来训练⼀个模型,由于癌症类别所占的⽐例很⼩,我们会遇到很困难的问题。例如,⼀个将所有的点都判定为正常类别的分类器就已经能够达到99.9%的精度。避免这种平凡解是很困难的。并且,即使是⼀个⼤的数据集,只有很少的X光⽚对应着癌症,因此学习算法不会接收到很多这种X光⽚,因此不太可能具有很好的泛化性。⼀个平衡的数据集⾥,我们已经从每个类别中选择了相等数量的样本,这让我们能够找到⼀个更加准确的模型。然⽽,我们之后就必须补偿修改训练数据所造成的影响。假设我们已经使⽤这种修改后的数据,找到了后验概率的模型。根据公式(1.82)的贝叶斯定理,我们看到后验概率正⽐于先验概率,⽽先验概率可以表⽰为每个类别的数据点所占的⽐例。因此我们可以把从⼈造的平衡数据中得到的后验概率除以数据集⾥的类⽐例,再乘以我们想要应⽤模型的⽬标⼈群中类别的⽐例即可。最后,我们需要归⼀化来保证新的后验概率之和等于1。注意,如果我们直接学习⼀个判别函数⽽不确定后验概率,这个步骤就⽆法进⾏。
  • 组合模型。对于复杂的应⽤来说,我们可能希望把问题分解成若⼲个⼩的⼦问题,每个⼦问题都可以通过⼀个独⽴的模型解决。例如,在我们假想的医疗诊断问题中,我们可能有来⾃⾎液检查的数据,以及X光⽚。我们不把所有的这种同样类型的信息集中到⼀个巨⼤的输⼊空间中,⽽是建⽴⼀个系统来表⽰X光⽚⽽另⼀个系统来表⽰⾎液数据。这样做效率更⾼。只要两个模型都给出类别的后验概率,我们就能够使⽤概率的规则系统化地结合输出。完成这个⽬标的⼀个简单的⽅式是假设对于每个类别, X光⽚的输⼊的分布(记作xIx_I)和⾎液数据的输⼊的分布(记作xBx_B)是独⽴的,因此
    式1.84:

    p(xI;xB|Ck)=p(xI|Ck)p(xB|Ck)

    p(x_I; x_B | C_k) = p(x_I | C_k)p(x_B | C_k)
    这是条件独⽴(conditional independence)的⼀个例⼦,因为当分布以类别CkC_k为条件时满⾜独⽴性。同时给出X光⽚和⾎液数据,后验概率为
    式1.85:

    p(Ck|xI;xB)∝p(xI;xB|Ck)p(Ck)∝p(xI|Ck)p(xB|Ck)p(Ck)∝p(Ck|xI)p(Ck|xB)p(Ck)

    \begin{align} p(C_k | x_I; x_B) &\propto p(x_I; x_B | C_k)p(C_k) \\ &\propto p(x_I | C_k)p(x_B | C_k)p(C_k) \\ &\propto \frac{p(C_k | x_I)p(C_k | x_B)}{p(C_k)} \\ \end{align}
    因此我们需要求出类先验概率p(Ck)p(C_k),这可以通过估计每个类别的数据点所占的⽐例很容易地得到。之后我们需要对后验概率归⼀化,使得后验概率之和等于1。公式(1.84)的独⽴性假设是朴素贝叶斯模型(naive Bayes model)的⼀个例⼦。注意,联合边缘分布p(xI;xB)p(x_I; x_B)在这个模型下通常不会被分解。在后续章节中,我们会看到如何不依赖公式(1.84)的独⽴性假设来建⽴组合数据的模型。

从式1.85可以看出,xI,xBx_I, x_B关于类别CkC_k的模型均可以单独建立,当满足独立假设后,可以推得p(Ck|xI;xB)p(C_k | x_I; x_B)的概率。

回归问题的损失函数

⽬前为⽌,我们以分类问题为例,讨论了决策论。我们现在考虑回归问题,例如之前讨论过的曲线拟合问题。决策阶段包括对于每个输⼊x,选择⼀个对于t值的具体的估计y(x)y(x)。假设这样做之后,我们造成了⼀个损失L(t;y(x))L(t; y(x))。平均损失(或者说期望损失)就是,
式1.86:

E[L]=∫∫L(t;y(x))p(x,t)dxdt

E[L] = \int\int L(t; y(x))p(x, t)d_x d_t

回归问题中,损失函数的⼀个通常的选择是平⽅损失,定义为L(t;y(x))={y(x)−t}2L(t; y(x)) = \{y(x) − t\}^2。这种情况下,期望损失函数可以写成
式1.87:

E[L]=∫∫{y(x)−t}2p(x,t)dxdt

E[L] = \int\int \{y(x) − t\}^2p(x, t)d_x d_t

我们的⽬标是选择y(x)y(x)来最⼩化E[L]E[L]。如果我们假设⼀个完全任意的函数y(x)y(x),我们能够形式化地使⽤变分法求解:
式1.88:

∂E[L]∂y(x)=2∫{y(x)−t}p(x,t)dt=0

\frac{\partial E[L]}{\partial y(x)} = 2 \int \{y(x) − t\} p(x, t) d_t = 0

求解y(x)y(x),使⽤概率的加和规则和乘积规则,我们得到:
式1.89:

y(x)=∫tp(x,t)dtp(x)=∫tp(t|x)dt=Et[t|x]

y(x) = \frac{\int t p(x, t) d_t}{p(x)} = \int t p(t | x) d_t = E_t[t | x]

注意一下:∫y(x)p(x,t)dt=y(x)p(x)\int y(x) p(x, t) d_t = y(x) p(x)

这是在x的条件下t的条件均值,被称为回归函数(regression function)。结果如图1.28所⽰。这个结果可以扩展到多个⽬标变量(⽤向量t)的情形。这种情况下,最优解是条件均值y(x)=Et[t|x]y(x) = E_t[t | x]。【批注:这里是在相同输入x0x_0下,由周遭环境(误差)会产生扰动的数据t,所以用它的期望来表示。对应于图中的高斯分布p(t|x0)p(t | x_0)】

我们也可以使⽤⼀种稍微不同的⽅式推导出这个结果,这也将透露出回归问题的本质。已经知道了最优解是条件期望,我们可以把平⽅项按照下⾯的⽅式展开:

{y(x)−t}2={y(x)−E[t|x]+E[t|x]−t}2={y(x)−E[t|x]}2+2{y(x)−E[t|x]}{E[t|x]−t}+{E[t|x]−t}2

\begin{align} \{y(x) − t\}^2 &= \{y(x) − E[t | x] + E[t | x] − t\}^2 \\ &=\{y(x) − E[t | x]\}^2 + 2\{y(x) − E[t | x]\}\{E[t | x] − t\} + \{E[t | x] − t\}^2 \\ \end{align}

其中,为了不让符号过于复杂,我们使⽤E[t|x]E[t | x]来表⽰Et[t|x]E_t[t | x]。代⼊损失函数中,对t进⾏积分,我们看到交叉项消失,因⽽得到下⾯形式的损失函数:
式1.90:

E[L]=∫{y(x)−E[t|x]}2p(x)dx+∫{E[t|x]−t}2p(x)dx

E[L] = ∫ \{y(x) − E[t | x]\}^2 p(x) d_x + ∫ \{E[t | x] - t\}^2p(x) d_x

简单推导一下,主要看2{y(x)−E[t|x]}{E[t|x]−t}2\{y(x) − E[t | x]\}\{E[t | x] − t\}为什么就消失了。需要指出的是:E[t|x]E[t | x]是一个常数,所以有:

∫∫2{y(x)−E[t|x]}{E[t|x]−t}p(x,t)dxdt=∫∫2{y(x)−E[t|x]}{E[t|x]−t}p(x,t)dtdx=∫x2{y(x)−E[t|x]}∫t{E[t|x]−t}p(x,t)dtdx=∫x2{y(x)−E[t|x]}{∫tE[t|x]p(x,t)dt−∫ttp(x,t)dt}dx=∫x2{y(x)−E[t|x]}{E[t|x]∫tp(x,t)dt−∫ttp(t|x)p(x)dt}dx

\begin{align} \int \int 2\{y(x) − E[t | x]\}\{E[t | x] − t\} p(x, t)d_x d_t &= \int \int 2\{y(x) − E[t | x]\}\{E[t | x] − t\} p(x, t)d_t d_x \\ & = \int_x 2\{y(x) - E[t | x]\} \int_t \{E[t | x] − t\} p(x, t)d_t d_x \\ & = \int_x 2\{y(x) - E[t | x]\}\{ \int_t E[t | x] p (x, t) d_t -\int_t t p (x, t) d_t\}d_x \\ & = \int_x 2\{y(x) - E[t | x]\} \{E[t | x] \int_t p(x, t) d_t - \int_t t p (t | x) p(x) d_t\} d_x \end{align}

由式1.89得:

E[t|x]∫tp(x,t)dt−∫ttp(t|x)p(x)dt =E[t|x]p(x)−E[t|x]p(x)=0

E[t | x] \int_t p(x, t) d_t - \int_t t p (t | x) p(x) d_t\ = E[t | x] p(x) - E[t | x] p(x) = 0

推导毕。

我们寻找的函数y(x)y(x)只出现在第⼀项中。当y(x)y(x)等于E[t|x]E[t | x]时第⼀项取得最⼩值,这时第⼀项会被消去。这正是我们之前推导的结果,表明最优的最⼩平⽅预测由条件均值给出。第⼆项是t的分布的⽅差,在x上进⾏了平均。它表⽰⽬标数据内在的变化性,可以被看成噪声。由于它与y(x)y(x)⽆关,因此它表⽰损失函数的不可减⼩的最⼩值。

与分类问题相同,我们可以确定合适的概率然后使⽤这些概率做出最优的决策,或者我们可以建⽴直接决策的模型。实际上,我们可以区分出三种解决回归问题的⽅法,按照复杂度降低的顺序,依次为:

(a) ⾸先解决确定联合概率密度p(x; t)的推断问题。之后,计算条件概率密度p(t|x)p(t | x)。最后,使⽤公式(1.89)积分,求出条件均值。
(b) ⾸先解决确定条件概率密度p(t|x)p(t| x)的推断问题。之后使⽤公式(1.89)计算条件均值。
(c) 直接从训练数据中寻找⼀个回归函数y(x)y(x)。

这三种⽅法的相对优势和之前所述的分类问题的情形很相似。

平⽅损失函数不是回归问题中损失函数的唯⼀选择。实际上,有些情况下,【疑问:why?】平⽅损失函数会导致⾮常差的结果,这时我们就需要更复杂的⽅法。这种情况的⼀个重要的例⼦就是条件分布p(t|x)p(t | x)有多个峰值,这在解决反演问题时经常出现。这⾥我们简要介绍⼀下平⽅损失函数的⼀种推⼴,叫做闵可夫斯基损失函数(Minkowski loss),它的期望为:

E[Lq]=∫∫|y(x)−t|qp(x,t)dxdt

E[L_q] = ∫∫ \vert y(x) − t\vert ^q p(x,t) d_x d_t

当q = 2时,这个函数就变成了平⽅损失函数的期望。图1.29给出了不同q值下,函数|y(x)−t|q \vert y(x) − t\vert ^q关于y − t的图像。当q = 2时,E[Lq] E[L_q]的最⼩值是条件均值。【疑问:如何理解?】当q = 1时,E[Lq] E[L_q]的最⼩值是条件中位数。当q→0q \rightarrow0时, E[Lq] E[L_q]的最⼩值是条件众数。

PRML系列:1.5 Decision Theory相关推荐

  1. 决策理论(decision theory)

    决策理论(decision theory) 决策论背后的核心思想是最小化期望损失 定义清楚期望损失,问题就转变成最优化问题,带入优化器,就迎刃而解了. 这里例举一个垃圾邮件过滤的例子, 要预测垃圾邮件 ...

  2. 如何简单理解贝叶斯决策理论(Bayes Decision Theory)?

    如何简单理解贝叶斯决策理论(Bayes Decision Theory)? 内容来源于知乎大神:如何简单理解贝叶斯决策理论(Bayes Decision Theory)? 如何理解矩阵特征值和特征向量 ...

  3. jbpm系列之五--使用decision节点判断分支情况

    我们在用JBPM做流程的时候,很多时候会遇到需要判断的节点.类似java中的switch,根据不同的状态,跳转到不同的节点. 首先我们定义一个流程信息,jpdl流程图如下 明显的可以看到,在此种情况下 ...

  4. 如何简单理解贝叶斯决策理论(Bayes Decision Theory)

    贝叶斯的底层思想就是: 如果我能掌握一个事情的全部信息,我当然能计算出一个客观概率(古典概率). 可是生活中绝大多数决策面临的信息都是不全的,我们手中只有有限的信息.既然无法得到全面的信息,我们就在信 ...

  5. 【CV系列】Intergral Image theory

    Crow, F. C. (1984). Summed-area tables for texture mapping. ACM SIGGRAPH Computer Graphics, 18(3), 2 ...

  6. 贝叶斯决策论(Bayesian decision theory)

    机器学习,信号检测都会涉及到和贝叶斯有关的很多方法,很容易混乱抓不住本质,最近学习贝叶斯分类器,需要贝叶斯决策论做基础,特此记录梳理. 顾名思义,贝叶斯决策论是利用概率来进行决策,是概率框架下的方法. ...

  7. 我爱机器学习网机器学习类别文章汇总

    机器学习领域的几种主要学习方式 From Stumps to Trees to Forests KDD-2014 – The Biggest, Best, and Booming Data Scien ...

  8. 我爱机器学习--机器学习方向资料汇总

    转载:http://blog.csdn.net/shuimanting520/article/details/45748505 机器学习爱好者资料 机器学习领域的几种主要学习方式 From Stump ...

  9. cs python课程 加州大学_【北美名校CS课程整理系列】6. 强化学习与决策控制

    简介 今天我们带来本系列第六篇文章:北美CS名校强化学习与决策控制相关课程的整理.本系列今后将持续保持一周两更的频率,想学习更多请点击关注专栏大学模拟器,点赞支持,也欢迎关注微信公众号Univ模拟器. ...

最新文章

  1. JavaFX之TableView的SelectionMode
  2. PID控制器改进笔记之二:改进PID控制器之手自动切换
  3. 关于字符串和字节编码的问题(转)
  4. java商城项目中多线程执行_java多线程中执行多个程序的实例分析
  5. spring配合Junit进行单元测试
  6. 吴恩达神经网络和深度学习-学习笔记-38-使用开源的方案+迁移学习+数据增强data augmentation
  7. Linux Kernel中irq handler, softirq handler 和 tasklet
  8. Linux 经典书籍推荐
  9. Foreda Workstation 36安装搜狗拼音输入法
  10. Event representations with tensor-based compositions笔记
  11. FineBI 新增字段后 更新缓慢问题
  12. 用线程加锁模拟红绿灯
  13. 谁能走得更远?百度、阿里、腾讯的区块链技术与布局对垒
  14. Work20230330
  15. linux u盘插入事件,Linux 下监控USB设备拔插事件
  16. [转载]modbus通讯协议详解和几张modbus图解 力求通俗易懂
  17. 测试测试测试测试测试测试
  18. linux中lpr命令
  19. 深圳住房公积金制度即将施行 非深户也可缴存
  20. 修复wordpress安装buddypress插件后的警告

热门文章

  1. whaleCTF-30days-隐写【第二期】-彩虹糖-writeup
  2. 阴阳师最新的服务器,阴阳师6月30日正式服务器更新内容一览
  3. 【数据分析师自学系列-MySQL】创建新表create table、create table as、create table like的区别
  4. spring听课一点+组成原理心得
  5. python 根据经纬度 调取和显示地图_python3调取百度地图API输出某地点的经纬度信息...
  6. microbit积木块菜单图标
  7. 高数 | 【一元函数积分学】换元法和分部积分法 使用条件与细节问题
  8. WIFI驱动配置实战(Linux驱动开发篇)
  9. 不发短信获取短信中心号
  10. Andorid微信刷脸支付使用过程解析