数学之美--平凡而又神奇的贝叶斯方法(三)

         3.2 模型比较理论(Model Comparasion)与贝叶斯奥卡姆剃刀(Bayesian Occam’s Razor)
         实际上,模型比较就是去比较哪个模型(猜测)更可能隐藏在观察数据的背后。其基本思想前面已经用拼写纠正的例子来说明了。我们对用户实际想输入的单词的猜测就是模型,用户输错的单词就是观测数据。我们通过:
                                                                 P(h | D) ∝ P(h) * P(D | h)

来比较哪个模型最为靠谱。

           前面提到,光靠 P(D | h) (即“似然”)是不够的,有时候还需要引入 P(h) 这个先验概率。奥卡姆剃刀就是说 P(h) 较大的模型有较大的优势,而最大似然则是说最符合观测数据的(即 P(D | h) 最大的)最有优势。整个模型比较就是这两方力量的拉锯。我们不妨再举一个简单的例子来说明这一精神:你随便找枚硬币,掷一下,观察一下结果。好,你观察到的结果要么是“正”,要么是“反”,不妨假设你观察到的是“正”。现在你要去根据这个观测数据推断这枚硬币掷出“正”的概率是多大。根据最大似然估计的精神,我们应该猜测这枚硬币掷出“正”的概率是 1 ,因为这个才是能最大化 P(D | h) 的那个猜测。然而每个人都会大摇其头——很显然,你随机摸出一枚硬币这枚硬币居然没有反面的概率是“不存在的”,我们对一枚随机硬币是否一枚有偏硬币,偏了多少,是有着一个先验的认识的,这个认识就是绝大多数硬币都是基本公平的,偏得越多的硬币越少见(可以用一个 beta 分布来表达这一先验概率)。将这个先验正态分布 p(θ) (其中 θ 表示硬币掷出正面的比例,小写的 p 代表这是概率密度函数)结合到我们的问题中,我们便不是去最大化 P(D | h) ,而是去最大化 P(D | θ) * p(θ) ,显然 θ = 1 是不行的,因为 P(θ=1) 为 0 ,导致整个乘积也为 0 。实际上,只要对这个式子求一个导数就可以得到最值点。

         以上说的是当我们知道先验概率 P(h) 的时候,光用最大似然是不靠谱的,因为最大似然的猜测可能先验概率非常小。然而,有些时候,我们对于先验概率一无所知,只能假设每种猜测的先验概率是均等的,这个时候就只有用最大似然了。实际上,统计学家和贝叶斯学家有一个有趣的争论,统计学家说:我们让数据自己说话。言下之意就是要摒弃先验概率。而贝叶斯支持者则说:数据会有各种各样的偏差,而一个靠谱的先验概率则可以对这些随机噪音做到健壮。事实证明贝叶斯派胜利了,胜利的关键在于所谓先验概率其实也是经验统计的结果,譬如为什么我们会认为绝大多数硬币是基本公平的?为什么我们认为大多数人的肥胖适中?为什么我们认为肤色是种族相关的,而体重则与种族无关?先验概率里面的“先验”并不是指先于一切经验,而是仅指先于我们“当前”给出的观测数据而已,在硬币的例子中先验指的只是先于我们知道投掷的结果这个经验,而并非“先天”。
          然而,话说回来,有时候我们必须得承认,就算是基于以往的经验,我们手头的“先验”概率还是均匀分布,这个时候就必须依赖用最大似然,我们用前面留下的一个自然语言二义性问题来说明这一点:
          The girl saw the boy with a telescope.
到底是 The girl saw-with-a-telescope the boy 这一语法结构,还是 The girl saw the-boy-with-a-telescope 呢?两种语法结构的常见程度都差不多(你可能会觉得后一种语法结构的常见程度较低,这是事后偏见,你只需想想 The girl saw the boy with a book 就知道了。当然,实际上从大规模语料统计结果来看后一种语法结构的确稍稍不常见一丁点,但是绝对不足以解释我们对第一种结构的强烈倾向)。那么到底为什么呢?

          我们不妨先来看看 MacKay 在书中举的一个漂亮的例子:


图中有多少个箱子?特别地,那棵书后面是一个箱子?还是两个箱子?还是三个箱子?还是.. 你可能会觉得树后面肯定是一个箱子,但为什么不是两个呢?如下图:


很简单,你会说:要是真的有两个箱子那才怪了,怎么就那么巧这两个箱子刚刚好颜色相同,高度相同呢?
         用概率论的语言来说,你刚才的话就翻译为:猜测 h 不成立,因为 P(D | h) 太小(太巧合)了。我们的直觉是:巧合(小概率)事件不会发生。所以当一个猜测(假设)使得我们的观测结果成为小概率事件的时候,我们就说“才怪呢,哪能那么巧捏?!”
         现在我们可以回到那个自然语言二义性的例子,并给出一个完美的解释了:如果语法结构是 The girl saw the-boy-with-a-telecope 的话,怎么那个男孩偏偏手里拿的就是望远镜——一个可以被用来 saw-with 的东东捏?这也忒小概率了吧。他咋就不会拿本书呢?拿什么都好。怎么偏偏就拿了望远镜?所以唯一的解释是,这个“巧合”背后肯定有它的必然性,这个必然性就是,如果我们将语法结构解释为 The girl saw-with-a-telescope the boy 的话,就跟数据完美吻合了——既然那个女孩是用某个东西去看这个男孩的,那么这个东西是一个望远镜就完全可以解释了(不再是小概率事件了)。

         自然语言二义性很常见,譬如上文中的一句话:

                参见《决策与判断》以及《Rationality for Mortals》第12章:小孩也可以解决贝叶斯问题。
