↓ 跳过正文

瞎扯贝叶斯理论的基本思想

·6719 字·14 分钟
ZMSITE
作者
ZMSITE
记录技术、项目与游戏。

作者:wxmang | 首发:2015-12-25 | 原文链接

既然是瞎扯,就不是很严谨的,因为要简单明了,可能有的地方细节删除过多了,导致说不通。所以只能大概齐。真的要弄懂,还是请看教科书为好。写这种文章,华罗庚先生写得最好。

1、倒向问题

自从人类有自我意识,可能就在讨论一个至今没有结论的问题:机遇(或者运气,或者机会)到底是什么?怎么把握,怎么预测,怎么估计或计算大小等等。这是人类的一个核心问题。其实这也是一个典型的倒向问题。

人类思考问题有两个方向,一个是正向,也即知道结果找原因(例如现在我们经常讨论的明朝灭亡的原因);一个是倒向,也即根据一些现象判断结果(例如如果我们事先并不知道黑箱里面黑白球的比例,而是闭着眼睛摸出一个或好几个球,观察这些取出来的球的颜色之后,就此对黑箱里面的黑白球的比例进行推测。现实需要大量的倒向计算,例如现在某些现象出现,企业会不会破产,现在应该怎么办等等)。

用正向思维方式研究问题的,我们叫他们事后诸葛亮,历史学家便是。这种研究只能用于经验总结和知识储备上。

用倒向思维方式研究问题的,我们叫他们预测大师,见微知著的真人,管蠡窥测或以蠡测海的超人等等。实际上有价值的问题多数都是倒向问题,例如:股市上,通过那几点征兆就能判断是一次多或空的机会;医院中,通过那几个症状就能判断是什么病;科学研究上,通过几个实验数据,就能构造什么理论解释模型等等。一般说来,数学家,物理学家等等都是研究倒向问题的,或者说,他们不能通过很少征兆或现象来预测或判断结果,就没存在价值(顺便说一句,不知道倒向问题思维方式的人,没法再金融市场或股市搏击,目前投机市场最前沿的研究几乎就是倒向随机过程和鞅论为主,中国的彭实戈院士是倒向随机过程领域的其中一个领军人物)。

如何用倒向思维方式研究机遇?也即如何从一些征兆或现象,判断机遇,或者把问题进行等价推广:如何用一些已知的信息或经验,判断或预测未知。

1763年,英国的长老会牧师贝叶斯发表了一篇论文“论有关机遇问题的求解”,提出了解决的框架:那就是用不断增加的信息和经验,可以逐步逼近未知的真相或理解未知。并给出了算法(其实贝叶斯由于是一个牧师,他关心的原始问题本来的表述是:人能不能根据凡人世界的经验和现实世界的证据,证明上帝的存在,因为宗教人士的逻辑是机遇就是上帝存在的主要证据,能够认识机遇的规律,几乎等同于证明上帝存在)。

后来经拉格朗日等数学家进一步努力,获得了大突破,贝叶斯理论成为现代统计学两大支柱之一。

由于我们不讨论数学,所以不进一步讨论贝叶斯思想的各种复杂数学表达,我们只讨论其基本思想。

2、贝叶斯基本思想

下面我们用一个例子来介绍贝叶斯思想。

假定甲乙两人做一个游戏:甲蒙上眼睛,乙随手在一张纸上画一条线段,两个端点分别A点和B点,再随机在线段上画一点C,现在游戏是:通过一些信息,让甲判断C点位置。

信息1:乙随机在线段上划点,并告诉每一个点是离A端点近还是离B端点近;信息2:乙必须告诉每一个点是位于AC之间还是CB之间。

显然只需要有限次划点,甲就能基本确定C的大致位置。

为简单说明,我们假设乙划点总是在中位点,也即第一个点是A+B的中点,根据上面游戏规则,必须告诉甲的两个信息,甲这样就能判断C靠A点近还是B点近;如果C靠A点近,那么第二个点划在A+C的中点,同样重复上述步骤,甲就能判断C点是靠A点近还是(A+C)/2近,继续循环。我们知道中位点划分会形成一个1/(2N次方)的收敛级数,可以在有限的N次内,就能获得C点位置范围,误差不大于1/(2N 次方)。

这就是用逐步增加的信息确定未知的例子。这也就是贝叶斯思想的基本模型。

当然贝叶斯考虑的逐步增加信息是人的经验和知识构成的先验信息,而先验信息会因为个人的经验偏见,视野局限,测量误差,外部环境变化,数据丢失等等导致一定的不准确,也即只有概率意义上的正确。所以他能够得到的对未知的判断也只能是概率意义上的。

简单总结一下贝叶斯的基本观点是:

