




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工智能机器算法概率模型学习目录TOC\o"1-2"\h\u311681.1统计学习 312471.2完全数据学习 853891.2.1最大似然参数学习:离散模型 8199881.2.2朴素贝叶斯模型 11111921.2.3生成模型和判别模型 13267071.2.4最大似然参数学习:连续模型 1389251.2.5贝叶斯参数学习 1539371.2.6贝叶斯线性回归 19281241.2.7贝叶斯网络结构学习 22156251.2.8非参数模型密度估计 24193521.3隐变量学习:EM算法 27142971.3.1无监督聚类:学习混合高斯 28181021.3.2学习带隐变量的贝叶斯网络参数值 3133141.3.3学习隐马尔可夫模型 35227141.3.4EM算法的一般形式 36299801.3.5学习带隐变量的贝叶斯网络结构 3720282小结 39在本文中,我们将学习视为一种从观测中进行不确定的推理的形式,并设计模型来表示不确定的世界。我们在第12章中指出,现实环境中的不确定性是普遍存在的。智能体可以利用概率论和决策论的方法来处理不确定性,但它们首先必须从经验中学习到关于世界的概率理论。本文将通过学习任务表述为概率推断过程(20.1节)的方式解释它们如何做到这一点。我们将看到贝叶斯观点下的学习是非常强大的,它为噪声、过拟合和最优预测问题提供了通用的解决方案。本文还考虑这样一个事实:一个非全知全能的智能体永远不可能确定哪种描述世界的理论是正确的,但它仍然需要选择一种理论来进行决策。PAGEPAGE1109统计学习本文的核心概念与第19章的一样,是数据和假设以看作证据——描述相关领域的一部分随机变量或所有随机变量的实例;假设是关于相关领域如何运作的一些概率理论,逻辑理论是其中的一个特例。考虑一个简单的例子。我们喜欢的某款惊喜糖果有两种口味:樱桃味(好吃)和酸橙味(难吃)。糖果的制造商有一种特殊的幽默感——它对两种口味的糖果采用同样的包装。这些糖果统一分装在同样包装的大糖果袋里进行售卖,因此我们无法从袋子的外观上辨别袋中的糖果口味,只知道它们有5种可能的组合方式:h2:75%+25%h3:50%+50%h4:25%+75%h5:100%酸橙味给定一袋未拆袋的糖果,用随机变量H(以代表假设)表示糖果袋类型,其可能的值为从h1至h5。当然,H不能被直接观测到。但随着袋中的糖果逐颗被打开与辨认,越来越多的数据也逐渐被揭示——我们记为 ,其中每个Di是一个随机变量,其可能的值为cherry(樱桃味)或lime(酸橙味)。智能体要完成的基本任务是预测下一块糖果的口味。[1]尽管从表面上看这个情景很简单,但它还是引出了许多重要的问题。智能体确实需要推断出一个关于其所在“世界”的理论,尽管这个问题中的理论很简单。有一定统计学基础的读者可以发现该情境是瓮与球(urn-and-ball)贝叶斯学习(Bayesianlearning)是指基于给定的数据计算每个假设发生的概率,并在此基础上进行预测。也就是说,这个预测是通过对所有假设按概率加权求和所得的,而不是仅仅使用了单个“最佳”假设。通过这种方法,学习就可以归约为概率推断。令D代表所有的数据,其观测值为d。贝叶斯方法中的关键量是假设先验P(hi)和在每个假设下数据的似然。每个假设的概率可以通过贝叶斯法则得到(20-1)现在,假定我们想要对一个未知量X做出预测,那么我们有(20-2)其中每一个假设都参与决定了X的分布。这个式子说明预测是通过对每个假设的预测进行加权平均得到的,其中根据式(20-1)可知,权重与假设hi的先验概率以及它与数据的拟合程度成正比。从本质上说,假设本身是原始数据与预测之间的一个“中间人”。对于上述糖果示例,我们暂定假设h1,…,h5的先验分布为〈0.1,0.2,0.4,0.2,0.1〉,正如制造商在广告中宣传的那样。那么在观测是独立同分布(见19.4节)的假定下,数据的似然可以按如下方式计算:(20-3)举个例子来说,假定一个糖果袋是一个全为酸橙糖果的糖果袋并且前10颗糖果均为酸橙味,因为在h3糖果袋中只有一半的糖果为酸橙味,所以将为0.510。[2]图20-1a给出了5种假设的后验率随着10颗酸橙味糖果逐颗被观测的变化过程。注意,每个概率是以它h3是初始状态下可能性最大的选择,在观测到1颗酸橙味糖果后也是如此。在打开2颗酸橙味糖果后,h4是可能性最大的。打开3颗后,h5(可怕的全酸橙糖果袋)是可能性最大的。连续10次之后,我们认命了。图20-1b表示我们对下一颗糖果为酸橙味的概率预测,它基于式(20-2)。正如我们所料,它单调递增,并渐近于1。(但是更不卫生)的做法是在分辨出糖果口味后重新包装糖果并放回袋中。图20-1 (a)根据式(20-1)得到的后验概率。观测数量N为1~10,且每一测都是酸橙味的糖果。(b)基于式(20-2)的贝叶斯预测这个例子表明,贝叶斯预测最终会与真实的假设吻合。这是贝叶斯学习的一个特点。对于任何固定的先验,如果它没有将真实的假设排除在外,那么在一定的技术条件下,错误假设的后验概率最终会消失。有这样的结果仅仅是因为无限地生成“反常的”数据的概率非常小。(这一点类似于第19章中关于PAC学习的讨论。)更重要的是,无论数据集大小,贝叶斯预测都是最优的。给定了假设先验之后,任何其他预测都不太可能正确。当然,贝叶斯学习的最优性是有代价的。对于真实的学习问题,如我们在第19章中所见,假设空间通常非常大或无限大。在某些情况下,式(20-2)中的求和(或连续情况下的积分)可以容易地计算,但在大多数情况下,我们必须采用近似或简化的方法。一种常见的近似方法(在科学研究中经常采用的)是,基于单个可能性最大的假设——使得最大化的hi——进行预测。这样的假设通常被称为最大后验(maximumaposteriori,MAP)假设。从的意义上来说,由MAP假设hMAP所做出的预测近似于贝叶斯方法所做出的预测。在我们的糖果例子中,在连续3次观测到酸橙糖之后有hMAP=h5,因此MAP学习器预测第四颗糖果是酸橙糖的概率为1.0,这比图20-1b所示的贝叶斯预测概率0.8更有风险。随着数据量越来越多,MAP预测和贝叶斯预测将变得越来越接近,因为与MAP假设竞争的其他假设的可能性越来越低。找到MAP假设通常比贝叶斯学习更简单(尽管在这个例子中没有体现),因为它仅要求求解一个优化问题,而不是一个大规模求和或积分的问题。在贝叶斯学习和MAP学习中,假设先验P(hi)都起着重要的作用。我们在第19章中看到,当假设空间表达能力过强时,也就是说,当它包含许多与数据集高度一致的假设时,可能会出现过拟合。贝叶斯学习和MAP学习利用先验知识来约束假设的复杂性。通常情况下,越复杂的假设对应的先验概率越低,其中部分原因是它们数量太多了。但是,越复杂的假设拟合数据的能力越强。(一个极端的例子是,查表法可以精确地拟合数据。)因此,假设的先验体现了假设的复杂性与其数据拟合程度之间的权衡。在逻辑函数的情况下,即H只包含确定性的假设(例如h1表示所有的糖果都是樱桃味),我们可以更清楚地看到这种权衡的效果。在这情况下,如果假设hi是一致的, 则为1,否则为0。此时注意式(20-1),我们发现hMAP将是与数据一致的最简单的逻辑理论。因此,最大后验学习自然体现了奥卡姆剃刀。另一个看待复杂性和拟合程度之间权衡的观点通过对式(20-1)两边取对数体现。此时,选择使 最大化的hMAP等价于最小化下式:利用我们在19.3.3节中介绍的信息编码和概率之间的联系,我们可以看到 等于说明假设hi所需的位数。此外, 是给定假设时说明数据所需的额外位数。(为了更好理解,我们可以考虑如果假设确切地预测了数据,就好像假设为h5和一连串出现的酸橙味糖果一样,那么此时我们不需要任何额外位数,则。)因此,MAP称为最小描述长度(MDL)的学习方法更直接地阐述。MAP学习通过给更简单的假设赋予更高的概率来体现其简单性,而MDL则通过计算假设和数据在二进制编码中的位数来直接体现简单性。最后一个简化是通过假定假设空间具有均匀先验分布得出的。在这种情况下,MAP学习被简化为选择一个使 最大的hi。这就是所的最大似然(xukhood)假设,h。最大似然学习在统计学中非常常用,是许多不相信假设先验主观性质的研究者所使用的准则。当没有理由采用某个先验或倾向于某个假设(例如所有的假设都同样复杂)时,最大似然是一个合理的方法。当数据集很大时,假设的先验分布就不那么重要了,因为来自数据的证据足够强大,足以淹没假设的先验分布。这意味着在大数据集的情况下,最大似然学习是贝叶斯学习和MAP学习的一个很好的近似,但在小数据集上可能会出现问题(我们将在后面看到)。完全数据学习假设我们要学习一个概率模型,给定数据是从该概率模型生成的,那么学习这个概率模型的一般性任务被称为密度估计(densityestimation)。(密度估计最初用于连续变量的概率密度函数,但现在也用于离散分布。)密度估计是一种无监督学习。本节将介绍其最简单的情形,即拥有完全数据的情形。当每个数据点包含所学习的概率模型的每个变量的值时,我们称数据是完全的。对于结构固定的概率模型,我们注重于参数学习(parameter learning),即寻找其参数数值。例如我们可能对学习具有给定结构的贝叶斯网络中的条件概率感兴趣。我们还将简要地探讨结构学习和非参数密度估计问题。最大似然参数学习:离散模型假设我们从一个新的生产商手中买入了一袋可能含有樱桃味和酸味糖果的糖果袋,其中糖果口味的比例完全未知。樱桃味糖果所占的例可以是0和1之间的任意一个数。在这种情形下,我们将有一个连续假设集。这种情况下的参数记为,表示樱桃味糖果所占的比例,其对应的假设为。(此时酸橙味糖果所占的比例恰好为 。)如果我们假设所有的比例有相同的先验可能性,那么采用最大似然估计是合理的。如果我们使用一个贝叶斯网络对这种情境建模,则只需要一个随变量——flavor(对应于从袋中随机选取一颗糖果的口味),它的值为cherry或者lime,其中cherry的概率为(见图20-2a)。现在假设我们已经打开了N颗糖果,其中有c颗为樱桃味, 颗为酸橙味。根据式(20-3),该特定数据集的似然为最大似然假设所需的参数即为使得上式最大化的参数。由于log函数是单调函数,我们可以通过最大化对数似然(log likelihood)来得同一个参数值:(通过取对数,我们把数据乘积归约为数据求和,通常这更易于我们将其最大化。)为寻找使得似然最大的,我们对L关于进行微分并令其微分结果为0:那么最大似然假设hML将断言,糖果袋中樱桃口味的真实比例是到目前为止所打开观测到的糖果中樱桃口味的占比!从表面上看,我们做了大量的工作却得到了一些看上去很显然的结果。但实际上,我们已经给出了最大似然参数学习的标准方法,这是一种应用范围广泛的方法。将数据的似然写成关于参数的函数的形式。写下对数似然关于每个参数的导数。解出使得导数为0的参数。化方法,正如我们在4.2节所提到的。(我们将需要验证其黑塞矩阵是负定的。)这个例子还说明了最大似然学习中普遍存在的一个重要问题:当数据集非常小以至于一些事件还未发生时——的糖果被观测到——最大似然假设将把这些事件的概率置为0。有很多数初始化为1而不是0。图20-2 (a)樱桃味糖果和酸橙味糖果比例未知情况下的贝叶斯网络。(b)包装颜色(依率)与糖果口味相关情况下的模型让我们来看另一个例子。假设一个新的糖果生产商希望通过使用红、绿两种不同颜色的糖果包装来给顾客一点关于口味的小提示。在选定一颗糖果后,其包装于糖果的口味。图20-2b给出了对应的概率模型。该模型有3个参数,即、和。有了这些参数,我们可以从贝叶斯网络的标准语义(见节)中得到观测到一颗带有绿色包装的樱桃味糖果的似然:现在假设我们打开了N颗糖果,其中c的。包装的计数如下:颗樱桃味糖果的包装为红色,颗樱桃味糖果的包装为绿色,颗酸橙味糖果的包装为红色,颗酸橙味糖果的包装为绿色。则该数据的似然为这个式子看起来非常糟糕,取对数会有帮助:取对数的好处显而易见:对数似然的具体形式是3项求和,其中每一项包含单独的一个参数。当我们令对数似然对每个参数求导并置为0时,我们得到3个独立的方程,其中每一个方程只含有一个参数:其中参数的结果与上一个例子相同。参数的解,即一个樱桃味果有红色包装的概率,是观测到的樱桃味糖果中红色包装的比例,参数的解也与之类似。这些结果看上去非常简洁,并且容易发现我们可以将它推广到任意的条件概率以表格形式呈现的贝叶斯网络。其中一个最关键的要点在于,一旦我们有了完全数据,贝叶斯网络的最大似然参数学习问题将可以被分解为一些分离的学习问题,每个问题对应一个参数。(非表格形式的情形见习题20.NORX,其中每个参数将影响若干个条件概率。)二个要点是,给定其父变量,变量的参数值恰好是该变量值在每一个父变量值下观测到的频率。和之前所提到的一样,当数据集很小时,我们仍要小心地避免出现0次事件的情况。朴素贝叶斯模型机器学习中最常用的贝叶斯网络模型是在第13章中介绍过的朴素贝叶斯模型。在该模型中,“类”变量C(将被预测)称为根,“属性”变量Xi称为叶。该模型被称为是“朴素的”,因为它假设属性在给定类的情况下是相互条件独立的。(图20-2b中给出的模型是一个朴素贝叶斯模型,具有类Flavor和唯一属性Wrapper。)在变量为布尔变量的情况下,其参数为寻找最大似然参数值的方法与图20-2b中使用的方法完全一样。一旦模型已经用该方法训练完成,它就可以被用于给类别C还未被观测过的新样例分类。当观测到的属性值为x1,…,xn时,其属于某一类的概率由下式给出:通过选择可能性最大的类,我们可以获得一个确定性的预测。图20-3给出了将该方法用于第19章中的餐厅等待问题所得到的学习曲线。该方法学习得相当好,但不及决策树学习;这是合理的,因为真实的假设是一个决策树,而决策树不能被朴素贝叶斯模型准确地表达。朴素贝叶斯在很多实际应用中的表现令人吃惊,它的增强版(习题20.BNBX)是最有效的通用学习算法之一。朴素贝叶斯可以很好地推广到大规模的问题上:当有n个布尔属性时,我们只需要2n+1个参数,且不需要任何的搜索就能找到朴素贝叶斯最大似然假设hML。最后,朴素贝叶斯学习系统可以很好地处理噪声或缺失数据,并且能在这类情况发生时给出适当的概率预测。它们的主要缺点是,条件独立性假设在实际中通常不成立;正如我们在第13章中所说,该假设会导致对某些概率做出过度自信的估计,使得它们接近0或1,尤其是在具有大量属性的情况下。图20-3 将朴素贝叶斯学习应用于第19章餐厅等待问题得到的学习曲线;决策树的学习曲线在图中给出,用于比较生成模型和判别模型接下来我们将区分两种不同的作为分类器的机器学习模型:生成模型与判别模型。生成模型(generativemodel)对每一类的概率分布进行建模,例如,12.6.1节中提及的朴素贝叶斯文本分类器,它为每个可能的文本类型建立一个单独的模型——一个用于体育,一个用于天气,等等。每个模型包含该模型对应类的先验,例如,以及对应的条件分布。根据这些我们可以计算出联合概率,并且我们可以随机生成weather类别文章中有代表性的单词。判别模型(discriminative model)直接学习类别之间的决策边界即学习。给定一个输入样例,一个判别模型将会输出一个类别,但你不能使用判别模型生成某个类别下具有代表性的单词。逻辑斯谛回归、决策树以及支持向量机都是判别模型。由于判别模型把所有的精力都放在定义决策边界上,也就是说,它们实际所执行的任务就是我们要求它们执行的分类任务,因此在训练数据集可以任意大的情况下,它们往往在极限情况下表现得更好。然而在数据有限的情况下,生成模型有时会表现得更好。吴恩达和乔丹(NgandJordan,2002)在15个(小)数据集上比较了生成模型(朴素贝叶斯分类器)和判别模型(逻辑斯谛回归分类器)的表现,发现在使用了全部数据的情况下,判别模型在15个数据集中的9个数据集上表现得更好,但在只使用少量数据的情况下,生成模型在15个数据集中的14个上表现更好。最大似然参数学习:连续模型例如我们在第13章中介绍的线性高斯模型,它是一种连续概率模型。由于连续变量在实际应用中普遍存在,因此了解如何从数据中学习连续模型的参数是非常重要的。最大似然学习的原理在连续和离散情况下是相同的。让我们从一个非常简单的例子入手:学习单变量高斯密度函数的参数。也就是说,我们假设数据按如下分布生成:这个模型的参数为均值以及标准差。(注意,归一化常数取决于,因此我们不能忽略它。)假设我们有观测值。那么其对似然为我们像一般做法所做的那样令其导数为0,得到(20-4)也就是说,均值的最大似然值正是样本均值,标准差的最大似然值是样本方差的平方根。同样,这些结果证实了我们的“常识”。现在考虑一个线性高斯模型,它有一个连续的父变量X和一个连续的子变量Y。如13.2.3节所述,Y服从高斯分布,其均值线性地依赖于其标准差是固定的。为了学习条件分,我们可以最大化件似然:(20-5)其中参数为、和。数据是(xj, yj)对的集合,如图20-4所示。用一般的方法(习题20.LINR),我们可以找到参数的最大似然值。但这个例子的重点在于,如果我们仅考虑定义x和y之间线性关系的参数和,那么最大化这些参数的对数似然与最小化式(20-5)中指数的分子 是等价的。这恰好是L2损失,即实际值y和预测之间的平方误差。图20-4 高斯线性模型,它表述加上固定方差的高斯噪声。(b)由该模型生成的50个数据点,以及它的最佳拟合直线这也恰好是19.6节中所描述的标准线性回归过程要最小化的量。现在我们得到了更深刻的理解:如果数据的生成过程带有固定方差的高斯噪声,那么最小化误差平方和恰好给出最大似然线性模型。贝叶斯参数学习最大似然学习方法虽然过程简单,但在小数据集情况下存在严重缺陷。例如,在观测到一颗樱桃味的糖果后,最大似然假设认为该袋子中100%都是樱桃味糖果(即,)。除非其假设先验是糖果袋中要么全为樱桃味糖果要么全为酸橙味糖果,否则这将是一个不合理的结论。而更有可能的情况是,这个糖果袋混合了酸橙味和樱桃味的糖果。基于贝叶斯方法的参数学习过程从一个关于假设的先验分布开始,随着新数据出现而不断更新该分布。图20-2a个未知值;假设的先验是先验分布。因此,是糖果袋中含有比例的樱桃味糖果的先验概率。如果参数可以是介于0和1之间的任意一个值,那么将是一个连续的概率密度函数(见附录A.3)的信息,那么我们可以采用均匀分布作为先验,它意味着任何取值都是等可能的。分布(betadistribution)是一个更为灵活的概率密度函数族。每个分布由两个超参数[3](hyperparameter)a和b定义:它们被称为超参数,是因为它们参数化了
的分布,而
本身就是一个参数。(20-6)其中的取值范围为[0, 1]。为归一化常数,它使得分布的积分1,它取决于a和b。图20-5给出了在不同的a和b取值下分布的情况。分布的均值为,因此较大的a值表明更靠近1。较大的a+b值导致分布有更突出的尖峰,这也意味着对估计更确定。容易发现,均匀分布密度函数与Beta(1,1)相同:平均值为1/2,且分布平坦。图20-5 不同(a,b)下Beta(a,b)分布的例子除灵活性以外,分布族还有一个很好的性质:如果参数有先验Beta(a, b),那么在一个数据点被观测之后,其参数的后验分布仍是个分布。换句话说,分布在这种更新规则下是封闭的。分布族被称为布尔变量分布族的共轭先验(conjugate prior)。[4]为了弄清楚这点,假设我们观测到了一颗樱桃味的糖果,那么我们有其他的共轭分布族包括关于离散多元分布参数的狄利克雷正态威沙特分布族。详见(BernardoandSmith,1994)。因此,在观测完这个樱桃味的糖果后,我们简单地增大了参数a的值;同样,在观测到一颗酸橙味的糖果之后,我们增大参数b的值。因此,我们可以将超参数a和b看作虚拟计数(virtualcount),因为先验分布Beta(a, b)可被视为是从均匀分布先验Beta(1, 1)出发,并且已经“拟”地观测到a−1次樱桃味糖果和b–1次酸橙味糖果。保持a和b两者比值不变,不断增大a和b,通过观测一系列分布,我们可以清楚地观测到参数的后验分布随着数据增多的变化情况。如,假设实际上一袋糖果中75%是樱桃味糖果。图20-5b显示了序列Beta(3,1)、Beta(6,2)、Beta(30,10)。显然,该分布正向着以参数真实值为中心的窄峰收敛。因此,对于大数据集,贝叶斯学习(至少在这种情形下)所收敛到的值与最大似然学习相同。现在让我们考虑一个更复杂的例子。如图20-2b所示的网络有3个参数,、和,其中代表樱桃味糖果中包装为红色的概率,代表橙味糖果中包装为红色的概率。贝叶斯假设的先验必须包含3个参数,也就是说,我们需要确定。一般来说,我们会假定参数独立性:有了这个假设,每个参数就可以有它自己的分布,且当新数据产生时可以独立地进行更新。图20-6并到贝叶斯网络中,其中每个参数变量都对应一个节点。图20-6 与贝叶斯学习过程对应的贝叶斯网络。后验分布的参数、和将根据它们的先分布以及数据Flavori和Wrapperi进行推断节点、和没有父节点。我们加入节点Wrapperi与Flavori用于表示第i个被观测到的糖果包装以及对应的糖果口味。Flavori取决于口味对应的参数:Wrapperi取决于参数和:现在,图20-2b中原始贝叶斯网络的整个贝叶斯学习过程就可以按图20-6所示的方法表示为派生贝叶斯网络中的推断问题,其中数据和参我们可以开始考虑参数变量(在该例子中即为、和)。在这种表述下我们只需要考虑唯一的学习算法——贝叶斯网络的推断算法。当然,这样构建出来的网络的性质与第13也普遍存在。精确的推断通常不可能实现,除非是在非常简单的情形下,如朴素贝叶斯模型。实际建模中通常会使用近似的推断方法,如MCMC(13.4.2节);为此,许多统计软件包也提供了MCMC的高效实现。贝叶斯线性回归在本节中我们将介绍如何将贝叶斯方法应用于标准统计任务:线性回归。我们在19.6节中介绍了最小化误差平方和的传统方法,并在20.2.4节中将其重新解释为求解带有高斯误差的模型的最大似然。这些方法都给出了单独的最佳假设:一条具有特定斜率和截距值的直线,以及一个固定的数据预测误差的方差。这些方法没有提供对于斜率和截距值的置信度的度量。此外,如果要预测一个离现有数据点很远的新数据点的函数值,则假设该点的预测误差与已观测数据点附近的数据点的预测误差相同似乎是没有道理的。一个更合理的情况应该为数据点离观测数据越远,则其预测误差越大,因为斜率的微小变化将导致较远的数据点的预测值发生较大变化。贝叶斯方法解决了这两个问题。如前一节所述,其总体思路是为模型参数——线性模型系数和噪声方差提供先验,然后在给定数据的情况下计算参数的后验概率值。对于多元数据和噪声模型未知的情况,这种做法会导致相当复杂的线性代数运算,所以我们现在将着眼于一个简单的情况:单变量数据,其模型被约束为必经过原点,且噪声模型已知——一个方差为的正态分布。那么我们将只有一个参数且模型可表示为(20-7)因为对数似然中参数的次数为二次,因此参数的一个合适的共先验将也是高斯分布。这将确保的后验分布也是高斯的。我们给定参数先验分布的均值和方差,那么其先验为(20-8)基于即将被建模的数据,人们可能对参数应当选取什么样的值有一定想法,又或者对它完全没有想法。如果是后一种情况,那么将为0且选择较大的是一个比较合理的方法,即所谓的无信息先验(uninformativeprior)。最后,我们可以为每个数据点的x值设置一个先验P(x),但是这对分析来说是完全无关紧要的,因为它不依赖于参数。现在我们已经完成了设定,可以利用式(20-1):计算参数的后验分布。如果观测到的数据点为,那么该数据集的似然可以由式(20-7)得到,如下式所示:其中我们已经将数据x的先验以及N元高斯的归一化系数归结为常数,它与参数独立。现在我们将该式与式(20-8)所给的参数先验相结合,得到其后验:这看起来较为复杂,但实际上其每一个指数部分都是关于参数的一个二次函数,因此对指数进行求和也将是一个二次函数。由此,后验分布也将是一个高斯分布。利用与14.4以得到其中“更新”后的均值与方差为让我们进一步考虑这些等式的意义。当数据紧密地集中在x轴上原点附近的某个小邻域内时,将会很小,而后验方差将会较大,本上等于先验方差。这与我们所设想的相一致:数据对直线围绕原点的旋转影响较小。相反地,如果数据在坐标轴上的分布范围很广,那么将会较大,且后验方差将会较小,近似等于,即数据模型的斜率会有较严格的约束。为了预测某个特定数据点的函数值,我们需要对所有参数的可值进行积分,正如式(20-2)所示:同样的,这两个指数的和仍是关于参数的二次函数,因此参数分布仍为高斯分布,且积分为1。剩下的与y相关的一项来源与另一个高斯分布:通过观察这个表达式,我们可以发现y的预测的均值为,也就意味着它取决于参数的后验均值。预测的方差等于模型噪声方差加上与x2成正比的一项,这也意味着预测的标准差将随着数据与原点距离的增加而渐近线性地增加。图20-7说明了这种现象。正如我们在本节开头依的。图20-7贝叶斯线性回归模型,它被约束为经过原点且噪声方差固定为。误差为±1、和±3个标准差的密度预测等高线也在图中给出。(a)其中3个数据点距离原点较近,因此斜率相当不确定,其方差。注意,当离观测到的数据点距离增大时,预测的不确定性也逐渐增大。(b)相比前一幅图多出两个距离较远的数据点,此时斜率被较严格地约束,其方差为。密度预测中剩余的方差几乎完全来源于噪声的固定方差贝叶斯网络结构学习到目前为止,我们都假设贝叶斯网络的结构是事先给定的,我们只试图学习其中的参数。网络结构代表了待解决问题的相关领域的基本因果知识,对专家或者一些用户来说,这些因果知识可能是简单的,容易得到的。但在某些情况下,因果模型可能是不可用的或存在争议的(例如,某些公司长期以来一直声称吸烟不会导致癌症;某些公司声称二氧化碳浓度对气候没有影响),因此,从数据中学习贝叶斯网络的结构是非常重要的。本节将简要概述该方面的一些主要思想。最直白的方法是通过搜索修改,并在每次结构修改后重新调整参数。其中结构修改可以包括反中排在该点之前的点(就像第13章中描述的构造过程一样)般性,我们的搜索还需要遍历所有可能的序关系。有两种方法可用于判断我们某个时刻找到的模型是否有一个好的结构。第一个方法是检验数据是否满足了该结构中所隐含的条件独立性。例如,对餐厅等待问题使用朴素贝叶斯模型时,我们假设:我们可以检验在数据中相同的等式在相应的条件频率之间是否成计波动也会使得等式永远不会精确杂性将取决于此检验使用的阈值——的链接就越多,也就可能导致更高程度的过拟合。更符合本文思想的方法是评估所得模型对数据的解释程度(在概率意义上),但我们必须谨慎地考虑如何度量这一点。如果我们只试图找到最大似然假设,那么我们最终会得到一个完全连通的网络,因为向一个节点添加更多的父节点并不会导致似然降低(习题20.MLPA)我们必须以某种方式对模型的复杂性进行惩罚。MAP(或MDL)方法只是简单地在比较不同结构之前从每个结构对应的似然中减去一个惩罚(在参数估计之后)这通常会导致有太多的结构需要进行求和(指数级的),所以在实践中大多数人采用MCMC的方法对结构进行采样。复杂性惩罚(无论是通过MAP或贝叶斯方法得到的)表明了网络中条件分布的最优结构和表示性质之间的重要联系。对于表格化的分布,对节点分布的复杂性惩罚将随着父节点数的增加而呈指数增长,但是对于噪声或分布,它的增长速度只是线性的。这意味着,与使用表格化分布的学习相比,使用噪声或(或其他简洁的参数化)模型的学习往往会学习到具有更多父节点结构。非参数模型密度估计通过采用19.7节中的非参数方法,我们可以学习到一个概率模型,而无须对其结构和参数化有任何假设。非参数密度估计(nonparametricdensity 任务通常需要在连续域中完成,例如图20-8a所示。该图给出了由两个连续变量定义的空间上的概率密度函数。在图20-8b中,我们可以看到采样于该密度函数的数据点。我们要考虑的问题是,是否能从样本中复原模型。图20-8 (a)图20-12a中所给出的混合高斯模型的三维样貌。(b)从混合高斯模型中采样的128个数据点、两个查询点(小方块)以及它们的10近邻(大圆圈以及右边的小圆圈)首先我们将考虑k近邻模型。(在第19章中我们介绍过将最近邻模型用于分类与回归;在这里我们将看到它们如何应用于密度估计。)给定一组数据样本点,为估计某个查询点x的未知概率密度,我们可以简单地估计数据点落在查询点x附近的密度。图20-8b中标出了两个查询点(用小方块标记)。对于每个查询点,我们画出了以它为圆心且至少包含10个近邻的最小圆,即10近邻。我们可以发现位于中间的圆较大,意味着对应的密度较小,而位于右边的圆较小,意味着对应的密度较大。在图20-9中,我们采用不同的k给出了3种k近邻密度估计。直观上可以清楚地看出图20-9b是接近正确模型的,图20-9a的局部过于尖锐(k过小),而图20-9c过于光滑(k过大)。另一种可行的方法是使用核函数,正如我们在局部加权回归中所做的那样。为了在密度估计中应用核函数,我们假设每个数据点都将生成一个与自己相关的密度函数。举个例子来说,我们可以采用在每个维度上标准差均为w的球形高斯核。那么对于查询点x,我们给出的密度估计值为数据核函数的均值:,其中其中,d表示数据x的维度,D表示欧几里得距离函数。我们剩下的问题是如何为核宽度w选择一个合适的值;图20-10给出了不同的宽度值对应的结果,可以发现它们分别对应着“太小”“正好”“太大”这3种结果。我们可以通过交叉验证的方法来选择一个好的w值。图20-9 应用k近邻进行密度估计,所用的数据为图20-8b中的数据,分别对应k=3、10和40。k=3的结果过于尖锐,40的结果过于光滑,而10的结果接近真实情况。最好的k值可以通过交叉验证进行选择图20-10 使用核函数进行密度估计,所用数据为图20-8b中的数据,分别采用了w=0.02、0.07和0.20的高斯核。其中w=0.07的结果最接近真实情况隐变量学习:EM算法在20.2节中,我们讨论了数据完全可观测的情形。而在现实生活中,许多问题存在隐变量(hidden 有时也称为隐藏变(latent variable),通常包括观测到的症状、医生的诊断以及采用的治疗方法,可能还有治疗的结果,但很少包含对疾病本身的直接观测!(注意,诊断区别于疾病;诊断在因果关系中是观测到症状之后的结果,而这些症状是由疾病引起的。)读者可能会问:“如果没有观测到疾病,我们能否仅根据观测到的变量构建一个模型?”图20-11给出了该问题的答案。它给出了一个小型的、虚构的心脏病诊断模型。它有3个可观测的易感因素和3个可观测的症状(这些症状过于负面,这里就不介绍了)。假设每个变量有3个可能的值(分别是none、moderate和severe)。如果我们从图20-11a所示的网络中移除隐变量,使其成为图20-11b所示的网络,那么所需参数的个数将从78增加到708。因此,隐变量可以大大减少确定一个贝叶斯网络所需参数的个数。同样也可以大大减少所需学习的参数的个数。隐变量很重要,但它们的存在也确实使学习问题复杂化。在图20-11a所示的例子中,给定其父变量的值,如何学习心脏病(HeartDisease)的条件分布并不是很明晰,因为我们不知道每种情况下HeartDisease的具体值,同样的问题也出现在学习症状的分布时。本节将介绍一种被称为期望最大化(expectation-maximization,EM)的算法,它以一种适用范围广泛的方式解决了这个问题。我们将给出3个例子,然后再给出一般性的描述。该算法最初看起来可能十分神奇,但是一旦我们了解了其思想,我们就可以在大量的学习问题中应用EM。图20-11 (a)一个简单的心脏病诊断网络,其中HeartDisease是一个隐变量。每个变量有3个可能的值,并标明了每个变量对应的条件独立参数的个数,其总数为78。(b)去除隐变量之后的等效网络。注意,给定了父变量值后,症状对应的变量不再是条件独立的。这个网络有708个参数无监督聚类:学习混合高斯无监督聚类(unsupervised clustering)是在一个对象集合中识别个类别的问题。该问题被称为是无监督的,是因为数据没有被赋予类别标签。举个例子来说,假设我们记录了十万颗恒星的光谱;我们想知道光谱的数据是否告诉我们恒星存在不同的类型?如果是,其中有多少种类型?它们对应的特征是什么?我们都熟悉诸如“红巨星”和“白矮星”这样的术语,但是恒星本身并不附带这些标签,因此天文学家不得不使用无监督聚类的方法来区分恒星的类别。还有其他一些例子,如林奈生物分类法中对种、属、目、门等的区分,以及为一般对象创造自然类别(见第10章)。无监督聚类以数据为出发点。图20-12b给出了500个数据点,每个数据点指定了两个连续属性的值。数据点可能对应于恒星,而属性可能对应于两个特定频率下的光谱强度。接下来,我们需要了解什么样的概率分布可能产生这些数据。聚类假设了数据是从某个混合分布P中生成的。该分布由k个分量组成,每个分量本身是一个分布。数据点通过以下方法生成:首先选择其中一个分量,然后从该分量采样一个样本,从而生成一个数据点。令随机变量C为数据对应的分量,其值为1,…,k;那么混合分布将由下式给出:其中x表示数据点属性的值。对于连续数据,多元高斯分布是各个分量分布的一个自然选择,这就是所谓的混合高斯分布族。混合高斯分布的参数为(各分量的权重)、(各分量的均值),以(各分量的协方差)。图20-12a给出了由3个分量组成的混合高斯;事20-12b中数据的来源,也是图20-8a相应的无监督聚类问题则是从原始数据(例如图20-12b中的数据)中复原出高斯混合模型(例如图20-12a所示的模型)。显然,如果我们知道每个数据点由哪个分量生成,那么就很容易复原对应的高斯分布分量:我们可以选择所有来自同一个给定分量的数据点,然后应用(多元版本的)式(20-4)对一组数据拟合其高斯参数。另外,如果我们知道每个分量的参数,那么我们至少可以给出每个数据点属于某个分量的概率。图20-12 (a)由3个分量组成的混合高斯模型,其权重(从左到右)分别为0.2、0.3和0.5。采样于(a)中模型的500个数据点。(c)根据(b)中的数据点,使用EM模型的参数。在这种情况下,EM的基本想法是假设我们知道模型的参数,收敛。本质上,我们所做的事情是基于当前的模型推断隐变量——点属于某个分量——的概率分布,进而“完善”数据。对于混合高斯模代。E步:计算概率 ,即数据点xj是由分量i生成概率。根据贝叶斯法则,我们有。其中项是xj在第i个高斯分量中的概率,P(C = i)项是第i个高斯量的权重。定义,即分配至第i个分量的数据点的有效个数。M步:按照以下式子计算新的均值、方差和各分量的权重。其中,N为数据点的总个数。E步也称期望步,它可以视为计算隐指示(hidden 变量Zij的期望值pij的步骤,若数据xj由第i个分量生成,则Zij为1,否则为0。M步也称最大化步,其目标是寻找给定隐指示变量的期望情况下,使数据的似然最大化的新参数。将EM算法应用于图20-12a中数据所学习到的最终模型如图20-12c所示,它与生成这些数据的真实模型几乎没有差别。图20-13a给出了当前模型下数据的对数似然随着EM算法迭代过程的变化图。需要注意两点。第一,最终学习到的模型的对数似然值略高于用于生成数据的真实模型的对数似然值。这可能看起来有些令人惊讶,但它简单地反映了这样一个事实:数据是随机生成的,也许没有精确地反映出真实的模型。第二,在EM算法的进行过程中,数据的对数似然在每一次迭代后都将提升。通常情况下,这个现象是可以被证明的。此外,在一些条件下(这些条件在大多数情况下是成立的),我们还可以证明EM算法将达到似然函数的局部极大值。(在极少数情况下,它可能会达到一个鞍点,甚至一个局部极小值。)从这个意义上说,EM类似于基于梯度的爬山算法,但需要注意的是它没有“步长”这一参数。EM算法并不总是如图20-13a所示那样顺利。举个例子来说,它可能导致某个高斯分量发生退化,使得它仅仅包含一个数据点。那么它的方差将趋向于零,且它的似然将趋向无穷!如果我们不知道混合模型中有多少个分量,我们就需要尝试不同的分量个数,即尝试不同的k值,并观测哪个值的效果最好,但这也可能导致发生另一些错误。还有一个问题是,两个分量可能会“合并”,导致它们有相同的均值和方差,且它们共享数据点。这种退化的局部极大值是一个严重的问题,特别是在高维情况下。一种解决方案是对模型参数赋予先验并采用MAP版本的EM算法。另一种解决方案是,如果某个分量太小或太接近于另一个分量,则使用新的随机参数重置该分量。一个合理的初始化方法对算法也有帮助。图20-13 数据的对数似然L关于EM算法迭代次数的函数关系。水平线表示真实模型下数据的数似然。(a)图20-12中的混合高斯模型对应的变化图。(b)图20-14a中的贝叶斯网络对应的变化图学习带隐变量的贝叶斯网络参数值为学习带隐变量的贝叶斯网络,我们将使用与在混合高斯模型中所使用的方法相同的有效方法。图20-14a给出了一个例子:我们有两袋混合在一起的糖果。糖果有3个特征:除口味(Flavor)和包装(Wrapper)外,一些糖果中间还有夹心(Holes),而有些糖果没有。糖果在每个糖果袋中的分布状况可以用朴素贝叶斯模型进行描述:在给定糖果袋的情况下,特征之间是独立的,但每个特征的条件概率取决于这个糖果袋的状况。该模型的参数如下:为糖果取自糖果袋1的先验概率;与分别是给定糖果取自于糖果袋1或糖果袋2后,它是樱桃口的概率;与是在同样的给定条件下糖果包装为红色的概率;和是在同样的给定条件下糖果有夹心的概率。图20-14 (a)关于糖果的混合模型。不同口味、包装的比例以及是否有夹心取决于糖果袋,该变量是不可观测的。(b)混合高斯模型的贝叶斯网络。可观测变量X的均值和协方差取决分量C整体的模型是一个混合模型:它可以表示为两个不同分布的加权和,且每个分布是独立的单变量分布的乘积。(混合高斯建模为一个贝叶斯网络,正如图20-14b所示。)在该图中,糖来复原这两个袋子的真实情况吗?我们将用EM算法迭代来求解这个问题。首先,我们考虑数据的情况。假设我们从一个模型中生成了1000样本,模型的真实参数如下:
(20-9)也就是说,糖果来自于两个糖果袋的概率相等;第一个糖果袋中的糖果大部分是樱桃口味、红色包装且有夹心;第二个糖果袋中的糖果大部分是酸橙口味、绿色包装且没有夹心。所有8种可能的糖果出现的次数如下:W=red W=greenH=1H=0H=1H=0F=cherry 2739310490F=lime7910094167我们先对参数进行初始化。为了简化计算,我们任意地选取初始值如下:[5]在实际情形中,更好的做法是随机地选择初始参数,以避免由对称性带来的局部极大值。(20-10)首先,我们考虑参数。在数据全部可观测的情况下,我们可以根据糖果来自于糖果袋1以及糖果袋2是每个糖果来自于糖果袋1的概率之和:这些概率可以使用贝叶斯网络的任意一种推断算法来计算。在这个朴素贝叶斯模型的例子中,我们可以利用贝叶斯法则以及条件独立性计算得到举例来说,对于273颗红色包装、樱桃味、有夹心的糖果,应用该公式我们可以计算得到其权重为接着计算表中其他种类糖果对应的权重,可以得到。现在让我们考虑其他的参数,例如。在数据完全可观测的情下,我们可以直接通过观测到糖果袋1估计该参数值。糖果袋1同样的,这些概率值可以通过贝叶斯网络算法计算得到。通过这些计算,我们可以得到参数新的估计值:(20-11)数据的对数似然的初始值约为−2044,在第一次迭代之后达到了约−2021,如图20-13b所示。也就是说,一次参数更新将似然函数本身提高了约倍。在10次迭代后,学习到的模型相比原始模型拟合得更好(L=−1982.214)。10的现象在EM算法中并不少见,实际中许多系统将EM与基于梯度的算法相结合,例如牛顿-拉弗森法(见第4章),它可以用于学习过程的最后阶段。通过这个例子,我们可以总结出一般性的规律,即在带隐变量的贝叶斯网络学习中,参数更新可以从每个样例的推断结果中直接得到。更进一步地,每个参数的估计都只需要用到局部的后验概率。这里的“局部”意味着每个变量Xi的条件概率表(CPT)可以从仅涉及Xi及其父节点Ui的后验概率中学习得到。令为CPT中的参数 ,更新由计数期望归一化后给出,如下:我们可以通过任意的贝叶斯网络推断算法计算每个样例出现的概率,并通过对样本求和来获得计数的期望。对于包含变量消去步骤的特定算法,所有这些概率都可以作为一般推断过程的副产品直接获得,而不需要额外的计算来获得这些概率值。此外,对于每个参数,学习所需的信息都可以在本地获得。现在我们回想一下EM算法在这个例子中,即从7(23–1)的计数数据复原7个参数的过程中发挥了什么作用。(在给定7个计数后,第8个计数是固定的,因为计数的总和是1000。)如果刻画每个糖果所需的属性只有两个而不是3个(例如,没有“夹心”这一属性),我们将有5个参数,但我们只有3(22–1)合的权重或者用于混合的两个糖果袋的属性。我们称这样的两个属性的模型不是可辨识的。贝叶斯网络的可辨识性是一个棘手的问题。可以注意到,即使有3个属性和7个计数,我们也不能唯一地复原模型,因为将两个糖果袋信息互换后,两个模型在观测层面仍是等价的。基于不同的参数初始化方式下,EM将收敛到如下两个结果之一:糖果袋1大部分是樱桃口味,糖果袋2大部分是酸橙口味,或者恰好与之相反。这种不可辨识性对从未观测到的变量来说是不可避免的。学习隐马尔可夫模型最后,我们将EM算法应用于学习隐马尔可夫模型(HMM)中的转移概率。回顾一下,我们在14.3节中提到,隐马尔可夫模型可以用一个带有单个离散状态变量的动态贝叶斯网络来表示,如图20-15所示。每个数据点为一个长度有限的观测序列,因此要解决的问题是从一组观测序列(或仅从一个长序列)中学习转移概率。图20-15 表示隐马尔可夫模型的动态贝叶斯网络展开图(重复图14-16)意时刻t,从状态i到状态j的转移概率是相等的,即对任意时刻t有。为了估计从状态i到状态j的转移概率,我们只需计算系统在状态i经过一次转移后到达状态j的次数比例的期望:计数的期望可以通过HMM推断算法进行计算。通过简单修改图14-4所示的前向-后向算法,我们可以计算所需的概率。重要的一点在于,所需的概率是通过平滑而不是滤波给定过去状态下当前状态的概率分布,而平滑方法给出的是给定所有证据下的分布,这里的证据包括特定转移发生后的事件发生情况。在谋杀案中,证据通常是在犯罪发生之后(即从状态i到状态j)获得的。EM算法的一般形式我们已经看到了EM算法的几个实例。在每个实例中,我们都需要对每个样例计算其隐变量的期望,然后把该期望看作观测值并用它们重新计算参数。令x为所有样例中的所有观测值,并令Z为所有样
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电梯维保人员培训与考核职责
- 六年级组德育工作计划与目标
- 五年级英语下册综合提高计划
- 项目融资委托合同书
- 2025-2030中国电解液行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国生活垃圾处理行业市场发展现状及竞争格局与投资发展研究报告
- 2025-2030中国玉米杂交种行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国牙覆盖义齿行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030中国流感快速诊断检测行业市场现状供需分析及投资评估规划分析研究报告
- DB32/T 4315-2022国土空间全域综合整治绩效评价规范
- 人才盘点与人才储备计划设计合同
- 医美公司保密协议书
- 道路交通安全宣传课件
- 艺术基金授课协议书
- 2024年广东省普宁市事业单位公开招聘警务岗笔试题带答案
- 《农业机械操作培训》课件
- 2025委托维修服务合同模板
- 广告设计师项目实操试题及答案
- 企业安全环保责任体系构建与实施路径
- 陕西电网面试试题及答案
- 2025下半年广东省东莞市事业单位考试笔试易考易错模拟试题(共500题)试卷后附参考答案
评论
0/150
提交评论