就有二义性:到底是参见这两本书的第 12 章,还是仅仅是第二本书的第 12 章呢?如果是这两本书的第 12 章那就是咄咄怪事了,怎么恰好两本书都有第 12 章,都是讲同一个问题,更诡异的是,标题还相同呢?
         注意,以上做的是似然估计(即只看 P(D | h) 的大小),不含先验概率。通过这两个例子,尤其是那个树后面的箱子的例子我们可以看到,似然估计里面也蕴含着奥卡姆剃刀:树后面的箱子数目越多,这个模型就越复杂。单个箱子的模型是最简单的。似然估计选择了更简单的模型。
         这个就是所谓的贝叶斯奥卡姆剃刀(Bayesian Occam’s Razor),因为这个剃刀工作在贝叶斯公式的似然(P(D | h) )上,而不是模型本身( P(h) )的先验概率上,后者是传统的奥卡姆剃刀。关于贝叶斯奥卡姆剃刀我们再来看一个前面说到的曲线拟合的例子:如果平面上有 N 个点,近似构成一条直线,但绝不精确地位于一条直线上。这时我们既可以用直线来拟合(模型1),也可以用二阶多项式(模型2)拟合,也可以用三阶多项式(模型3),.. ,特别地,用 N-1 阶多项式便能够保证肯定能完美通过 N 个数据点。那么,这些可能的模型之中到底哪个是最靠谱的呢?前面提到,一个衡量的依据是奥卡姆剃刀:越是高阶的多项式越是繁复和不常见。然而,我们其实并不需要依赖于这个先验的奥卡姆剃刀,因为有人可能会争辩说:你怎么就能说越高阶的多项式越不常见呢?我偏偏觉得所有阶多项式都是等可能的。好吧,既然如此那我们不妨就扔掉 P(h) 项,看看 P(D | h) 能告诉我们什么。我们注意到越是高阶的多项式,它的轨迹弯曲程度越是大,到了八九阶简直就是直上直下,于是我们不仅要问:一个比如说八阶多项式在平面上随机生成的一堆 N 个点偏偏恰好近似构成一条直线的概率(即 P(D | h) )有多大?太小太小了。反之,如果背后的模型是一条直线,那么根据该模型生成一堆近似构成直线的点的概率就大得多了。这就是贝叶斯奥卡姆剃刀。
          这里只是提供一个关于贝叶斯奥卡姆剃刀的科普,强调直观解释,更多理论公式请参考 MacKay 的著作 《Information Theory : Inference and Learning Algorithms》第 28 章。

           3.3 最小描述长度原则

          贝叶斯模型比较理论与信息论有一个有趣的关联:
                                                         P(h | D) ∝ P(h) * P(D | h)
两边求对数,将右式的乘积变成相加:
                                                         ln P(h | D) ∝ ln P(h) + ln P(D | h)
显然,最大化 P(h | D) 也就是最大化 ln P(h | D)。而 ln P(h) + ln P(D | h) 则可以解释为模型(或者称“假设”、“猜测”)h 的编码长度加上在该模型下数据 D 的编码长度。使这个和最小的模型就是最佳模型。
          而究竟如何定义一个模型的编码长度,以及数据在模型下的编码长度则是一个问题。更多可参考 Mitchell 的 《Machine Learning》的 6.6 节,或 Mackay 的 28.3 节)
           3.4 最优贝叶斯推理
           所谓的推理,分为两个过程,第一步是对观测数据建立一个模型。第二步则是使用这个模型来推测未知现象发生的概率。我们前面都是讲的对于观测数据给出最靠谱的那个模型。然而很多时候,虽然某个模型是所有模型里面最靠谱的,但是别的模型也并不是一点机会都没有。譬如第一个模型在观测数据下的概率是 0.5 。第二个模型是 0.4 ,第三个是 0.1 。如果我们只想知道对于观测数据哪个模型最可能,那么只要取第一个就行了,故事到此结束。然而很多时候我们建立模型是为了推测未知的事情的发生概率,这个时候,三个模型对未知的事情发生的概率都会有自己的预测,仅仅因为某一个模型概率稍大一点就只听他一个人的就太不民主了。所谓的最优贝叶斯推理就是将三个模型对于未知数据的预测结论加权平均起来(权值就是模型相应的概率)。显然,这个推理是理论上的制高点,无法再优了,因为它已经把所有可能性都考虑进去了。
          只不过实际上我们是基本不会使用这个框架的,因为计算模型可能非常费时间,二来模型空间可能是连续的,即有无穷多个模型(这个时候需要计算模型的概率分布)。结果还是非常费时间。所以这个被看作是一个理论基准。
          原文来自:http://mindhacks.cn/2008/09/21/the-magical-bayesian-method/

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
项目描述:建立购物小商城平台. 实现了前台页面系统。 技术描述:通过Spring 主框架来管理Struts2和Hibernate 框架搭建的电商小平台,用MySQL数据库并创建了表有用户表,订单表,商品表,商品分类表,商品内容表,购物车表等来存储数据。用到hibernate….zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值