(1)、由于经验或知识是否正确带有不确定性因素,所以基于以前经验和知识(也即先验),根据一些随机出现或观察到的现象来判断事物真相,原因或未知,就有一定的不确定性。(其实这个观点有一个强大的前提假设:未知世界本质是随机的,所以任何未知都具有不确定性,这是现代量子力学和复杂系统证明了的假设)。

(2)、由于我们依靠已知的经验或知识,来分析观察到的现象,以此推测或断未知,所以任何未知的判断或推测都是是不确定的,能用一个概率分布去描述,也即未知的不确定性程度由先验概率分布和现象出现的概率分布决定。

上面这句话的本质意思是:是不是能够通过一些现象正确判断或推测未知,取决于我们经验多少和掌握的现象多少。例如,医生能否通过症状判断疾病,取决于医生知识(这也是一种经验,是从前人身上学习的)和经验积累,也取决于掌握的症状多少(掌握症状一般通过各种检查实现,例如为了掌握症状而进行的量体温,照X光,核磁共振,CT检查,超声波检查等等)。

但是光掌握症状并不能完全判断病症(否则就不需要医生,只需要检测工程师了),还需要医生知识和经验。

因为任何检查都不可能完备,再加上任何医生的经验和知识也是不完备的(例如对一种新疾病原有的经验和知识就无能为力),所以任何判断都有一定的对错概率。

(3)、由于基于N个现象(或症状)和个人主观经验来判断未知带有一定不确定,我们往往需要做多次检测和由具有不同个人主观经验的人来判断,然后按照极大似然原则选择结果(例如医院诊断重大疾病往往要请不同医生会诊,也要进行不同系列,不同类型的医疗检查)。

(4)、先验信息可以通过的收集、挖掘和加工而数量化,形成先验分布(也即所谓专家知识库可以提高判断精度)。

上面这些观点,综合起来就是:

现实世界本身是不确定的,人类的观察能力是有局限性的(例如如果人类能够直接观察到电子的运行,还需要假设什么模型),人类所观察到的只是事物表面上的结果(若干症状或现象),例如往往只能知道从黑箱里面取出来的球是什么颜色,而并不能直接看到黑箱里面实际的情况。

贝叶斯思想给我们提供了一个猜测黑箱里面情况的方法。当然这种方法得到的结果是不确定的(因为世界本质就是不确定的,而且这种方法依赖于人的主观经验,本身是否正确也是不确定的)。

贝叶斯的方法其实是一个算法:第一步,算出各种不同猜测的可能性大小;第二步算出最可能的猜测是什么。

第一步就是计算特定猜测的后验概率(对于连续的猜测空间就是计算猜测的概率密度函数),第二步则是极大似然方法。

极大似然的定义是:事件A与参数θ∈Θ有关,θ取值不同,则P(A)也不同,若A发生了,则认为此时的θ值就是θ的估计值。这就是极大似然。

例如两人一起打猎,只响一枪,就打中一猎物,那么按正常逻辑,一枪命中,肯定是枪法好的那个,这个推断就体现了极大似然法的基本思想。

再例如,袋中装有许多黑、白球,不同颜色球的数量比为3:1,试设计一种方法,估计任取一球为黑球的概率P。

显然P的值无非是1/4或3/4,需要通过抽样来决定分布中参数究竟是1/4还是3/4。现从袋中有放回地任取3只球,显然白球出现次数多的话,P就是1/4,黑球出现次数多的话,P就是3/4)。

也即贝叶斯思想就是:对于给定观测数据,一个猜测是否正确,取决于这个猜测本身独立的可能性大小(先验概率)和这个猜测生成我们观测到的数据的可能性大小(似然)的乘积。(也即最可能的猜测=先验概率 * 似然最大的这个值)。

3、贝叶斯公式

先用一个wikipedia 上的例子介绍贝叶斯公式的原理。

假设一所学校里面有 60% 的男生,40% 的女生。男生总是穿长裤,女生则一半穿长裤一半穿裙子。问题:随机在校园乱走,看到在校园里穿长裤的人里面有多少女生的概率?

假设学校里面人的总数是 N 个。60% 的男生都穿长裤,于是我们得到了 N * P(Boy) * P(Pants|Boy) 个穿长裤的(男生)(其中 P(Boy) 是男生的概率 = 60%,这里可以简单的理解为男生的比例;P(Pants|Boy) 是条件概率,即在 Boy 这个条件下穿长裤的概率是多大,这里是 100% ,因为所有男生都穿长裤)。40% 的女生里面又有一半(50%)是穿长裤的,于是我们又得到了N * P(Girl) * P(Pants|Girl) 个穿长裤的(女生)。加起来一共是N * P(Boy) * P(Pants|Boy) +N * P(Girl) * P(Pants|Girl) 个穿长裤的。

