美文网首页
【理论篇】贝叶斯算法概述

【理论篇】贝叶斯算法概述

作者: 山药鱼儿 | 来源:发表于2022-02-28 22:11 被阅读0次

    贝叶斯介绍

    贝叶斯是十八世纪英国伟大的数学家,贝叶斯算法源于他生前为解决 “逆概” 问题而写的一篇文章。

    逆概问题

    既然贝叶斯算法解决的问题是逆概问题,那么我们首先就需要搞明白什么是正概,什么是逆概了。我们拿中学数学课常用的摸球来举个例子。

    1)正向概率

    假设袋子里有 M 个白球,N 个黑球,随机摸出一个球,请问摸出白球的概率有多大?这个问题对大家来说想必非常轻松了,摸出白球的概率为:M/(M+N)

    以上就是正向概率的求解,我们事先是知道袋子中黑球白球的分布的,所以可以轻松的求出摸出白球和摸出黑球的概率。

    2)逆向概率

    如果我们事先不知道袋子中黑球和白球的比例,而是闭上眼镜,摸出几个球之后。之后观察被摸出的球中,白球和黑球的比例,并以此来推测袋中黑球和白球的比例。

    这个就是逆向概率,我们实现并不知道黑球和白球的分布。现实世界中,应用更广泛的也是逆向概率,因为人类的观察能力是有限的,比如观察海洋生物的多样性,计算一批产品中的残次品概率等等,我们是无法统计到所有样本的。

    贝叶斯公式推导

    我们先来看一下贝叶斯公式,不需要记住,只需要先有个大概印象就好。

    场景来了:假设某个中学男女比例为 60%:40%,并且男生总是穿长裤,而女生则一半穿长裤一半穿裙子。

    那么请问穿裤子的学生中女生的概率 P(Girl|Pants) 是多少呢?

    第一步:我们需要知道穿裤子的人有多少个?假设学校总人数为 M ,则穿裤子的人数为男生穿裤子的人数+女生穿裤子的人数,即 M*P(Boy)*P(Pants|Boy) + M*P(Girl)*P(Pants|Girl) ,其中 P(Pants|Boy)P(Pants|Girl) 为条件概率,即男生穿裤子的概率和女生穿裤子的概率。

    注:根据题意男生总是穿长裤,则 P(Pants|Boy) = 100%;女生一半穿长裤一半穿裙子,则 P(Pants|Girl) = 50%

    第二步:接下来,还需要知道穿裤子的女生的人数,首先得是女生,其次还得是穿着裤子,因此穿裤子的女生就是 M*P(Girl)*P(Pants|Girl)

    第三步:计算穿裤子中的人中,女生的概率 P(Girl|Pants),即 M*P(Girl)*P(Pants|Girl) / (M*P(Boy)*P(Pants|Boy) + M*P(Girl)*P(Pants|Girl)) ,将 M 进行约分得到 P(Girl)*P(Pants|Girl) / (P(Boy)*P(Pants|Boy) + P(Girl)*P(Pants|Girl))

    通过以上三步的拆解,最终得到:

    P(Girl|Pants) = P(Girl)*P(Pants|Girl) / (P(Boy)P(Pants|Boy) + P(Girl)P(Pants|Girl))

    其中,分母 (P(Boy)*P(Pants|Boy) + P(Girl)*P(Pants|Girl)) 也就是穿裤子的概率,可以表示为 P(Pants),上述计算穿裤子中女生概率的公式就变为:

    P(Girl|Pants) = P(Girl)*P(Pants|Girl) / P(Pants)

    这样,我们求逆向概率,穿裤子的人中是女生的概率就可以转变为求正向概率了。把其中的 GirlPants 换成 AB 就是小鱼前面给出的贝叶斯公式了。

    相关文章

      网友评论

          本文标题:【理论篇】贝叶斯算法概述

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