笑谈贝叶斯网络(干货)上
大数据、人工智能、海难搜救、生物医学、邮件过滤,这些看起来彼此不相关的领域之间有什么联系?答案是。它们都会用到同一个数学公式——贝叶斯公式。
大数据、人工智能、海难搜救、生物医学、邮件过滤。这些看起来彼此不相关的领域之间有什么联系?答案是。它们都会用到同一个数学公式——贝叶斯公式。它尽管看起来非常easy、非常不起眼,但却有着深刻的内涵。那么贝叶斯公式是怎样从默默无闻到如今广泛应用、无所不能的呢?
18世纪英国业余数学家托马斯·贝叶斯(Thomas Bayes,1702~1761)提出过一种看上去似乎显而易见的观点:“用客观的新信息更新我们最初关于某个事物的信念后,我们就会得到一个新的、改进了的信念。” 这个研究成果。由于简单而显得平淡无奇,直到他死后的两年才于1763年由他的朋友理查德·普莱斯帮助发表。它的数学原理非常easy理解。简单说就是,假设你看到一个人总是做一些好事,则会推断那个人多半会是一个好人。这就是说。当你不能准确知悉一个事物的本质时,你能够依靠与事物特定本质相关的事件出现的多少去推断其本质属性的概率。
用数学语言表达就是:支持某项属性的事件发生得愈多,则该属性成立的可能性就愈大。与其它统计学方法不同,贝叶斯方法建立在主观推断的基础上,你能够先预计一个值。然后依据客观事实不断修正。
1774年。法国数学家皮埃尔-西蒙·拉普拉斯(Pierre-Simon Laplace,1749-1827)独立地再次发现了贝叶斯公式。
拉普拉斯关心的问题是:当存在着大量数据,但数据又可能有各种各样的错误和遗漏的时候。我们怎样才干从中找到真实的规律。
拉普拉斯研究了男孩和女孩的生育比例。有人观察到,似乎男孩的出生数量比女孩更高。这一假说究竟成立不成立呢?拉普拉斯不断地搜集新增的出生记录。并用之判断原有的概率是否准确。每个新的记录都降低了不确定性的范围。
拉普拉斯给出了我们如今所用的贝叶斯公式的表达:
P(A/B)=P(B/A)*P(A)/P(B),
该公式表示在B事件发生的条件下A事件发生的条件概率,等于A事件发生条件下B事件发生的条件概率乘以A事件的概率,再除以B事件发生的概率。
公式中,P(A)也叫做先验概率,P(A/B)叫做后验概率。严格地讲,贝叶斯公式至少应被称为“贝叶斯-拉普拉斯公式”。
贝叶斯公式如今已经很流行,甚至在热门美剧《生活大爆炸》中谢耳朵也秀了一下。但它真正得到重视和广泛应用却是近期二三十年的事,其间被埋没了200多年。
这是为什么呢?原因在于我们有第二种数学工具——经典统计学,或者叫频率主义统计学(我们在学校学的主要是这样的统计学),它在200多年的时间里一直表现不错。
从理论上讲。它能够揭示一切现象产生的原因,既不须要构建模型,也不须要默认条件,仅仅要进行足够多次的測量。隐藏在数据背后的原因就会自己主动揭开面纱。
在经典统计学看来,科学是关于客观事实的研究,我们仅仅要重复观察一个可重复的现象,直到积累了足够多的数据。就能从中判断出有意义的规律。而贝叶斯方法却要求科学家像算命先生一样,从主观推測出发,这显然不符合科学精神。就连拉普拉斯后来也放弃了贝叶斯方法这一思路,转向经典统计学。由于他发现,假设数据量足够大,人们全然能够通过直接研究这些样本来判断整体的规律。
打个例如来帮助我们理解这两种统计学方法的差别。假如我们想知道某个区域里海拔最低的地方。经典统计学的方法是首先进行观測。取得区域内不同地方的海拔数据,然后从中找出最低点。这个数据量必须足够多,以反映区域内地形全貌的特征,这样我们才干相信找到的就是实际上的最低点。而贝叶斯方法是我无论哪里最低。就凭感觉在区域内随便选个地方開始走,每一步都往下走,尽管中间可能有一些曲折,但相信这样走早晚可以到达最低点。
可以看出。贝叶斯方法的关键问题是这个终于到达的低点可能不是真正的最低点。而是某个相对低点,它可能对该区域的地形(碗型、马鞍形等)和最初我们主观选择的出发点有依赖性。
假设问题域是碗型的。我们到达的就是最低点。但假设是马鞍形或者其它复杂曲面,那么我们到达的可能是多个相对低点(极点)中的一个,而不是真正的最低点。这是贝叶斯方法最受经典统计学方法诟病的原因,也是它在过去的200多年被雪藏的原因所在。
贝叶斯方法原理示意图:
长期以来,贝叶斯方法尽管没有得到主流学界的认可,但事实上我们常常会不自觉地应用它来进行决策,并且还很有效。
比方炮兵在射击时会使用贝叶斯方法进行瞄准。炮弹与子弹不同,它的飞行轨迹是抛物线,瞄准的难度更大。因此他们会先依据计算和经验把炮管调整到一个可能命中的瞄准角度(先验概率),然后再依据炮弹的实际落点进行调整(后验概率),这样在经过2-3次射击和调整后炮弹就行命中目标了。
在日常生活中,我们也常使用贝叶斯方法进行决策。比方在一个陌生的地方找餐馆吃饭,由于之前不了解哪家餐馆好,似乎仅仅能随机选择。但实际上并不是如此,我们会依据贝叶斯方法,利用以往积累的经验来提供推断的线索。
经验告诉我们,通常那些坐满了客人的餐馆的食物要更美味些。而那些客人寥寥的餐馆,食物可能不怎么样并且可能会被宰。
这样。我们就往往通过观察餐厅的上座率来选择餐馆就餐。这就是我们依据先验知识进行的主观推断。在吃过以后我们对这个餐馆有了很多其它实际的了解,以后再选择时就更加easy了。所以说。在我们认识事物不全面的情况下,贝叶斯方法是一种非常好的利用经验帮助作出更合理推断的方法。
而两个标志性的事件在让学术界開始重视贝叶斯方法上起到了重要作用。
1787年5月,美国各州(当时为13个)代表在费城召开制宪会议;1787年9月,美国的宪法草案被分发到各州进行讨论。一批反对派以“反联邦主义者”为笔名。发表了大量文章对该草案提出批评。宪法起草人之中的一个亚历山大·汉密尔顿着急了,他找到曾任外交国务秘书(即后来的国务卿)的约翰·杰伊,以及纽约市国会议员麦迪逊。一同以普布利乌斯(Publius)的笔名发表文章,向公众解释为什么美国须要一部宪法。
他们走笔如飞,通常在一周之内就会发表3-4篇新的评论。1788年,他们所写的85篇文章结集出版,这就是美国历史上著名的《联邦党人文集》。
《联邦党人文集》出版的时候,汉密尔顿坚持匿名发表,于是,这些文章究竟出自谁人之手,成了一桩公案。1810年,汉密尔顿接受了一个政敌的决斗挑战,但出于基督徒的宗教信仰。他决意不向对方开枪。在决斗之前数日。汉密尔顿自知时日不多,他列出了一份《联邦党人文集》的作者名单。1818年,麦迪逊又提出了还有一份作者名单。这两份名单并不一致。在85篇文章中,有73篇文章的作者身份较为明白。其余12篇存在争议。
1955年,哈佛大学统计学教授Fredrick Mosteller找到芝加哥大学的年轻统计学家David Wallance,建议他跟自己一起做一个小课题,他想用统计学的方法,鉴定出《联邦党人文集》的作者身份。
但这根本就不是一个小课题。
汉密尔顿和麦迪逊都是文章高手,他们的文风很接近。从已经确定作者身份的那部分文本来看,汉密尔顿写了9.4万字,麦迪逊写了11.4万字。汉密尔顿每一个句子的平均长度是34.55字。而麦迪逊是34.59字。就写作风格而论,汉密尔顿和麦迪逊简直就是一对双胞胎。汉密尔顿和麦迪逊写这些文章,用了大约一年的时间,而Mosteller和Wallance甄别出作者的身份花了10多年的时间。
怎样分辨两人写作风格的细微区别。并据此判断每篇文章的作者就是问题的关键。
他们所採用的方法就是以贝叶斯公式为核心的包括两个类别的分类算法。先挑选一些可以反映作者写作风格的词汇,在已经确定了作者的文本中,对这些特征词汇的出现频率进行统计,然后再统计这些词汇在那些不确定作者的文本中的出现频率。从而依据词频的区别判断其作者归属。这事实上和我们如今使用的垃圾邮件过滤器的原理是一样的。
他们是在没有计算机帮助的条件下用手工处理“大数据”。这一project的耗时耗力是可想而知的。将近100个哈佛大学的学生帮助他们处理数据。学生们用最原始的方式,用打字机把《联邦党人文集》的文本打出来。然后把每一个单词剪下来。依照字母表的顺序,把这些单词分门别类地汇集在一起。
有个学生干得累了。伸了个懒腰。长长地呼了一口气。他这一口气用力太猛。一下子把刚刚归置好的单词条吹得如柳絮纷飞,一屋子学生瞬间石化。预计非常多人连灭了他的心都有。而这仅仅是手工大数据时代的日常。
Mosteller和Wallance这是要在干草垛里找绣花针。
他们首先剔除掉用不上的词汇。比方,《联邦党人文集》里常常谈到“战争”、“立法权”、“行政权”等。这些词汇是因主题而出现,并不反映不同作者的写作风格。唯独像“in”,“an”。“of”,“upon”这些介词、连词等才干显示出作者风格的微妙差异。
一位历史学家好心地告诉他们,有一篇1916年的论文提到。汉密尔顿总是用“while”,而麦迪逊则总是用“whilst”。
但唯独这一个线索是不够的。“while”和“whilst”在这12篇作者身份待定的文章里出现的次数不够多。况且,汉密尔顿和麦迪逊有时候会合写一篇文章,也保不齐他们会互相改文章,要是汉密尔顿把麦迪逊的“whilst”都改成了“while”呢?
当学生们把每一个单词的小纸条归类、粘好之后,他们发现,汉密尔顿的文章里平均每一页纸会出现两次“upon”,而麦迪逊差点儿一次也不用。汉密尔顿更喜欢用“enough”,麦迪逊则非常少用。其他一些实用的词汇包含:“there”、“on”等等。
1964年,Mosteller和Wallance发表了他们的研究成果。
他们的结论是,这12篇文章的作者非常可能都是麦迪逊。
他们最拿不准的是第55篇,麦迪逊是作者的概率是240:1。
这个研究引起了极大的轰动。但最受震撼的不是宪法研究者,而是统计学家。Mosteller和Wallance的研究。把贝叶斯公式这个被统计学界禁锢了200年的幽灵从瓶子中释放了出来。
2014年初马航MH370航班失联,全部人都密切关注搜救的进展情况。那么我们是用什么方法在茫茫大海中寻找失联的飞机或者船仅仅的呢?这要从天蝎号核潜艇说起。
1968年5月。美国海军的天蝎号核潜艇在大西洋亚速海海域突然失踪,潜艇和艇上的99名海军官兵所有杳无音信。
依照事后调查报告的说法,罪魁祸首是这艘潜艇上的一枚奇怪的鱼雷,发射出去后居然敌我不分,扭头射向自己。让潜艇中弹爆炸。
为了寻找天蝎号的位置。美国政府从国内调集了包含多位专家的搜索部队前往现场,当中包含一位名叫John Craven的数学家,他的头衔是“美国海军特别计划部首席科学家”。
在搜寻潜艇的问题上。Craven提出的方案使用了上面提到的贝叶斯公式。他召集了数学家、潜艇专家、海事搜救等各个领域的专家。每一个专家都有自己擅长的领域。但并非通才,没有专家能准确预计到在出事前后潜艇究竟发生了什么。
有趣的是,Craven并非依照惯常的思路要求团队成员互相协商寻求一个共识,而是让各位专家编写了各种可能的“剧本”。让他们依照自己的知识和经验对于情况会向哪一个方向发展进行推測,并评估每种情境出现的可能性。据说,为了给枯燥的工作添加一些趣味,Craven还准备了威士忌酒作为“投注”正确的奖品。
由于在Craven的方案中,结果非常多是这些专家以推測、投票甚至能够说赌博的形式得到的,不可能保证全部结果的准确性。他的这一做法受到了非常多同行的质疑。但是由于搜索潜艇的任务紧迫,没有时间进行精确的实验、建立完整可靠的理论,Craven的办法不失为一个可行的办法。
因为失事时潜艇航行的速度快慢、行驶方向、爆炸冲击力的大小、爆炸时潜艇方向舵的指向都是未知量。即使知道潜艇在哪里爆炸,也非常难确定潜艇残骸最后被海水冲到哪里。Craven粗略预计了一下,半径20英里的圆圈内的数千英尺深的海底,都是天蝎号核潜艇可能沉睡的地方,要在这么大的范围,这么深的海底找到潜艇差点儿成了不可能完毕的任务。
Craven把各位专家的意见综合到一起,得到了一张20英里海域的概率图。
整个海域被划分成了非常多个小格子。每一个小格子有两个概率值p和q,p是潜艇躺在这个格子里的概率,q是假设潜艇在这个格子里,它被搜索到的概率。
依照经验。第二个概率值主要跟海域的水深有关,在深海区域搜索失事潜艇的“漏网”可能性会更大。假设一个格子被搜索后,没有发现潜艇的踪迹。那么依照贝叶斯公式,这个格子潜艇存在的概率就会减少:
因为全部格子概率的总和是1,这时其它格子潜艇存在的概率值就会上升:
每次寻找时,先挑选整个区域内潜艇存在概率值最高的一个格子进行搜索,假设没有发现。概率分布图会被“洗牌”一次。搜寻船仅仅就会驶向新的“最可疑格子”进行搜索。这样一直下去,直到找到天蝎号为止。
最初開始搜救时,海军人员对Craven和其团队的建议嗤之以鼻,他们凭经验预计潜艇是在爆炸点的东側海底。但几个月的搜索一无所获,他们才不得不听从了Craven的建议。依照概率图在爆炸点的西側寻找。经过几次搜索,潜艇果然在爆炸点西南方的海底被找到了。
因为这样的基于贝叶斯公式的方法在后来多次搜救实践中被成功应用,如今已经成为海难空难搜救的通行做法。
2009年法航空难搜救的后验概率分布图:
2014马航MH370失联搜索区域:
与计算机的结合使贝叶斯公式巨大的有用价值进一步体现出来。它不但为我们提供了一条全新的问题解决路径,带来工具和理念的革命,并且甚至可能是人类大脑本身的认知和构建方式。敬请期待大数据背后的神奇公式(下):“贝叶斯革命”。
參考文献
[1] 《新发现》杂志2013年2月:解密世界的方程式
[2] 吴军:《数学之美》
[3] 何帆:《先放一把火》
[4] 科学松鼠会:死理性派是怎么推断美丽女孩是不是单身的?
[5] 统计之都创作小组:失联搜救中的统计数据分析
posted on 2017-08-03 15:10 cynchanpin 阅读(840) 评论(0) 编辑 收藏 举报