vlambda博客
学习文章列表

【文末有福利】5个字极简入门朴素贝叶斯模型



导语:作为理科生或者程序员,引以为傲的除了身上的格子衬衫外,我们还有一样很重要的就是逻辑思维,对于很多事,譬如一些女生的流行观点,我们似乎天然地就喜欢抛出一句“真没逻辑”的评价,这也为我们自己挣得了“凭实力单身”的美誉。如果你也是这样的,那么你需要好好了解一下贝叶斯公式的基本思想。


贝叶斯公式的基本思想

朴素贝叶斯由两部分组成,“朴素”是一种带有假设的限定条件,“贝叶斯”则指的是贝叶斯公式。合起来,朴素贝叶斯指的就是在“朴素”假设条件下运用“贝叶斯公式”。
显然,“朴素贝叶斯”是一条偏正短语,核心和重点是贝叶斯公式。贝叶斯公式与其说是一条公式,更不如说是一种思想。统计学中有两座山头,分别叫频率学派和贝叶斯学派,而这两座山头都有各自庞大的学识体系。这里本着现学现用的原则,只拣我们马上就能用的讲。
我们一般会把符号说明安排在数学解析部分,不过这里有两个概率符号需要提前介绍,它们是本章的主角。
● P(X) :这是概率统计中最基本的符号,表示X出现的概率。如在掷骰子的游戏中,P(6)就是指骰子出现数字“6”的概率。这个概率显然为1/6。
● P(X|Y) :这是条件概率的符号,比上面的概率符号中间多了一竖,代表条件。P(X|Y)的意思是在Y发生的条件下,X发生的概率。它是贝叶斯公式的主角。
是不是觉得距离完全了解条件概率还差那么一点点儿?上文我们一起了解了出题老师的心路历程,现在还是继续请这位出题老师补上这最后的一点点吧。
我们用P(D)代表选项D为错误选项的概率,在正确答案均匀分布时,概率值为25%。那么P(D|C)就代表选项C为错误选项时,D为错误选项的概率。这与单纯的P(D)有什么不同呢?别忘了,这位老师有一点癖好,选择了C为错误选项之后,会顺手把D也作为错误选项。现在的已知条件是选项C已经确定是错误选项了,在这种前提条件下,选项D是错误选项的概率,也即P(D|C)的值就远远超过了25%。这就是条件概率的意义。
对于条件概率,我还要多说一点儿。前面我们说线性模型是“钢铁直男”的典范,相比之下,条件概率以及后面的贝叶斯公式就是“直男们”理解少女之心的一把钥匙。

贝叶斯的基本逻辑

作为理科生或者程序员,引以为傲的除了身上的格子衬衫外,我们还有一样很重要的就是逻辑思维,对于很多事,譬如一些女生的流行观点,我们似乎天然地就喜欢抛出一句“真没逻辑”的评价,这也为我们自己挣得了“凭实力单身”的美誉。如果你也是这样的,那么你需要好好了解一下贝叶斯公式的基本思想。
贝叶斯公式的核心是条件概率,譬如P(B|A),就表示当A发生时,B发生的概率,如果P(B|A)的值越大,说明一旦发生了A,B就越可能发生。两者可能存在较高的相关性。
相关性就是贝叶斯公式要表达的哲学,明白了这一哲学,对于很多事情,特别是女生的流行观点,我们将豁然开朗。譬如很多男生都曾经被女朋友要求在节日送礼物,而理由多半是这么一句话:“我不是在乎礼物,而是在乎你用不用心。”很多男生想不明白:你要我送礼物,又说不在乎礼物,这是什么逻辑?
那么这里我要说:女生说的是有逻辑的!只不过与男生不一样,男生的逻辑偏重因果性,女生的逻辑偏重相关性。因果性很简单,就是A→B,但如果A和B满足相关性,情况则要复杂一些,譬如最经典的数据挖掘案例“尿布和啤酒”,年轻的爸爸会在买尿布的时候顺便买啤酒,这时尿布和啤酒就呈相关性,如果我们用P(尿布)来表示买尿布的概率的话,一旦P(尿布)的值增加,那么P(啤酒|尿布)的值也会增加。其意义是,当尿布的销量增加时,啤酒的销量也会增加,这就是相关性,但相关性不是因果性,二者虽然同时增长,但并不存在因果关系。
明白了这一点,男生就能明白女生的逻辑。对于“我不是在乎礼物,而是在乎你用不用心”这句话,我们用公式可以表达如下:
P(用心|送礼物)
那么,根据贝叶斯公式,当送礼物的发生概率越大,也即P(送礼物)的值越大, P(用心|送礼物)的值也就越大,也就表示你对这个女生越用心。这就是女生怎样利用相关性,通过送礼物来考察你是否用心。
好了,我们大致解释了贝叶斯公式。最后要说的是,相关性是建立在统计数据的基础之上的,所以“送礼物”和“用心”到底是否具有相关性,还需要进行社会学的调查。

