美文网首页白话大数据与机器学习
CH10 分类|10.1朴素贝叶斯《白话大数据与机器学习》-学习

CH10 分类|10.1朴素贝叶斯《白话大数据与机器学习》-学习

作者: 努力奋斗的durian | 来源:发表于2018-06-22 09:41 被阅读54次

    文章原创,最近更新:2018-06-22

    1.什么叫朴素贝叶斯分类?
    2.天气的预测
    3.疾病的预测
    4.小结

    1.什么叫朴素贝叶斯分类?

    贝叶斯决策理论方法是统计模型决策中的一个基本方法,基本思想如下:
    (1)已知类条件概率密度参数表达式和先验概率
    (2)利用贝叶斯公式转换成后验概率。
    (3)根据后验概率大小进行决策分类。
    简单地说,朴素贝叶斯算法是利用统计中的“条件概率”来进行分类的一种算法。

    朴素贝叶斯分类的方式不太一样。贝叶斯概率研究的是条件概率,也就是研究的场景就是在带有某些前提条件下,或者在某些背景条件的约束下发生的概率问题。

    我们先给出这个著名的贝叶斯公式:
    设D1、D2、……、Dn为样本空间S的一个划分,如果以P(Di)表示Di发生的概率,且P(Di)>0(i=1,2,…,n)。对于任何一个事件x,P(X)>0,则有解释如下:



    所以最后等式两边就化简为



    也就是说,在全样本空间下,发生x的概率乘以在发生x的情况下发生Dj的概率,等于发生Dj的概率乘以在发生Dj的情况下发生x的概率

    左侧的圈是x发生的概率,右侧的圈是Dj发生的概率,中间交集的部分就是等号两边各自表示的内容。

    贝叶斯分类器通常是基于这样一个假定:“给定目标值时属性之间相互条件独立”。基于这种“朴素”的假定,贝叶斯公式一般简写为



    在有的资料上,会看到如下说法。

    • P(A)叫做A事件的先验概率,就是一般情况下,认为A发生的概率。
    • P(B|A)叫做似然度,是A假设条件成立的情况下发生B的概率。
    • P(A|B)叫做后验概率,在B发生的情况下发生A的概率,也就是要计算的概率。
    • P(B)叫做标准化常量,和A的先验概率定义类似,就是一般情况下,B的发生概率。

    2.天气的预测

    天气预报一般是基于天气图、卫星云图和雷达图来做的,预报的内容很多,如降水情况、风力、风向等。天气的预测是非常困难的,变化快且计算量巨大,所以人们虽然总在埋怨气象台预报不准确却没有什么有效的办法做出实质性的改进。

    在长期研究天气变化的过程中,会发现极端的变化还是少数,大部分的天气变化有一定的规律可循。利用统计学知识和手段,从大量的历史数据中可以尝试做出一个贝叶斯分类模型,从而判断出降水概率——依据现在的大气状况,未来24小时降水概率为多少。

    尝试做出一个贝叶斯分类模型,从而判断出降水概率——依据现在的大气状况,未来24小时降水概率为多少。


    根据这10天的天气情况来看,10天里面降水4次,也就是降水概率40%,这是从全部统计的数据来看的。但是如果当天是阴天呢?阴天的日期为2、4号这两天,它们的第二天都是降水,所以当天是阴天的情况下,降水概率为2÷2=100%。代入公式:


    • P(x)就是阴天的概率,为20%。
    • P(Dj)就是降水的概率,为40%。
    • P(x|Dj)指的是降水的前一天是阴天的概率,为50%。
    • P(Dj|x)是要求的当天为阴天,第二天降水的概率,算出来为100%。

    如果当天是晴天呢?晴天的日期为1、6、7,而晴天的第二天的天气情况分别是阴、晴、多云,降水概率为0%。代入公式:


    • P(x)就是晴天的概率,为30%。
    • P(Dj)就是降水的概率,为40%。
    • P(x|Dj)指的是降水的前一天是晴天的概率,为0%。
    • P(Dj|x)是要求的当天为晴天,第二天降水的概率,算出来为0%。

    同样,如果当天是晴天,第二天天气为多云的概率为33%,为晴天的概率为33%,为阴的概率同样为33%。
    再回过来看气象台报的“明天降水概率40%”就能理解了吧,从历史角度来看真的就是有40%的天气会降水还有60%不会降水。

    其实在天气预测中的参数复杂得多,不仅是当天的天气这么简单的一个变量,而且温度、湿度、季节、风速等因素,统计的日期也肯定不是10天这么少的样本,肯定是长期的天气样本信息,这些因素的多少直接决定了模型的复杂程度。

    3.疾病的预测

    在百度中输入“基因测序”进行搜索,会发现很多公司承接基因测序的工作,其中也有一些面向一般个人的测序工作。

    关于罹患疾病的预测——罹患冠心病的概率为20%,罹患阿尔兹海默综合征的概率为5%,罹患帕金森氏病的概率为12%等。这些就是通过基因测序得到的预测结论。

    这个预测过程也是一个分类过程,训练样本是大量的个体基因信息和个人的疾病信息。然后通过建模分析,最后得到一个基因片段和罹患疾病之间的概率转换关系,这也是一个比较典型的朴素贝叶斯分类模型。

    示意性地做一个训练过程,训练样本如表所示。

    假设能够得到一个关于病患所得的疾病和基因片段之间的关系记录,这是一个客观统计的结果。需要注意的是,这种记录是忽略其他建模因素的记录,如这位病患所生活的城市、所从事的工作、是否有烟酒习惯等,这些因素是没有参与建模的,直接假设罹患这些疾病只和基因状况有关。

    如果有一个用户来做基因测序,测试结果为基因片段A、B分别为1、0,那么他罹患高血压和胆结石两种疾病的概率分别为多少?在这个例子里,需要明确以下公式:


    式中的每个值分别指代什么?以计算高血压疾病的罹患概率为例:

    • P(A)是先验概率,即全局性的高血压罹患概率,在10个人中有3个人患病,即概率为3/10。
    • P(B|A)是似然度,表示高血压患者中基因是“10”型的患者数量。在3位高血压患者中只有1位患者的基因是“10”型,即概率为1/3。
    • P(B)是标准化常量,是“10”型基因出现的概率,在10个人中出现3例,即概率为3/10。
    • P(A|B)可以代入求解,得到1/3。

    交叉验证一下,先看全局中所有的“10”型基因的患者,有3位,即4号、6号和9号。得高血压的只有9号一人,所以从这个角度去计算也是1/3。

    4.小结

    贝叶斯的理论体系其实揭示的是一种非常典型的人类自身的推测逻辑行为。

    比如在黄昏的时候走在自己居住的小区里,光线很昏暗,前面突然闪过一个影子,从路一边的草丛蹿到另一边,速度较快体型较大,其他信息没捕捉到。这时候大概会猜测,这有可能是一只较大的家犬。

    如果是在非洲大草原上,从越野车里同样看到昏暗的草原上蹿过一个速度较快体型较大的动物,也许会猜测那是一头狮子,或者一头猎豹。

    猜测对于捕捉到的对象信息都是非常有限的,而且内容相近,但是得出两种不同的推测。原因很简单,就是因为当时的环境不同,导致的两种事件的概率不同,带有比较明确的倾向性。这种推断的思路或者方式本身就是贝叶斯理论体系的核心内容。

    朴素贝叶斯是一种机器学习的思想,而不是一个简单的直接套用的公式。而且在用朴素贝叶斯方式进行分类机器学习时还经常需要使用其他一些辅助的建模手段。朴素贝叶斯在生产生活中作为机器学习手段的场景确实非常多,是一种使用很广泛的方式,所以也很重要。

    相关文章

      网友评论

        本文标题:CH10 分类|10.1朴素贝叶斯《白话大数据与机器学习》-学习

        本文链接:https://www.haomeiwen.com/subject/dcvhyftx.html