如何通俗地解释贝叶斯线性回归原理的基本原理

后使用快捷导航没有帐号?
查看: 1266|回复: 6
怎么通俗易懂地解释贝叶斯网络和它的应用
中级会员, 积分 326, 距离下一级还需 174 积分
论坛徽章:13
作者:小杰
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
我自己找到一篇很通俗易懂的案例
英语原文:
以下内容摘录自,根据实例内容意译译文。
贝叶斯网络应用实例一:胸部疾病诊所(Chest Clinic)
假想你是Los Angeles一名新毕业的医生,专攻肺部疾病。你决定建立一个胸部疾病诊所,主治肺病及相关疾病。大学课本已经中告诉你了肺癌、肺结核和支气管炎的发生比率以及这些疾病典型的临床症状、病因等,于是你就可以根据课本里的理论知识建立自己的Bayes网。如根据如下数据信息:
美国有30%的人吸烟.每10万人中就就有70人患有肺癌.每10万人中就就有10人患有肺结核.每10万人中就就有800人患有支气管炎.10%人存在呼吸困难症状, 大部分人是哮喘、支气管炎和其他非肺结核、非肺癌性疾病引起.
根据上面的数据可以建立如下BN模型:
这样的一个BN模型对你意义不大,因为它没有用到来你诊所病人的案例数据,不能反映真实病人的情况。当诊所诊治了数千病人后,会发现课本中所描述的北美的情况与实际诊所数据显示的情况是完全不同的,实际诊所数据显示:
50%的病人吸烟.1%患有肺结核.5.5% 得了肺癌.45% 患有不同程度支气管炎.
将这些新数据输入到BN模型中,才真正的获得了对你有意义的实用BN模型:
现在,看看如何在日常诊断中用该BN模型。首先,应该注意到,上述模型反映了一个来诊所求医的新患者,为诊断之前我们没有这个患者的任何信息。而当我们向患者咨询信息时,BN网中的概率就会自动调整,这就是贝叶斯推理最完美、强大之处。贝叶斯网络最强大之处在于从每个阶段结果所获得的概率都是数学与科学的反映,换句话说,假设我们了解了患者的足够信息,根据这些信息获得统计知识,网络就会告诉我们合理的推断。
现在看看如何增加个别病人信息调节概率。一个女病人进入诊所,我们开始和她谈论。她告诉我们她呼吸困难。我们将这个信息输入到网络。我们相信病人的信息,认为其存在100%呼吸困难。
可以观察到,一旦病人有呼吸困难症状,三种疾病的概率都增大了,因为这些疾病都有呼吸困难的症状。我们的病人存在这样的症状,某种程度上我们会推断这三种疾病可能性比较大,也增加了我们患者有严重疾病认识的信念。仔细看看推断的过程:
明显增大的是支气管炎,从 45% 到 83.4%. 为什么会有如此大的增长呢?因为支气管炎病比癌症和肺结核更常见. 只要我们相信患者有严重的肺部疾病,那最支气管炎的可能性会更大些。病人是抽烟者的几率也会随之增大,从50% 到63.4%.近期访问过亚洲的几率也会增大: 从1% 到1.03%, 显然是不重要的.X光照片不正常的几率也会上涨,从11% 到16%.
知道现在我们还无法确认什么疾病困扰着我们的这个女患者,我们目前比较相信她患有支气管炎的可能性很大,但是,我们应该获得更多信息来确定我们的判断,如果我们现在就主观定了病症,她可能得的是癌症,那我们就是一个烂医生。这就需要更多信息来做最后的决定。
因此,我们按照流程依此问她一些问题,如她最近是不是去过亚洲国家,吃惊的是她回答了“是”。现在获得的信息就影响了BN模型。
患肺结核的几率显然增大,从 2%到 9%. 而患有癌症、支气管炎以及该患者是吸烟患者的几率都有所减少。为什么呢?因为此时呼吸困难的原因相对更倾向于肺结核。
继续问患者一些问题,假设患者是个吸烟者,则网络变为
此时注意到最好的假设仍然是认为患者患有支气管炎。为了确认我们要求她做一个X光透视,结果显示其正常。结果如下:
这就更加肯定我们的推断她患有支气管炎。
如果X光显示不正常的话,则结果将有很大不同:
Note the big difference. TB or Lung Cancer has shot up enormously in probability. Bronchitis is still the most probable of the three separate illnesses, but it is less than the combination hypothesis of TB or Lung Cancer. So, we would then decide to perform further tests, order blood tests, lung tissue biopsies, and so forth. Our current Bayes net does not cover those tests, but it would be easy to extend it by simply adding extra nodes as we acquire new statistics for those diagnostic procedures. And we do not need to throw away any part of the previous net. This is another powerful feature of Bayes nets. They are easily extended (or reduced, simplified) to suit your changing needs and your changing knowledge.
In this section we learned that a Bayesian network is a mathematically rigorous way to model a world, one which is flexible and adaptable to whatever degree of knowledge you have, and one which is computationally efficient.
注意最大的区别。结核病或肺癌增加的概率极大。支气管炎仍然是三个独立的疾病中最可能的一个,但它小于&结核或肺癌&这一组合的假设。所以,我们将决定进行进一步测试,血液测试,肺组织活检,等等。我们当前的贝叶斯网不包括这些测试,但它很容易扩展,只需添加额外的节点作为我们获得新的统计数据的诊断程序。我们不需要扔掉以前的任何部分。这是贝叶斯网的另一个强大的功能。他们很容易扩展(或减少,简化),以适应不断变化的需求和变化的知识。
在本节中,我们了解到,贝叶斯网络是一个用严格的数学方法来模拟一个世界的方法,是灵活的,适应于任何你拥有的知识程度的方法,同时也是计算效率的方法。
中级会员, 积分 326, 距离下一级还需 174 积分
论坛徽章:13
知乎上的东西都很深入哦
注册会员, 积分 79, 距离下一级还需 121 积分
论坛徽章:2
先顶再看,贝叶斯真是应用广泛啊~
ps:知乎是个好东西
注册会员, 积分 183, 距离下一级还需 17 积分
论坛徽章:4
不知道为什么,图片总加载不了,挺想看图片的
高级会员, 积分 507, 距离下一级还需 493 积分
论坛徽章:13
赞楼主,赞知乎,赞分享~~~
注册会员, 积分 61, 距离下一级还需 139 积分
论坛徽章:1
这个赞,已关注知乎问题
注册会员, 积分 60, 距离下一级还需 140 积分
论坛徽章:1
感谢楼主分享,之前老师上课还有很多不太明白的,学习一下
扫一扫加入本版微信群贝叶斯分类的通俗理解
贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础。
简单来说,贝叶斯定理是为了解决现实生活中常常遇到的问题:已知某条件概率P(A|B),如何得到两个事件交换后的概率P(B|A)。贝叶斯定理就为我们打通从P(A|B)获得P(B|A)的道路。贝叶斯公式如下:
以顾客购买预测为例,则B为分类集合,{B1=买,B2=不买};A为项集合,其中每个元素可能包含多个属性,如年龄、收入、性别,是一个待分类项。我们预测的目标就是将这些待分类项与分类集合B中的元素建立映射关系。
现实的情况下我们很难直接对某个顾客判断其是否购买,但却能够根据历史样本数据总结出,在购买的顾客中,青年人、中年人或老年人各占比多少,后者的计算其实便是P(A|Bi),而是否购买的概率则是计算的目标P(Bi|A)。
在项集合各个属性独立的前提下,P(A|Bi)=P(A1|Bi) * P(A2|Bi) ...... *P(An|Bi)。
若各个属性是离散值,如年龄属性A1={青年,中年,老年},收入属性A2={高,中,低};则上述公式中的每一项在样本中直接统计即可。
若属性为连续值,则需要假设连续值属性服从标准高斯分布,通过高斯分布的概率密度曲线计算概率。
当然,对于P(Bi|A),有多个计算结果(数目等同于B集合的元素数),贝叶斯分类的原理是将A归入使得P(Bi|A)最大的类,因此我们再次观察公式
分母一定,因此计算过程实际上是使得分母P(A|B)P(B)最大,若{B1=买,B2=不买},P(B1|A)=0.9,P(B2|A)=0.1,则说明对于待分类的顾客A,其属于B1类的概率是90%,属于B2类的概率是10%,因此归于B1类,认为顾客A会购买。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。谢邀。&br&Bayesian学派说概率是一个人对于一件事的信念强度,概率是主观的。而频率派是说概率是客观的。所有能用客观概率假设能解的题,用主观概率假设也都能解,答案一样。对于两者都能解的题,主观概率假设和客观概率假设会得到同样的答案。&br&&br&更严格的说法在《概率论沉思录》有证明。该书证明了假设现实中有一个客观概率,比如某物理现象出现的概率是0.5。那么,在给定足够充分的信息的情况下,主观概率都会逼近客观概率。&br&&br&为什么主观概率会接近于客观概率?或者说,为什么人类可以通过头脑认识世界?&br&想象一下,如果主观概率不会接近于客观概率,也就意味着人脑认识不了客观世界,然后人类的一切推理、探索、发现、认识,都只是人类的幻想,这是否让人不寒而栗?&br&&br&谢天谢地,我们生活在一个人脑恰好可以理解的世界里。这也是本书英文标题《probability: the logic of science》的意义,谢天谢地,我们今天的科学不是幻影。可是,为什么?客观概率是外部世界的演化,而人脑是内部世界的思考,它们凭什么恰好一致?&br&&br&这是因为进化和人择原理。主观概率是在刻画人脑的思考过程。如果主观概率不逼近客观概率,也就是人脑无法通过思考获得现实的真相,人类这个物种根本就活不下来。而另外一方面,概率论的基础其实很简单,就是几条公理。看起来复杂的人类智能,其实就是基于这几条简单的公理。所以,自然演化这么一个简单的过程,能够恰好演化出一个复合概率论的神经细胞和人脑,其实没有想象中那么神奇。沿着这条路往下走,我们可以推导出很多关于人脑和进化的知识。我当时想到这一部分的时候,感到如痴如醉。我们今天已经有很多关于人类智能的零散的知识,我真希望自己能活着看到人工智能实现的那一天。&br&&br&在上面的讨论中,我不加证明的声称&主观概率是在刻画人脑的思考过程“,有证据吗?&br&&br&有的。《概率论沉思录》基于主观概率假设和几个其他的假设(这几个假设是从大部分人的思考过程中抽象出来的),用严格的逻辑推理证明概率论的几大公理。也就是说,概率论的几大公理可以完全由人脑思考过程的几个特点推理出来。概率论是今天这个样子,且只能是今天这个样子。&br&&br&在后续的章节中,作者举了大量的例子,用严格的数学计算来解释我们日常生活中的种种推理,比如福尔摩斯破案,比如为什么人类社会中存在意见极化的现象(一个新的关于转基因的实验出来,为什么反对者只是更加反对,支持者变得更加支持。)。这些推理初看起来都是人的不理性,也就是不遵从概率论来推理,但是仔细分析之后,就会发现看起来最不理性的现象,其实还是可以用概率论解释的。&br&&br&另外说一句,这些现象是不能用客观概率来刻画的。只能用主观概率假设,整个推理过程才有意义。&br&&br&我们应该在中学教育中传授逻辑和Bayesian概率论。逻辑给予我们清晰思考的基础,但是日常生活中的思考,因为信息不充分性,其实更接近于Bayesian概率论,同样清晰、严谨,但允许在信息不充分的情况下进行推理。这或许能够帮助我们创造一个更好的社会。
谢邀。 Bayesian学派说概率是一个人对于一件事的信念强度,概率是主观的。而频率派是说概率是客观的。所有能用客观概率假设能解的题,用主观概率假设也都能解,答案一样。对于两者都能解的题,主观概率假设和客观概率假设会得到同样的答案。 更严格的说法在…
并不仅仅加了先验p(w), 有很大的区别。 任何的一个基础模型都可以演变成贝叶斯模型。在一个基础模型之下我们需要去estimate一些未知的参数(比如在linear regression, 需要去计算W这个向量), 但在贝叶斯模型下我们需要去计算的是W的分布(而不是W的point estimation),用其分布直接计算对y的预测值p(y|x,D),所以我们需要去需要integrate W,也就是说我们把所有可能的W向量都会去考虑, 这也为什么贝叶斯模型通常intractable, 所以我们需要用MCMC或者variational方法,而不是直接用优化的方法。在贝叶斯模型之下, 随着我们observe more and more data , 我们会对W向量的分布会有更清晰的推断,这其实就是posterior inference. &br&&br&下面简单说一下一些预测模型之间的联系:&br&我们一般考虑3种预测模式,Maximum likelihood estimation (ML), Maximum a posteriori estimation(MAP), 贝叶斯模型.
前两者属于point estimation. &br&&br&&b&Maximum likelihood estimation (ML):&/b& 这是最简单的point estimation,
也就是我们需要去计算P(D|W), 从而找到最优化的W. 它的缺点就是数据比较少的时候往往overfit。&br&&br&&b&Maximum a posteriori estimation (MAP)&/b&. 他是在ML的基础上加了prior, 也就是假定了一些P(W)的分布。在MAP情况下我们需要计算P(W|D) (从贝叶斯定理,我们可以得到 P(W|D) \prop P(W) \times P(D|W)).
在linear regression上加上prior其实相当于加了regularization. 如果我们假定P(W)服从高斯分布,那我们加的实际上是L2_norm, 如果我们假定P(W)是拉普拉斯分布,那我们加的是L1_norm(linear regression情况下就是相当于LASSO,会有sparse的特点)。 但是即使regularization会防止overfitting, 但我们还是需要设置regularization coefficient \lamda (比如 minimize \sum_i (y_i-f(_ix,w))^2 + \lamda ||w||_2^2).
lamda的设置一般需要用cross validation,或者用一些统计学的方法(尽管实际上没有多少人用这个), 所以在MAP的情况下设置这些regularization coefficient成了难题。 &br&&br&&b&贝叶斯模型&/b&:&br&好了,MAP的一些limitation 贝叶斯可以帮我们解决. 贝叶斯的特点就是考虑整个W的分布,所以自然而然也就是防止overfitting. 在贝叶斯模型下,我们需要计算P(W|D), 但不要忘记,在这里我们是计算W的分布,而不是W的一个最优化的值!(不同于MAP)。 当然,贝叶斯的优点也带来了一些麻烦,就是它的计算比前两个方法复杂的多。如果想深入了解的话可以去翻翻MCMC或者variational inference文章读一读。&br&&br&Ideally, 如果我们的数据非常多, ML的效果已经很好了。 数据越多,我们的prior P(W)的作用会越小。
并不仅仅加了先验p(w), 有很大的区别。 任何的一个基础模型都可以演变成贝叶斯模型。在一个基础模型之下我们需要去estimate一些未知的参数(比如在linear regression, 需要去计算W这个向量), 但在贝叶斯模型下我们需要去计算的是W的分布(而不是W的point …
简单说,频率派认为估计对象(参数)是一个未知的固定值。而贝叶斯却认为未知的参数都是随机变量。&br&&br&我曾经见到这么个不错的例子:我们要通过一些事实估计“爱因斯坦在日晚上八点吸烟”的真假。定义参数&img src=&///equation?tex=%5Ctheta%0A& alt=&\theta
& eeimg=&1&&:&br&&img src=&///equation?tex=%5Ctheta+%3D1& alt=&\theta =1& eeimg=&1&&,吸烟;&img src=&///equation?tex=%5Ctheta+%3D+0& alt=&\theta = 0& eeimg=&1&&,没吸烟。&br&那么频率派认为,爱因斯坦有没有曾经在这时刻吸烟是事实,&img src=&///equation?tex=%5Ctheta& alt=&\theta& eeimg=&1&&是取值0或者1的固定数,不能说&&img src=&///equation?tex=%5Ctheta& alt=&\theta& eeimg=&1&&=1的概率是xxx&;然而贝叶斯派认为可以说“&img src=&///equation?tex=%5Ctheta& alt=&\theta& eeimg=&1&&=1概率是30%”。而且随着所得资料(样本x)的增多,我们可以把这个概率加以变化,记得到&img src=&///equation?tex=%5Ctheta+%7C+x& alt=&\theta | x& eeimg=&1&&的分布。这个概率其实是“信心”的含义。&br&&br&频率派和贝叶斯代表两种不同的真理观。频率派认为本体(即参数)存在且固定,只不过我们看不到罢了, 参数的角色类似于柏拉图的“理念”。贝叶斯则认为,只要是我们没有感知的东西都可以认为是随机的,感知到了新的表象(即观测数据)只是增加对不可知事物(参数)的信念,使得&img src=&///equation?tex=%5Ctheta+%7C+x& alt=&\theta | x& eeimg=&1&&的分布比&img src=&///equation?tex=%5Ctheta& alt=&\theta& eeimg=&1&&更加“集中”了。这类似于康德的不可知论。
简单说,频率派认为估计对象(参数)是一个未知的固定值。而贝叶斯却认为未知的参数都是随机变量。 我曾经见到这么个不错的例子:我们要通过一些事实估计“爱因斯坦在日晚上八点吸烟”的真假。定义参数\theta
: \theta =1,吸烟;\theta = 0,…
专业需要,接触到一些matlab智能算法。学习阶段发现《MATLAB智能算法30个案例分析》这本书,以案例来操作算法,还算比较实用。算法相对来说也比较简单,不过都体现了智能算法的原理。并且全部附有算法代码。附上目录以及网盘,有需要可以下载。&img src=&/bcb0affa381_b.jpg& data-rawwidth=&480& data-rawheight=&533& class=&origin_image zh-lightbox-thumb& width=&480& data-original=&/bcb0affa381_r.jpg&&&img src=&/5ec2ab3852_b.jpg& data-rawwidth=&512& data-rawheight=&192& class=&origin_image zh-lightbox-thumb& width=&512& data-original=&/5ec2ab3852_r.jpg&&网盘地址:&a href=&///?target=http%3A///s/1o6MnsSy& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/s/1o6MnsS&/span&&span class=&invisible&&y&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&
专业需要,接触到一些matlab智能算法。学习阶段发现《MATLAB智能算法30个案例分析》这本书,以案例来操作算法,还算比较实用。算法相对来说也比较简单,不过都体现了智能算法的原理。并且全部附有算法代码。附上目录以及网盘,有需要可以下载。网盘地址:…
&p&抛砖引玉:&/p&&p&整个平台是清华大学副教授朱军的学生们主导的,有国家经费的支持,个人觉得是一个很有意义的项目。先搬砖翻译项目介绍:珠算(ZhuSuan)是一个构建于 TensorFlow 之上的用于生成模型(Generative Model)的 Python 库。和现有的主要为监督式任务设计的深度学习库不同,珠算的特点是其在很大程度上根基于贝叶斯推理(Bayesian Inference),因此支持各种生成模型:既包括传统的分层贝叶斯模型,也有最近的深度生成模型。 &/p&&p&要理解这个项目 有几个背景知识:&/p&&p&1、TensorFlow是一个比较流行的深度学习开发平台,在Python下有大量现成的代码基础,所以可以看到zhusuan的项目开发实际上大部分是复用的TensorFlow的类,包括分布类型,网络结构定义等等。这样同时也获得了GPU的计算能力&/p&&p&2、“珠算”的核心目的是做贝叶斯深度学习,这里要区别于常见的CNN神经网络。CNN通过深层的网络结构去拟合的往往是分类标注的函数模型,其中没有用到任何的分布假设,所以要很大量的数据去训练一个简单的图片标注。而贝叶斯擅长的基于各种分布假设的统计推断,可以从一个输入分布推断到另一个输出分布,因为有比较强的分布假设,所以在小规模样本的训练效果上非常好。&/p&&p&3、现在的深度学习框架里,VAE和GAN这类生成模型就是类似思路的产物,引用我今年北京R会上面的分享(我觉得我讲的DCGAN比朱老师讲的TripleGAN更清晰易懂,而且我们还带W的):&/p&&img src=&/v2-91c09cbde68b4004461acd1abda1675b_b.png& data-rawwidth=&762& data-rawheight=&444& class=&origin_image zh-lightbox-thumb& width=&762& data-original=&/v2-91c09cbde68b4004461acd1abda1675b_r.png&&&p&特征分布 Z空间,样本分布X空间,统计专业的同学可以把这个转换理解为分布的重采样,计算机专业的可以理解为编码机,通信专业的可以想象为时域到频域的傅里叶变换。画出来就是下面这样:&/p&&img src=&/v2-9d5323cbd6eac79f84e571_b.png& data-rawwidth=&769& data-rawheight=&484& class=&origin_image zh-lightbox-thumb& width=&769& data-original=&/v2-9d5323cbd6eac79f84e571_r.png&&&p&但这里面关键是,如果用MCMC过程,产生的是一个贝叶斯状态网络,而用深度学习训练出来的是一个深度神经网络,但最终目的都是希望提取样本的特征。特征搞好了,就可以肆意的在两个分布间进行创作,下面是车轮互联用草图生成彩色效果图的DCGAN效果:&/p&&img src=&/v2-7c29f2c4ef53d995e6e82_b.png& data-rawwidth=&655& data-rawheight=&338& class=&origin_image zh-lightbox-thumb& width=&655& data-original=&/v2-7c29f2c4ef53d995e6e82_r.png&&&p&————正文分割————&/p&&p&有了前面的背景知识,那么程序员的问题就来了,对比CNN得到的模型是一个固定的向量,而当我训练贝叶斯深度模型的时候,会得到Z空间和X空间的分布,在ZhuSuan里以 BayesianNet表示。其中的随机节点以 stochastic node 类来表示,他们的观测状态可以很方便的得到复用。&/p&&p&比如在VAE模型里,我们训练的时候用的X先验分布是伯努利分布(最后一行)&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span class=&kn&&import&/span& &span class=&nn&&tensorflow&/span& &span class=&kn&&as&/span& &span class=&nn&&tf&/span&
&span class=&kn&&from&/span& &span class=&nn&&tensorflow.contrib&/span& &span class=&kn&&import&/span& &span class=&n&&layers&/span&
&span class=&kn&&import&/span& &span class=&nn&&zhusuan&/span& &span class=&kn&&as&/span& &span class=&nn&&zs&/span&
&span class=&k&&with&/span& &span class=&n&&zs&/span&&span class=&o&&.&/span&&span class=&n&&BayesianNet&/span&&span class=&p&&()&/span& &span class=&k&&as&/span& &span class=&n&&model&/span&&span class=&p&&:&/span&
&span class=&n&&z_mean&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&zeros&/span&&span class=&p&&([&/span&&span class=&n&&n&/span&&span class=&p&&,&/span& &span class=&n&&n_z&/span&&span class=&p&&])&/span&
&span class=&n&&z_logstd&/span& &span class=&o&&=&/span& &span class=&n&&tf&/span&&span class=&o&&.&/span&&span class=&n&&zeros&/span&&span class=&p&&([&/span&&span class=&n&&n&/span&&span class=&p&&,&/span& &span class=&n&&n_z&/span&&span class=&p&&])&/span&
&span class=&n&&z&/span& &span class=&o&&=&/span& &span class=&n&&zs&/span&&span class=&o&&.&/span&&span class=&n&&Normal&/span&&span class=&p&&(&/span&&span class=&s&&'z'&/span&&span class=&p&&,&/span& &span class=&n&&z_mean&/span&&span class=&p&&,&/span& &span class=&n&&z_logstd&/span&&span class=&p&&,&/span& &span class=&n&&group_event_ndims&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span&
&span class=&n&&lx_z&/span& &span class=&o&&=&/span& &span class=&n&&layers&/span&&span class=&o&&.&/span&&span class=&n&&fully_connected&/span&&span class=&p&&(&/span&&span class=&n&&z&/span&&span class=&p&&,&/span& &span class=&mi&&500&/span&&span class=&p&&)&/span&
&span class=&n&&lx_z&/span& &span class=&o&&=&/span& &span class=&n&&layers&/span&&span class=&o&&.&/span&&span class=&n&&fully_connected&/span&&span class=&p&&(&/span&&span class=&n&&lx_z&/span&&span class=&p&&,&/span& &span class=&mi&&500&/span&&span class=&p&&)&/span&
&span class=&n&&x_logits&/span& &span class=&o&&=&/span& &span class=&n&&layers&/span&&span class=&o&&.&/span&&span class=&n&&fully_connected&/span&&span class=&p&&(&/span&&span class=&n&&lx_z&/span&&span class=&p&&,&/span& &span class=&n&&n_x&/span&&span class=&p&&,&/span& &span class=&n&&activation_fn&/span&&span class=&o&&=&/span&&span class=&bp&&None&/span&&span class=&p&&)&/span&
&span class=&n&&x&/span& &span class=&o&&=&/span& &span class=&n&&zs&/span&&span class=&o&&.&/span&&span class=&n&&Bernoulli&/span&&span class=&p&&(&/span&&span class=&s&&'x'&/span&&span class=&p&&,&/span& &span class=&n&&x_logits&/span&&span class=&p&&,&/span& &span class=&n&&group_event_ndims&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&p&模型训练后得到了X的观测分布,为了复用学习到的X变量,我们可以在新的网络定义里做声明&/p&&div class=&highlight&&&pre&&code class=&language-python&&&span class=&k&&with&/span& &span class=&n&&zs&/span&&span class=&o&&.&/span&&span class=&n&&BayesianNet&/span&&span class=&p&&(&/span&&span class=&n&&observed&/span&&span class=&o&&=&/span&&span class=&p&&{&/span&&span class=&s&&'x'&/span&&span class=&p&&:&/span& &span class=&n&&x_batch&/span&&span class=&p&&}):&/span&
&span class=&o&&...&/span&
&span class=&n&&x&/span& &span class=&o&&=&/span& &span class=&n&&zs&/span&&span class=&o&&.&/span&&span class=&n&&Bernoulli&/span&&span class=&p&&(&/span&&span class=&s&&'x'&/span&&span class=&p&&,&/span& &span class=&n&&x_logits&/span&&span class=&p&&,&/span& &span class=&n&&group_event_ndims&/span&&span class=&o&&=&/span&&span class=&mi&&1&/span&&span class=&p&&)&/span&
&/code&&/pre&&/div&&p&以上代码是ZhuSuan项目指南里的例子 &a href=&///?target=http%3A//zhusuan.readthedocs.io/en/latest/tutorials.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Tutorials - ZhuSuan 0.3.0 documentation&i class=&icon-external&&&/i&&/a&&/p&&p&随着TripleGAN在极小标注样本下获得了显著的效果,以及生成模型的广泛应用前进,相信贝叶斯深度学习会大有用武之地,感兴趣的可以一起关注这个领域&/p&
抛砖引玉:整个平台是清华大学副教授朱军的学生们主导的,有国家经费的支持,个人觉得是一个很有意义的项目。先搬砖翻译项目介绍:珠算(ZhuSuan)是一个构建于 TensorFlow 之上的用于生成模型(Generative Model)的 Python 库。和现有的主要为监督式任务…
以下是个人读研以来感受用得最多的数学基础课,挂一漏万,大侠请补充指正&br&&br&高等数学是基础中的基础,研究生以上级别的一切理工科都需要这个打底,数据挖掘、人工智能、模式识别此类跟数据打交道的又尤其需要多元微积分运算基础&br&&br&线性代数很重要,一般来说线性模型是你最先要考虑的模型,加上很可能要处理多维数据,你需要用线性代数来简洁清晰的描述问题,为分析求解奠定基础&br&&br&概率论、数理统计、随机过程更是少不了,涉及数据的问题,不确定性几乎是不可避免的,引入随机变量顺理成章,相关理论、方法、模型非常丰富(比如说问题里提到的贝叶斯网络),是个庞大的工具库,不可不会&br&&br&再就是优化理论与算法,除非你的问题是像二元一次方程求根那样有现成的公式,否则你将不得不面对各种看起来无解但是要解的问题,优化将是你的GPS为你指路&br&&br&有以上这些知识打底,就可以开拔了,针对具体应用再补充相关的知识与理论,比如说一些我觉得有帮助的是数值计算、图论、拓扑,更理论一点的还有实/复分析、测度论,偏工程类一点的还有信号处理、数据结构
以下是个人读研以来感受用得最多的数学基础课,挂一漏万,大侠请补充指正 高等数学是基础中的基础,研究生以上级别的一切理工科都需要这个打底,数据挖掘、人工智能、模式识别此类跟数据打交道的又尤其需要多元微积分运算基础 线性代数很重要,一般来说线性…
&p&简单罗列下:指数分布族具有一个最大熵性质,均值参数空间具有凸性,对其上的任意内部点,最小指数族都能找到相应的分布满足一些性质。所以一般考虑指数族。具体到VB法,E步骤是对隐变量后验概率的求解,其实质为计算相应的充分统计量,而M步骤为优化对应的参数向量(即参数的变分分布)。这两者可以看做一组共轭函数之间的最大熵与极大似然的共轭对偶关系。因为这是在指数分布族上的找最优分布,因此称为变分法。&/p&&p&如果想看variational inference的理论基础的话,建议lz看Graphical models, exponential families, and variational inference 的第3,5,6章。看完指数分布族,凸优化,共轭对偶,心里就很有底气了。&/p&&p&简单的入门,可以看下我以前写的文章:&a href=&///?target=http%3A////variational-bayes/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&变分贝叶斯算法理解与推导 - Junhao Hua 博客&i class=&icon-external&&&/i&&/a&&/p&
简单罗列下:指数分布族具有一个最大熵性质,均值参数空间具有凸性,对其上的任意内部点,最小指数族都能找到相应的分布满足一些性质。所以一般考虑指数族。具体到VB法,E步骤是对隐变量后验概率的求解,其实质为计算相应的充分统计量,而M步骤为优化对应的…
假设有先验&img src=&///equation?tex=P%28%5Ctheta%29& alt=&P(\theta)& eeimg=&1&&和似然&img src=&///equation?tex=P%28%5Cmathcal%7BD%7D%7C%5Ctheta%29& alt=&P(\mathcal{D}|\theta)& eeimg=&1&&,现在要求&img src=&///equation?tex=P%28%5Ctheta%7C+%5Cmathcal%7BD%7D%29%3D%5Cfrac%7BP%28%5Ctheta%2C%5Cmathcal%7BD%7D%29%7D%7BP%28%5Cmathcal%7BD%7D%29%7D%3D%5Cfrac%7BP%28%5Ctheta%29P%28%5Cmathcal%7BD%7D%7C%5Ctheta%29%7D%7B%5Cint+P%28%5Ctheta%29P%28%5Cmathcal%7BD%7D%7C%5Ctheta%29%5C%2C%5Cmathrm%7Bd%7D%5Ctheta%7D& alt=&P(\theta| \mathcal{D})=\frac{P(\theta,\mathcal{D})}{P(\mathcal{D})}=\frac{P(\theta)P(\mathcal{D}|\theta)}{\int P(\theta)P(\mathcal{D}|\theta)\,\mathrm{d}\theta}& eeimg=&1&&,但分母那个积分并不能直接求出,这是我们要解决的问题。&br&&br&&a href=&///?target=https%3A//en.wikipedia.org/wiki/Gaussian_quadrature& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Gaussian quadrature&i class=&icon-external&&&/i&&/a& 是基于格点一维积分的数值算法。这种一维数值积分算法很难直接推广到高维积分,因为所需格点数量随维数指数增长。也有一些确定性的基于稀疏格点的数值算法,不过限制比较多,在这个问题上大家不关心这类数值算法。&br&&br&Laplace (Gaussian) approximation 的想法是由于&img src=&///equation?tex=-%5Clog+p%28%5Ctheta%2C%5Cmathcal%7BD%7D%29%5Capprox-%5Clog+p%28%5Ctheta%5E%2A%2C%5Cmathcal%7BD%7D%29%2B%5Cfrac%7B1%7D%7B2%7D%28%5Ctheta-%5Ctheta%5E%2A%29%5E%5Cmathrm%7BT%7DH%28%5Ctheta-%5Ctheta%5E%2A%29& alt=&-\log p(\theta,\mathcal{D})\approx-\log p(\theta^*,\mathcal{D})+\frac{1}{2}(\theta-\theta^*)^\mathrm{T}H(\theta-\theta^*)& eeimg=&1&&(&img src=&///equation?tex=%5Ctheta%5E%2A& alt=&\theta^*& eeimg=&1&&是&img src=&///equation?tex=%5Ctheta& alt=&\theta& eeimg=&1&&的MAP,&img src=&///equation?tex=H%5Ctriangleq-%5Cmathrm%7BHess%7D%28%5Clog+p%28%5Ctheta%5E%2A%2C%5Cmathcal%7BD%7D%29%29& alt=&H\triangleq-\mathrm{Hess}(\log p(\theta^*,\mathcal{D}))& eeimg=&1&&),因此&img src=&///equation?tex=%5Cint_%5Ctheta+p%28%5Ctheta%2C%5Cmathcal%7BD%7D%29%5C%2C%5Cmathrm%7Bd%7D%5Ctheta& alt=&\int_\theta p(\theta,\mathcal{D})\,\mathrm{d}\theta& eeimg=&1&&可以通过高斯积分算出。好处是简单,坏处是显然不能什么分布都拿正态分布去近似。实际中多作为trick使用。例子请在 &a href=&///?target=https%3A//mitpress.mit.edu/books/machine-learning-0& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Machine Learning: A Probabilistic Perspective&i class=&icon-external&&&/i&&/a& 中搜索 Gaussian approximation,其中包括了 &a href=&///?target=https%3A//en.wikipedia.org/wiki/Bayesian_information_criterion& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Bayesian information criterion&i class=&icon-external&&&/i&&/a& 的推导。&br&&br&&a href=&///?target=https%3A//en.wikipedia.org/wiki/Variational_Bayesian_methods& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Variational inference&i class=&icon-external&&&/i&&/a& 的目标是求一个&img src=&///equation?tex=q%28%5Ctheta%29& alt=&q(\theta)& eeimg=&1&&使得&img src=&///equation?tex=KL%5Cleft%28q%28%5Ctheta%29%5C%7Cp%28%5Ctheta%7C%5Cmathcal%7BD%7D%29%5Cright%29& alt=&KL\left(q(\theta)\|p(\theta|\mathcal{D})\right)& eeimg=&1&&最小,最终表现形式为 mean field approximation。由于涉及到优化,所以一个方向是关于把大规模优化的东西用到variational inference上。例子:&a href=&///?target=http%3A//www.jmlr.org/papers/v14/hoffman13a.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Stochastic Variational Inference&i class=&icon-external&&&/i&&/a&。&br&&br&&a href=&///?target=https%3A//en.wikipedia.org/wiki/Markov_chain_Monte_Carlo& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Markov chain Monte Carlo&i class=&icon-external&&&/i&&/a& 就是直接从&img src=&///equation?tex=P%28%5Ctheta%7C+%5Cmathcal%7BD%7D%29& alt=&P(\theta| \mathcal{D})& eeimg=&1&&采样了。过程是&br&1. 假设当前位置为&img src=&///equation?tex=%5Ctheta_t& alt=&\theta_t& eeimg=&1&&,现从某个容易采样的proposal 分布&img src=&///equation?tex=q%28%5Ctheta%27+%7C%5Ctheta_t%29& alt=&q(\theta' |\theta_t)& eeimg=&1&&中采一个&img src=&///equation?tex=%5Ctheta%27& alt=&\theta'& eeimg=&1&&;&br&2. 以概率(请翻书)接受或拒绝&img src=&///equation?tex=%5Ctheta%27& alt=&\theta'& eeimg=&1&&。如果接受了&img src=&///equation?tex=%5Ctheta%27& alt=&\theta'& eeimg=&1&&,&img src=&///equation?tex=%5Ctheta_%7Bt%2B1%7D%3D%5Ctheta%27& alt=&\theta_{t+1}=\theta'& eeimg=&1&&,否则&img src=&///equation?tex=%5Ctheta_%7Bt%2B1%7D%3D%5Ctheta_t& alt=&\theta_{t+1}=\theta_t& eeimg=&1&&。如此一来这个&img src=&///equation?tex=%5Ctheta_t%5Cto%5Ctheta_%7Bt%2B1%7D& alt=&\theta_t\to\theta_{t+1}& eeimg=&1&&的Markov链的稳态分布恰好就是&img src=&///equation?tex=P%28%5Ctheta%7C+%5Cmathcal%7BD%7D%29& alt=&P(\theta| \mathcal{D})& eeimg=&1&&。&br&&br&实际使用中可能会有各种问题,比如说很难从分布的一个 mode 跳到另一个 mode 啦,于是有人提出 &a href=&///?target=http%3A//arxiv.org/pdf/.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&The No-U-Turn Sampler: Adaptively Setting Path Lengths in Hamiltonian Monte Carlo&i class=&icon-external&&&/i&&/a&(大致就是下个样本走得越远越好,no U-turn),并在其上做了个 &a href=&///?target=http%3A//mc-stan.org/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Stan&i class=&icon-external&&&/i&&/a&,实现了全自动基于 NUTS 的 full Bayesian inference(输入生成模型的描述及数据,输出模型参数的采样样本,带某种程度的可视化)。&br&另外也有关于并行化的一些研究,可以自己搜一下。&br&&br&(小知识:其他做 Bayesian inference 的包还有 &a href=&///?target=http%3A//bayespy.org/en/latest/& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&BayesPy&i class=&icon-external&&&/i&&/a&、&a href=&///?target=https%3A///pymc-devs/pymc& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&PyMC&i class=&icon-external&&&/i&&/a& 等等)&br&&br&MCMC 中的接受概率是跟似然函数&img src=&///equation?tex=P%28%5Cmathcal%7BD%7D%7C%5Ctheta%29& alt=&P(\mathcal{D}|\theta)& eeimg=&1&&有关的,假如连这个也很难具体算出来,那么可以考虑 &a href=&///?target=https%3A//en.wikipedia.org/wiki/Approximate_Bayesian_computation& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&approximate Bayesian computation&i class=&icon-external&&&/i&&/a&,做所谓的 likelihood-free inference:在采到&img src=&///equation?tex=%5Ctheta%27& alt=&\theta'& eeimg=&1&&后,用它来生成数据&img src=&///equation?tex=%5Cmathcal%7BD%7D%27& alt=&\mathcal{D}'& eeimg=&1&&,如果&img src=&///equation?tex=%5Crho%28S%28%5Cmathcal%7BD%7D%29%2CS%28%5Cmathcal%7BD%7D%27%29%29%3C%5Cepsilon& alt=&\rho(S(\mathcal{D}),S(\mathcal{D}'))&\epsilon& eeimg=&1&&就接受&img src=&///equation?tex=%5Ctheta%27& alt=&\theta'& eeimg=&1&&,否则拒绝,这里&img src=&///equation?tex=S& alt=&S& eeimg=&1&&是某个统计量,&img src=&///equation?tex=%5Crho& alt=&\rho& eeimg=&1&&是某个距离。&br&&br&另外可以参考 &a href=&///?target=http%3A//www.mcmchandbook.net/HandbookTableofContents.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Handbook of Markov Chain Monte Carlo&i class=&icon-external&&&/i&&/a&,上面有 MCMC 的各种推广及改进。&br&&br&MCEM 就是把 MCMC 用到EM中的E步。相应地有 variational EM。Machine Learning: A Probabilistic Perspective 11.4.9 有两者及其他一些EM变种的简介。&br&&br&关于 variational inference 跟 sampling 算法的比较,这里原文引用 Machine Learning: A Probabilistic Perspective 第24章的导语:&br&&blockquote&It is worth briefly comparing MCMC to variational inference (Chapter 21). The advantages of variational inference are (1) for small to medium problems,
(2) (3) is it easy to de (4) it often provides a lower bound on the log likelihood. The advantages of sampling are: (1) it is often (2) it is applicable to a broader range of models, such as models whose size or structure changes depending on the values of certain variables (e.g., as happens in matching problems), or models without n (3) sampling can be faster than variational methods when applied to really huge models or datasets.&br&&/blockquote&(这里没有提到判断 MCMC 是否收敛并不是显然的,这算是一个缺点。具体参见 &a href=&///?target=http%3A//www.mcmchandbook.net/HandbookTableofContents.html& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Handbook of Markov Chain Monte Carlo&i class=&icon-external&&&/i&&/a& 第 6 章)&br&另外,&a href=&///?target=http%3A//jmlr.org/proceedings/papers/v37/salimans15.pdf& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&Markov Chain Monte Carlo and Variational Inference: Bridging the Gap&i class=&icon-external&&&/i&&/a& 也许可以看一下。
假设有先验P(\theta)和似然P(\mathcal{D}|\theta),现在要求P(\theta| \mathcal{D})=\frac{P(\theta,\mathcal{D})}{P(\mathcal{D})}=\frac{P(\theta)P(\mathcal{D}|\theta)}{\int P(\theta)P(\mathcal{D}|\theta)\,\mathrm{d}\theta},但分母那个积分并不能…
前一阵看到zhusuan发布,我脑海中最先浮现出的画面就是作者教美国人念这个名字,教了十遍还是念不对。美国人回家想试试,结果忘了怎么拼了,怎么都搜不出来……&br&&br&同学们,名字起的不好是要尴尬一辈子的,而且会影响宣传,这都是血的教训啊。你看caffe,torch,theano,keras,tensorflow这些名字就起的很好,最主要是上口好念,而且读音可以帮助记忆拼写。&br&&br&起名还是要多考虑世界人民的感受,建议珠算可以改叫abacus,背过gre单词的人都认识(逃&br&&br&更新:鉴于有同学觉得abacus丢掉了东方特色,我觉得也可以叫Zul'Suan(光速逃
前一阵看到zhusuan发布,我脑海中最先浮现出的画面就是作者教美国人念这个名字,教了十遍还是念不对。美国人回家想试试,结果忘了怎么拼了,怎么都搜不出来…… 同学们,名字起的不好是要尴尬一辈子的,而且会影响宣传,这都是血的教训啊。你看caffe,torch…
令参数&img src=&///equation?tex=P%28Y%3Dc_k%29%3D%5Ctheta_k& alt=&P(Y=c_k)=\theta_k& eeimg=&1&&,其中&img src=&///equation?tex=k%5Cin+%5Cleft%5C%7B+1%2C2..K+%5Cright%5C%7D+& alt=&k\in \left\{ 1,2..K \right\} & eeimg=&1&&。&br&那么随机变量Y的概率可以用参数来表示为一个紧凑的形式&img src=&///equation?tex=P%28Y%29%3D%5Csum_%7Bk%3D1%7D%5E%7BK%7D%7B%5Ctheta_k%7D+I%28Y%3Dc_k%29& alt=&P(Y)=\sum_{k=1}^{K}{\theta_k} I(Y=c_k)& eeimg=&1&&,I是指示函数&img src=&///equation?tex=Y%3Dc_k& alt=&Y=c_k& eeimg=&1&&成立时,I=1;否则I=0。&br&极大似然函数&img src=&///equation?tex=L%28%5Ctheta_k%3By_1%2Cy_2..y_N%29%3D%5Cprod_%7Bi%3D1%7D%5E%7BN%7DP%28y_i%29+%3D%5Cprod_%7Bk%3D1%7D%5E%7BK%7D%5Ctheta_k%5E%7BN_k%7D+& alt=&L(\theta_k;y_1,y_2..y_N)=\prod_{i=1}^{N}P(y_i) =\prod_{k=1}^{K}\theta_k^{N_k} & eeimg=&1&&,其中N为样本总数,&img src=&///equation?tex=N_k& alt=&N_k& eeimg=&1&&为样本中&img src=&///equation?tex=Y%3Dc_k& alt=&Y=c_k& eeimg=&1&&的样本数目,取对数得到&img src=&///equation?tex=l%28%5Ctheta_k%29%3Dln%28L%28%5Ctheta%29%29%3D%5Csum_%7Bk%3D1%7D%5E%7BK%7D%7BN_k+ln%5Ctheta_k%7D+& alt=&l(\theta_k)=ln(L(\theta))=\sum_{k=1}^{K}{N_k ln\theta_k} & eeimg=&1&&,要求该函数的最大值,注意到约束条件&img src=&///equation?tex=%5Csum_%7Bk%3D1%7D%5E%7BK%7D%7B%5Ctheta_k%7D+%3D1& alt=&\sum_{k=1}^{K}{\theta_k} =1& eeimg=&1&&可以用拉格朗日乘子法,即&img src=&///equation?tex=l%28%5Ctheta_k%2C%5Clambda%29%3D%5Csum_%7Bk%3D1%7D%5E%7BK%7D%7BN_k+ln%5Ctheta_k%7D+%2B%5Clambda%28%5Csum_%7Bk%3D1%7D%5E%7BK%7D%7B%5Ctheta_k%7D+-1%29& alt=&l(\theta_k,\lambda)=\sum_{k=1}^{K}{N_k ln\theta_k} +\lambda(\sum_{k=1}^{K}{\theta_k} -1)& eeimg=&1&&,求导就可以得到:&img src=&///equation?tex=%5Cfrac%7BN_k%7D%7B%5Ctheta_k%7D%2B%5Clambda%3D0+& alt=&\frac{N_k}{\theta_k}+\lambda=0 & eeimg=&1&&联立所有的k以及约束条件得到&img src=&///equation?tex=%5Ctheta_k%3D%5Cfrac%7BN_k%7D%7BN%7D+& alt=&\theta_k=\frac{N_k}{N} & eeimg=&1&&,完毕
令参数P(Y=c_k)=\theta_k,其中k\in \left\{ 1,2..K \right\} 。 那么随机变量Y的概率可以用参数来表示为一个紧凑的形式P(Y)=\sum_{k=1}^{K}{\theta_k} I(Y=c_k),I是指示函数Y=c_k成立时,I=1;否则I=0。 极大似然函数L(\theta_k;y_1,y_2..y_N)=\prod_{i=1…
&p&因为懒得打字,大量摘抄了另一位 &a class=&member_mention& href=&///people/0c13a3dff4& data-hash=&0c13a3dff4& data-hovercard=&p$b$0c13a3dff4&&@熊猫&/a& 同学的文字,希望能把事情说清楚:
贝叶斯公式与两个概率有关系,一个是先验概率(基础概率),一个是现象概率(观察到的条件)&/p&&p&仍然是熊猫给出的例子:某城市发生了一起汽车撞人逃跑事件,该城市只有两种颜色的车,蓝色15%,绿色85%,事发时有一个人在现场看见了,他指证是蓝车。但是根据专家在现场分析,当时那种条件能看正确的可能性是80%。那么,肇事的车是蓝车的概率到底是多少?&/p&&p&令B是城市里车为蓝色的事件,G为车子是绿色的事件,E为观察到车子为蓝色的事件。则由已知条件可以得出P(B)=0.15,P(G)=P(~B)=0.85,至于P(E)我们一会儿再说。&/p&&p&好了,现在,&b&如果没有证人看到肇事者车的话,那么我们只能盲猜&/b&,因此肇事者的车子为蓝色的概率只能是整个城市里面车为蓝色的概率,也就是先验概率P(B)=0.15,因为这时我们还没有其他证据介入,只能做个粗略的估算。&/p&&p&接下来,当当当当,有证人了。证人说他看到了车子,并且说是蓝色的,注意,这分两种情况,…………重要的事情说两遍:&b&贝叶斯里面现象(新的证据)部分总是分两种情况出现的&/b&:一是车子的确是蓝色的,并且证人也正确的分辨出车是蓝色的来了,概率为 P(E,B)=P(B)xP(E|B)=0.15x0.8=0.12,二是车子根本就是绿色的,只是证人看成蓝色的了,概率为P(E,~B)=P(~B)xP(E|~B)=P(~B)x(1 - P(~E|~B))=0.85x(1-0.8)=0.17(此处原本计算有误,感谢 &a class=&member_mention& href=&///people/b3b70ee9cf9b86f8d9c58& data-hash=&b3b70ee9cf9b86f8d9c58& data-hovercard=&p$b$b3b70ee9cf9b86f8d9c58&&@赵成明&/a& 提醒),所以P(E)=P(E,B)+P(E,~B)=0.12+0.17=0.29&/p&&p&然后,我们要求解的其实是在有证人的条件下车子为蓝色的概率,也就是P(B|E)=P(E,B)/P(E)=0.12/0.29=0.41&/p&&p&你看,&b&P(B|E)根本就是P(B)的加强版本&/b&,条件概率跟先验概率描述的根本就是同一件事。那么当当当当,又一个结论来了:当有新的证据出现时,P(B|E)会替代原来P(B)的角色。换句话说,现在警察找到了一个新的证人,他也觉得这辆肇事车是蓝色的,这时在新一轮的贝叶斯概率计算中,基础概率P(B)=0.41,而不是原先的0.15,大家可以算一下,新的P(B|E)=0.73,换句话说,当有两个人看见肇事车辆为蓝色的时候,对比只有一个人看到肇事车辆为蓝色的时候,该车实际为蓝色的概率大大增加&/p&&p&关于贝叶斯,写过一篇文章专门详述了相关的内容,可以参考链接:&/p&&p&&a href=&///?target=https%3A///lixianmin/cloud/blob/master/writer/R/bayes.md& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&lixianmin/cloud&i class=&icon-external&&&/i&&/a&&/p&
因为懒得打字,大量摘抄了另一位
同学的文字,希望能把事情说清楚:
贝叶斯公式与两个概率有关系,一个是先验概率(基础概率),一个是现象概率(观察到的条件)仍然是熊猫给出的例子:某城市发生了一起汽车撞人逃跑事件,该城市只有两种颜色的车,蓝…
&p&谢谢 &a class=&member_mention& href=&///people/889efc17b612bd& data-hash=&889efc17b612bd& data-hovercard=&p$b$889efc17b612bd&&@刘玄&/a& 邀请,其实 &a class=&member_mention& href=&///people/ae226e6b4e47b2e21fcc78cc6f580dbc& data-hash=&ae226e6b4e47b2e21fcc78cc6f580dbc& data-hovercard=&p$b$ae226e6b4e47b2e21fcc78cc6f580dbc&&@ShiraishiMai&/a& 已经说的很详细了,我来试着牺牲一点严谨度科普向一下。&/p&&p&先从纳什均衡说起吧,纳什均衡是什么?是一个博弈中的任何玩家都不想单方面偏离当前均衡策略的点。&/p&&p&贝叶斯均衡则在纳什均衡的基础上加上了玩家的“信念”,因为信息不对称了,所以玩家并不知道其他人是什么情况,从而只能依赖于自己的主观预期(当然这个预期是理性的)。每个玩家根据自己的主观预期,选择对自己最有利的策略。为什么贝叶斯均衡里面,玩家通常会有不同的类型呢? 因为如果玩家的类型一样,那么贝叶斯均衡就退化成了纳什均衡——我可以完全的根据自己的想法来完美的模拟对手的想法,我和对手是一样的,还有什么信息不对称呢?&/p&&br&&p&贝叶斯博弈,名为博弈,其实永远是一个自己和自己玩的游戏,因为你观察不到对方是什么类型,你就无法让自己的反应建立在对方的类型的基础上,所以你的策略只能和你自己的类型以及你对其他人的预期有关。比如拍卖的时候,你的拍卖出价策略,只是你自己的类型的一个函数。&/p&&br&&p&在贝叶斯均衡里面,给定一个信念的分布,就能够推出一个均衡解。加上精炼两个字之后,变成动态博弈,又多了一个约束,这个约束就是信念的一致性。&/p&&br&&p&怎么个一致法呢?我们用经典的自我实现的歧视模型来做个例子:&/p&&br&&p&有A和B两种可以从外貌上区分的人,比如男女,比如黑白,其天然的生产率一样。现在“信念”是强行认为A类人生产率比较低,B类人比较高。那么当A和B类人采用如下的行为策略时:&/p&&ul&&li&如果我是A类人,我就不努力;&/li&&li&如果我是B类人,我就努力;&/li&&/ul&&p&那么这个行为策略直接导致了A类人确实比B类人生产率低。于是反过来验证了雇主的信念,雇主会给A类人开一个低工资,B类人开一个高工资。而两类人的行为策略也变成了最优的选择:因为A类人工资低,所有A类人理性的就应该选择不努力。歧视被自我实现了。&/p&&p&这就是一个典型精炼贝叶斯均衡:信念和最优策略集紧紧的耦合在一起,没有任何一方能够单方面偏离:首先给定工资低,被歧视,A类人是没有动机提高努力的,因为自己的努力不足以获得足够的报酬;而雇主也没有动机单方面的扭转自己的信念,因为A类人的策略是不努力,所以雇主为什么要不同工同酬呢?&/p&&p&反过来,如果雇主持着一视同仁的信念,A类人和B类人也付出同样的努力的话,同样是一个精炼贝叶斯均衡:因为A类人和B类人的边际报酬相等,并且他们先天无差异,那么A和B就会付出相同的努力,达到相同的生产率,这也同样验证了雇主一视同仁的信念。&/p&&p&所以我们的这个例子有两个精炼贝叶斯均衡,但是一视同仁的均衡是有效率的,而歧视的均衡是相对无效率的。&/p&&p&---------------------&/p&&p&我自己将精炼贝叶斯均衡理解成是信念和策略之间的一种类似纳什均衡的存在——这俩个东西耦合在一起互相验证对方,谁都没有动机先偏离。&/p&&br&&p& 你对我的策略有一个信念,我执行我的行动策略之后,你观察到我的行动,更新你的信念,然后你做出你的最优反应策略,而你的反应策略本身又恰恰证明了我当初的行动策略也是最优的,而我采用的这个最优行动策略也恰恰的符合了你当初的信念——换句话说,你的信念确实完美的推测了我的行为策略。&/p&&p&这个时候信念和策略都不会单方面做出改变:&/p&&p&1.如果策略变了,意味着如果信念不变,改变策略的人收益会减少。&/p&&p&2.如果信念变了,而策略没有变,改变信念的人的收益同样会减少。&/p&
邀请,其实
已经说的很详细了,我来试着牺牲一点严谨度科普向一下。先从纳什均衡说起吧,纳什均衡是什么?是一个博弈中的任何玩家都不想单方面偏离当前均衡策略的点。贝叶斯均衡则在纳什均衡的基础上加上了玩家的“信念”,因为信…
我想题主指的应该是变分推断。变分EM只是在EM过程中计算隐变量的后验分布时使用变分推断来估计,和变分相关的地方仍然是变分推断。&br&&br&如果只是会用kmeans做聚类的程度,那还有很长的路要走,EM算法是一种对含有不完整信息(如隐变量或者缺失特征)的模型进行最大似然优化的通用方法。E步是使用上一步的参数,求取隐变量的后验分布(或者说一些值在这个后验分布上的期望),M步是利用刚才计算的一些期望(或者叫统计量)来最大化当前的参数。&br&&br&如果楼主想搞懂变分推断,请看bishop的prml一书的2,10两章。第二章是一些常用概率分布的基础,第10章介绍了变分推断的方法,主要是mean-field和ep方法。这一章还给了许多具体的实例,最好全都看一下。也可以去参看blei的LDA论文的附录,其中便是用mean-field做变分推断的,并且提供了一个完整的LDA变分EM的算法推导。&br&注意,一但得到了mean-filed方法的具体公式,剩下的就和变分两字无关了,只是一些微积分的问题。&br&&br&当然,如题主的情况,并没有基础知识(比如只了解过一些具体模型或者阅读过李航老师的书的同学),那么请先从头阅读prml,认真推导每个公式,完成所有的习题。有些章节对于理解第九章没有直接用处,但是这个过程可以帮助你熟悉概率分布,贝叶斯估计的思路以及矩阵和向量的运算,同时掌握一些常用的模型(包括它的贝叶斯扩展)。研读prml是值得的,如果想在这个领域混,最好是彻底掌握。&br&&br&另外,这个领域用到的数学都是几门大学必修的数学,概率,统计,线性代数,矩阵论,基本的微积分。基本不涉及高深的数学理论,所以不要害怕,认真踏实的学就能学会。(当然,如果你掌握更深的数学知识,可以更好的完爆这个领域)。关于最优化理论,在贝叶斯学习里,其实不是那么重要,如果模型参数真的很难优化,你最好是去找相关领域大牛帮你求解。
我想题主指的应该是变分推断。变分EM只是在EM过程中计算隐变量的后验分布时使用变分推断来估计,和变分相关的地方仍然是变分推断。 如果只是会用kmeans做聚类的程度,那还有很长的路要走,EM算法是一种对含有不完整信息(如隐变量或者缺失特征)的模型进行…
&p&这是一个非常好的问题。&/p&&p&MCMC的应用是和&维数灾难&有关的。考虑一个R上的分布,如果我们要计算它的数学期望,采用题主所描述的&等距计算&,那么取100个点大致可以保证精度。然而考虑一个R^50的分布,这时候要采用&等距计算&就要在每个维度上取100个点,这样一来就要取10^100个点。作为对比,已知宇宙的基本粒子大约有10^87个。&/p&&p&如果仔细观察&等距计算&的结果,就会发现绝大多数点算出的概率都很小,而少部分点的概率非常大。而如果我们忽略大多数概率小的点,只计算概率大的那小部分点,对最后数学期望的结果影响非常小。这是MCMC思路的直观部分。&/p&&p&MCMC应用的概率模型,其参数维数往往巨大,但每个参数的支撑集非常小。比如一些NLP问题的参数只取{0,1},但维数往往达到几千甚至上万左右,这正说明了MCMC更适用这些问题。&/p&
这是一个非常好的问题。MCMC的应用是和"维数灾难"有关的。考虑一个R上的分布,如果我们要计算它的数学期望,采用题主所描述的"等距计算",那么取100个点大致可以保证精度。然而考虑一个R^50的分布,这时候要采用"等距计算"就要在每个维度上取100个点,这样…
这个问题提了很久了,并没有等到很好的回答。自己抛砖引玉,慢慢来砌。&br&要严谨全面,请参阅 这两本经典 著作 Givens《Computational Statistics》 Bishop《Pattern Recognition and Machine Learning》 以下答案是根据笔者阅读课本 网上课件 自己跑实验总结的 通俗版本。&br&&br&&b&MCMC
Markov Chain Monte Carlo &/b&狗皮膏药工具,基本上所有能用其它工具解的,都可以用MCMC解。&br&&b&缺点:&/b& 取样过程耗时久,如果算法中有迭代,因为不使用解析解,所以每一次迭代都要重新取样。 &br&&b&加速工具推荐&/b& :R中的Rcpp package, 把取样部分写成c语言能快很多&br&&b&原理解释 :&/b& 这个来自哈佛的课件是我至今为止看到讲的最好的了,有原理,有取样方法,有例子,有code。 我就不搬运了。&b&&a href=&///?target=http%3A//www.people.fas.harvard.edu/%7Eplam/teaching/methods/mcmc/mcmc_print.pdf& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&people.fas.harvard.edu/&/span&&span class=&invisible&&~plam/teaching/methods/mcmc/mcmc_print.pdf&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&&/b&&br& 简单来说,就是 multivariate joint distribution 中取 independent 样本,但是如果不知道 每个 variable的conditional distribution 就不能取。 MCMC利用Markov chain的 tomorrow only depends on today 以及 最后会收敛到 一个稳态分布的原理,从 joint distribution 中取了一些稍微dependent的样本。 再舍弃前面的一些样本,后面样本可以近似看做joint distribution的独立抽样。&br&&br&&br&&b&MCEM
Monte Carlo EM &/b&其实跟MCMC 不是近亲。EM 算法是一款神奇的处理hidden variable的工具。。本质上说,模型的参数也是hidden variable,观测不到的都可以认为是hidden variable。 EM 构造了一个迭代算法,会使 optimization的结果更稳定。里面的MC 是计算 EM的E step的时候, expectation 没有解析解, 用 monte Carlo 近似。至于Monte Carlo 里面怎么取样,可以用MCMC , rejection sampling, importance sampling 等。&br&&br&Gaussian Quadrature (GQ) 可以看做是把 monte carlo 里面的随机取样 再带入 目标函数求均值 这个过程 deterministic 化。 这个说法有点抽象, 就是说,事先把 格子划好,每个格子里面的面积也算好当做权重, 把格点带入目标函数, 加权求和。 (要理解这段话,可能要先google 一下GQ)因此省去了取样的时间。 但是 扩展到高维空间, 每个格子里的体积近似的就不好了,所以一般建议6 维以下可以用GQ。
Adaptive GQ (AGQ) 可以类比 importance sampling, 就是在 目标函数值大的地方(重要的位置)多取样,可以提高近似精度。&br&&br&&b&Laplace 这款工具其实非常好用。&/b& 一篇thesis里面的simulation 显示 Laplace 好于 GQ, 堪比 AGQ, 计算量还小。 就是在函数 Mode(峰值) 附近进行泰勒展开。 缺点嘛,就是 在integrand multimodal (多峰)的时候会失败。 &br&&br&&b&Variational Bayes
个人&/b&没有用过VB,因为没能力找到 我的目标函数的 VB函数。 这个方法的大致原理是,你的函数 f 不是没有解析形式嘛,你找另外一个函数 g 近似这个函数。 标准就是,先假设 g 属于一个 family,然后在这个family 里面找 g_{最好} , 最小化 KL divergence (g|| f).
这个问题提了很久了,并没有等到很好的回答。自己抛砖引玉,慢慢来砌。 要严谨全面,请参阅 这两本经典 著作 Givens《Computational Statistics》 Bishop《Pattern Recognition and Machine Learning》 以下答案是根据笔者阅读课本 网上课件 自己跑实验总结…
阮一峰写的很容易看懂。&a href=&///?target=http%3A///blog/2011/08/bayesian_inference_part_one.html& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://www.&/span&&span class=&visible&&/blog/201&/span&&span class=&invisible&&1/08/bayesian_inference_part_one.html&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&
&br& 刘未鹏那篇也不错,偏专业点。&a href=&///?target=http%3A////the-magical-bayesian-method/& class=& external& target=&_blank& rel=&nofollow noreferrer&&&span class=&invisible&&http://&/span&&span class=&visible&&/&/span&&span class=&invisible&&/the-magical-bayesian-method/&/span&&span class=&ellipsis&&&/span&&i class=&icon-external&&&/i&&/a&
阮一峰写的很容易看懂。 刘未鹏那篇也不错,偏专业点。
首先声明此回答中英文夹杂,非科普向,不是一个好答案,慎入。&br&&br&事实上PBE即使在博士级别的微观课程里也算一个难点,本身就不是一个特别简单的概念,想看中文请百度。&br&&br&%----------------------------------------------------------------------------------------------------------------------%&br&&br&说说我对PBE的个人的理解吧,不一定精确但差不多就那么回事儿。&br&&br&什么是PBE呢?首先它得是一个贝叶斯均衡。什么是贝叶斯均衡呢(这里以pure strategy为例)?Game中每个player都有type吧,这个均衡就是每个player的一个type-contingent strategy(就是说对一个player来说对应自己不同type他会选相应的strategy),使得对于每个player任意给定的其type和他对其对手的type概率分布的belief,在该策略下他的期望效用至少不小于他的其他任何可能策略。这点上其实和普通的纳什均衡一回事儿,就是给定了别人的均衡strategy你没有incentive to deviate from your optimal strategy(best response)。不同之处无非是多了type(不完全信息,然后type有一个概率分布)之后你的效用变成个期望值了。&br&&br&PBE无非是dynamic game里,上面的BE加上一套对各player type的beliefs (system of beliefs)。注意BE不一定是PBE,但PBE一定是BE(这是句废话),差别就在后面会提的system of beliefs是否consistent with the strategies。&br&&br&举例来说就是某个player先move,然后在他之后move的这个player会根据先move的人的action通过bayes rule更新他对先move人的type概率分布的beliefs。很重要的一点是在PBE里这些个beliefs要求在每个player的每个information set里,他play a best response to these beliefs。&br&&br&至于PBE里的Pooling equilibrium就是不管自己type是什么我总play一种strategy,Separating顾名思义对自己不同的type我play不同的strategy。Hybrid就是对于自己不同的type,我在这种type下play mixed strategy。&br&&br&上面是我对PBE的个人的理解,Gibbons的定义我没看过,但其实无论是MWG还是Fudenberg&Tirole上的数学定义看起来都不太intuitive,尤其是MWG这部分写的挺糟的。但我这么说了你可能还是迷糊。所以建议把Gibbons书上的例子多看几遍!多看几遍!多看几遍!你慢慢就能理解了。
首先声明此回答中英文夹杂,非科普向,不是一个好答案,慎入。 事实上PBE即使在博士级别的微观课程里也算一个难点,本身就不是一个特别简单的概念,想看中文请百度。 %----------------------------------------------------------------------------------…
MCMC包括很多算法: Metropolis Hasting, Gibbs Sampling, Slice Sampling. 其正确性证明各异,但都是利用Markov Chain的detailed balance property,分3步走:&br&1. 写出Markov kernel: &img src=&///equation?tex=K%28s%2C+t%29+%3D+p%28t+%7C+s%29& alt=&K(s, t) = p(t | s)& eeimg=&1&&, 就是给定上次采到的样本是s, 下次采到的样本是 t 的概率&br&2. 假设后验分布是&img src=&///equation?tex=%5Ctilde%7Bp%7D& alt=&\tilde{p}& eeimg=&1&&,验证任何样本s和t都满足detailed balance: &img src=&///equation?tex=%5Ctilde%7Bp%7D%28s%29K%28s%2C+t%29+%3D+%5Ctilde%7Bp%7D%28t%29+K%28s%2C+t%29& alt=&\tilde{p}(s)K(s, t) = \tilde{p}(t) K(s, t)& eeimg=&1&&&br&3. 我们从detailed balance知道 &img src=&///equation?tex=%5Ctilde%7Bp%7D& alt=&\tilde{p}& eeimg=&1&& 就是Markov Kernel&img src=&///equation?tex=K& alt=&K& eeimg=&1&&的stationary distribution&br&&br&没有例子是很难理解的, 以MH为例: 假设后验分布是&img src=&///equation?tex=%5Ctilde%7Bp%7D& alt=&\tilde{p}& eeimg=&1&&,Metropolis Hasting 利用另一个简单采样器 q 来采样&img src=&///equation?tex=%5Ctilde%7Bp%7D& alt=&\tilde{p}& eeimg=&1&&, 其正确性证明如下:&br&1. Markov Kernel是&img src=&///equation?tex=q%28t%7Cs%29A%28s%2C+t%29& alt=&q(t|s)A(s, t)& eeimg=&1&&, 其中A是 Metropolis Hasting 的Acceptance Rate:&br&&img src=&///equation?tex=A%28s%2C+t%29+%3D+%5Cmin%281%2C+%5Cfrac%7B%5Ctilde%7Bp%7D%28t%29q%28s%7Ct%29%7D%7B%5Ctilde%7Bp%7D%28s%29q%28t%7Cs%29%7D%29& alt=&A(s, t) = \min(1, \frac{\tilde{p}(t)q(s|t)}{\tilde{p}(s)q(t|s)})& eeimg=&1&&&br&&br&2. 我们发现&img src=&///equation?tex=%5Cfrac%7BA%28s%2C+t%29%7D%7BA%28t%2C+s%29%7D+%3D++%5Cfrac%7B%5Ctilde%7Bp%7D%28t%29q%28s%7Ct%29%7D%7B%5Ctilde%7Bp%7D%28s%29q%28t%7Cs%29%7D& alt=&\frac{A(s, t)}{A(t, s)} =
\frac{\tilde{p}(t)q(s|t)}{\tilde{p}(s)q(t|s)}& eeimg=&1&&&br&所以&br&&img src=&///equation?tex=%5Ctilde%7Bp%7D%28s%29K%28s%2C+t%29++%3D+%5Ctilde%7Bp%7D%28s%29+q%28t%7Cs%29+A%28s%2C+t%29+%3D+%5Ctilde%7Bp%7D%28t%29+q%28s%7Ct%29+A%28t%2C+s%29+%3D+%5Ctilde%7Bp%7D%28t%29+K%28s%2C+t%29& alt=&\tilde{p}(s)K(s, t)
= \tilde{p}(s) q(t|s) A(s, t) = \tilde{p}(t) q(s|t) A(t, s) = \tilde{p}(t) K(s, t)& eeimg=&1&&&br&我们得到detailed balance&br&&br&3. 同上
MCMC包括很多算法: Metropolis Hasting, Gibbs Sampling, Slice Sampling. 其正确性证明各异,但都是利用Markov Chain的detailed balance property,分3步走: 1. 写出Markov kernel: K(s, t) = p(t | s), 就是给定上次采到的样本是s, 下次采到的样本是 t 的…
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 贝叶斯公式的通俗解释 的文章

 

随机推荐