整理一下:P(Girl|Pants)(穿长裤的人里面有多少女生的概率)=N* P(Girl) * P(Pants|Girl) / [N * P(Boy) * P(Pants|Boy) + N * P(Girl) * P(Pants|Girl)] 。很容易发现公式与校园内人的总数是无关的,可以消去。于是得到P(Girl|Pants) = P(Girl) * P(Pants|Girl) / [P(Boy) * P(Pants|Boy) + P(Girl) * P(Pants|Girl)]上式中的 Pants 和 Boy/Girl 可以指代一切东西,所以其一般形式就是:

P(B|A) = P(A|B) * P(B) / [P(A|B) * P(B) + P(A|~B) * P(~B) ]即已知P(A|B)、P(A)和P(B),可以计算出P(B|A)。

这就是著名的贝叶斯公式。所以拉普拉斯说概率论只是把常识用数学公式表达了出来。

4、贝叶斯思想在决策中

当然贝叶斯思想用的最多的领域是决策。贝叶斯决策就是在不完全情报下,对部分未知的状态用主观概率估计,然后用贝叶斯公式对发生概率进行修正,最后再利用期望值和修正概率做出最优决策。

贝叶斯决策属于风险型决策,决策者虽不能控制客观因素的变化,但却掌握其变化的可能状况及各状况的分布概率,并利用期望值即未来可能出现的平均状况作为决策准则。

贝叶斯思想能够用于决策的原因是:除样本(例如决策调查获得的一些事件或资料)提供的基础信息外,人类的经验的先验信息也是决策判断的重要依据。

例如以对神童出现的概率p的估计为例。按经典统计的做法,完全由样本提供的信息(即基础抽样信息)来估计,认为参数p是一个“值”。而人类经验其实对p已经有了一个了解,如p可能取pl与p2,且取p1的机会很大,取p2机会很小。先验信息关于参数p的信息是一个“分布”,如P(p=p1)=0.9,P(p=p2)=0.1,即在抽样之前已知道(先验的)p取p1的可能性为0.9。若不去抽样便要作出推断,自然会取p=p1。但若抽样后,除非采样信息(即样本提供的信息)包含十分有利于“p=p2”的支持论据,否则采纳先验的看法“p=p1”。

下面用一个例子解释这种决策。

假设患者有肺炎为事件B,P(B)是医生在检测前,基于经验对当时当地的肺炎肺病率的概率判断,例如1%,也即如果没有任何检查,医生基于经验,会判断得肺炎概率很小,P(~B)是不是肺炎的概率,例如是99%;P(A)是全体人群(包括肺炎和不是肺炎人群)检查出现各种指标异常的概率,这可以是一个函数曲线,自变量是各种检测指标,总和等于1(可以经过规范整理得到);P(A|B)是当病人是肺炎时,各种检测指标出现异常的概率,是医院经过大量临床试验和检测数据分析得到的;P(A|~B)是当病人不是肺炎时,各种检测指标出现异常的概率,是医院经过大量临床试验和检测数据分析得到的;那么根据贝叶斯公式,就可以计算出P(B|A),也即当某一个异常指标出现时,确诊是肺炎的概率。

例如假设我们知道检测肺炎有12个指标,根据多年来的经验和大量临床数据,如果是肺炎,可以得到这12个检测指标的出现异常的概率分布情况,也即知道P(Ai|B);对不是肺炎的,这12个指标的异常概率分布情况我们也知道,也即P(Ai|~B)。

在疹疗过程中,医生要根据临床经验对各种病症状Ai进行权衡。当然由于经验数据误差和知识不完备,存在误诊概率。

举个例子来说明,假设有一台肺炎诊断仪,通过对它以往的诊断记录的分析,如果患者确实患有肺炎它的确诊率为90%,若果患者没有癌肺炎,被诊断成肺炎的概率为10%。

那么如果一个人被这台诊断仪确诊成肺炎(这是现象),这个人患有肺炎的概率是多少(这是判断)?

设A:肺炎诊断仪给出肺炎诊断。B1:病人是肺炎患者。B2病人不是肺炎患者。

根据贝叶斯公式:P(A|B1)=90%;P(A)=90%*P(B1)+10%*P(B2);则P(B1|A)=P(B1)*90%/(90%*P(B1)+10%*P(B2));我们知道当时当地人群中肺炎患者的比重很小,假设为1%(这就是经验,有一定的主观性),则P(B1)=1%;P(B2)=99%;可以算出:P(B1|A)=8%,也即一个人被这台诊断仪确诊成肺炎,而这个人真正患有肺炎的概率只有8%。显然这是一个不能饶恕的结果。