用贝叶斯公式进行选择


如果你已经熟悉机器学习算法的套路,一定已经从上面对条件概率的描述中“闻”到了预测的味道。 贝叶斯公式预测的核心思想就5个字——“看起来更像”。
在贝叶斯看来,世界不是静止和绝对的,而是动态和相对的,希望利用已知经验来进行判断。用“经验”进行“判断”,经验怎么来?有了经验怎么判断?一句话实际包含了两轮过程。
第一轮的分级:是已知类别而统计特征,即某一特征在该类中的出现概率,是把类别分解成特征概率的过程。
第二轮的还原:是已知特征而推测类别,这里将第一轮的结果用上,是把知道统计情况的特征还原成某一类的过程。
说到这里,就不能不提“先验”和“后验”了,这两个词儿看起来相当哲学,也确实是康德的《纯粹理性批判》中的主角。对于这里的“验”,主张认知的人将其解释成经验,主张实践的人将其解释成“实验”,在我看来,先验和后验不妨认为是两位诸葛亮,先验这位是事前诸葛亮,后验这位是事后诸葛亮。就以空城计来说,诸葛亮布阵的时候,是根据司马懿一贯的个性,断定他不敢进城,这是先验。等到司马懿真的来了,在城下犹豫不决,要退不退,诸葛亮一看就知道事妥了,这是后验。

贝叶斯版的预测未来

先验和后验是怎么用于预测的呢?这里我想展示一下我在中学时学会的看发型猜女同学的“技术”。假设我的班上一共有10位女同学,其中一位叫安吉利,中学时女生个子都差不多高,又穿着一样的校服,光看背影猜中谁是安吉利的概率是10%,基本靠蒙了,这就是先验概率,先记作P(安吉利)。但是有一天我突然发现,安吉利同学特别喜欢扎马尾,不过扎马尾又不是什么独占的发明专利,而且这个年龄阶段的女孩子又都爱扎马尾,所以,不是所有扎马尾的女同学都叫安吉利。
怎么办呢?我又利用上课的时间统计了一下,班上女同学一共有三种发型,扎马尾的概率大概为30%,记作P(马尾)。而安吉利同学真的非常喜欢扎马尾,她扎马尾的概率高达70%,记作P(马尾|安吉利)。这里我们用上了前面介绍的条件概率,P(马尾|安吉利)的意思是,在女同学是安吉利的前提条件下发型是马尾的概率,在贝叶斯公式中这又称为似然度(Likelihood)。有了这三个统计数据,我心里就有底了,往后见到扎马尾的女同学,有两成多的概率就是我们的安吉利。
其中的奥秘就是贝叶斯公式。也许你已经察觉,扎马尾的女同学中她是安吉利的概率也是一种条件概率,记作P(安吉利|马尾),这就是后验概率。根据贝叶斯公式,我们有:
P(马尾)·P(安吉利|马尾)= P(安吉利)·P(马尾|安吉利)
代入我们牺牲宝贵的上课时间得到的统计数据,则可算出:
P(安吉利|马尾)=10%×70%/30%=23.3%
前面我们说,用先验和后验进行选择判断要分成两个阶段,现在有了似然度就好解释了。先验概率是已经知道的,而我们通过经验或实验要了解的就是这个似然度,知道似然度再加上先验,我们就能知道后验概率了。
可惜的是,虽然贝叶斯公式能够告诉我谁是安吉利,但是它没办法告诉我。为什么安吉利同学会对马尾如此执迷。
下次再聊。

以上内容摘自《机器学习算法的数学解析与Python实现》一书,经出版方授权发布。

推荐阅读

【文末有福利】5个字极简入门朴素贝叶斯模型


《机器学习算法的数学解析与Python实现》
入门机器学习的第一本书。从生活案例中理解算法,发现算法的乐趣,再把算法应用到机器学习中,让你零基础掌握算法精髓,快速进入人工智能开发领域。



***粉丝福利时间***


本次联合【机械工业出版社华章公司】为大家带来 5 本正版新书。在本文评论中回复谈谈你对机器学习算法的理解, 41123点前 ,评论点赞数前 5 名的读者将获赠正版图书1本。