但是实际上医生经常这么做,只是他们不是用肺炎诊断仪,而是用一些简单诊断手段就随便下结论了。

所以医院需要加入更多的检查项目,增加更多的检测设备,加入更多医生判断的判断,通过极大似然原则,筛选最可能的结果,逐步逼近真相,解决掉判断的错误风险。

5、先验和后验

先验就是指在抽样前就有的经验信息的概率表述,先验不必有客观的依据,它可以部分地或完全地基于主观信念。

再以肺炎为例子,某人认为自己得肺炎,去看病,医生在没有检测之前,基于经验,认为本地在此时此地,得肺炎情况很小,认为他极可能只是感冒,这就是先验。

当然医生不会完全相信自己先验,必然会给某人进行完整的检查,例如测体温,量血压,甚至照X光等等,这些检测结果数据就构成检测样本X。

医生诊断时,必然不会只使用X(检测数据)提供的信息进行诊断,而必须先验(否则就不需要医生,只需要工程师就能治病了)。

假定θ=0是没病,θ=1是有病,贝叶斯理论认为X的分布取决于θ是0还是1,同时根据贝叶斯公式,我们知道了X,就有助于推断θ是否为1。

通过使用贝叶斯公式计算后验分布,也即根据抽样样本(检测数据) X 的分布p(x)及θ的先验分布p(θ)(当时当地某种疾病的分布的先验概率,由医生经验和知识积累决定),用贝叶斯公式就可计算出在已知X=x的条件下,θ的条件分布p(θ|x)(这就是后验概率,也即经取样和先验概率计算后的出来的)。

显然这个分布综合了样本X(检测数据)及先验分布p(θ)(医生经验)所提供的有关的信息。假定设p(θ=1)=0.001,经计算,p(θ=1|x)=0.86,则含义为:在某人的检测指标量出之前,根据医生经验(p(θ=1)),他患病的可能性定为0.001,而在得到X后,认识发生了变化:其患病的可能性提高为0.86。这一判断既与X有关,但也也离不开先验分布。也即若当时当地肺炎的发病率很小,医生将倾向于只有在样本X显示出很强的证据时,才诊断某人有肺炎,这样就可以避免误诊。

6、奥卡姆剃刀对决策的筛选

贝叶斯思想本质上是一个经验归纳推理的计算公式,解决了逐步逼近真实的过程,但是显然,这种逼近有不确定性,因为即便一个判断与经验数据非常符合,也并不代表这个判断就是正确的判断,因为经验数据总是会有各种各样的误差,比如观测误差,记忆误差等等,再加上有时无法分别背景噪音,把背景噪声纳入经验数据,来加以判断(背景噪声可以看成与事件完全无关的因素)。

这时,我们就必须应用奥卡姆剃刀:如果两个理论具有相似的解释力度,那么优先选择那个更简单的(往往也正是更平凡的,更少繁复的,更常见的)。

所以现实中,我们建立解释问题的模型往往只提取出几个与结果相关度很高,很重要的因素,而不会面面俱到,太复杂的模型不但成本高,而且会因为无法辨别背景噪声因素,导致失真。

例如我们知道现在各种计算健康体重的模型都是用身高和体重近似于一个二阶多项式的关系(对人群随机抽取了 N 个样本,用最小二乘法拟合出一个二阶多项式),但大家都知道并不是只有身高才会对体重产生影响。但是总体上来说,绝大多数人的身高与体重有关,成正态分布,这个分布就保证了身高体重相关模型能够在大多数情况下做出靠谱的预测。当然人有胖瘦,密度也有大小,所以完美符合身高体重的二阶多项式关系的人是不存在的,只是近似。这就是人类对事物理解的模式。

7、简单总结

根据上述描述,我们可以得出几个结论:

(1)、当假定世界本质是随机的,那么我们认识世界的结论也是不确定的,只能通过不断累积的经验去逼近;

(2)、所以我们认识世界本质基于经验积累;

(3)、我们判断事物是什么的准确概率,往往基于经验积累程度多少。或者说,我们经验积累,能够使我们逐步减少判断事件错误的概率。

所以贝叶斯对先验概率的指定既是主观的,又是理性的,而且随经验积累逐渐优化。

从哲学角度看,贝叶斯思想是一种逻辑+历史的方法,是归纳推理方法的一次革命(归纳推理就是根据过去的经验预测未来的推理),把经验数据量化,并直接带入预测判断。解决了休谟对归纳推理的合理性提出的质疑。

现在贝叶斯的思想已经成为归纳逻辑的核心,并且逐步发展为一套一般性的科学推理理论和方法。贝叶斯思想现在是机器学习的核心方法之一。

不用数学公式介绍数学思想,真的很费力,也不知道讲清楚没有。


读者问答:本文的读者讨论与作者回应