贝叶斯(01) 初识贝叶斯

写在前面的废话

先写点日记,今天被嘲笑通信工程的学生没搞明白计算机网络知识,确实很惭愧,不过这也让我不得不思考了一下下三层通信的痛苦。回想最辛苦的大二下至大三上,一年时间把通信原理,高频,信号与系统,数字信号处理,DSP,单片机,电磁场与电磁波(永生难忘!),还连带着选修点汇编计算机网络啥的,当时满脑子塞的全是放大器三相电、高斯白噪声,什么卷积码、分组码、turbo码的,根本没啥心思去完成Java实践课程,不过眼睁睁看着人家认真编码的同学毕业去了百度跳滴滴还是很羡慕的,悔不当初,如今也可惜了毕设研究的那点matlab和FPGA的知识了,当下望着陌生的面向对象半年时间,似乎已经完全丧失了计算能力,今天想了半天快速傅里叶变换式都想不起来了,如今仍旧在痛苦的边缘挣扎着,好在磕磕绊绊也算是把Java的基本套路摸清了一遍,剩下的依靠经验的积累和学习挣口饭钱的问题不大。不过还是感慨一下,虽然计算机和通信也都属于电气类大科目,可对于从业来讲,你说快排递归动态规划,我说FSK、PSK和自适应编码;你说的IDE是Eclipse VS,我说的Simulink和Quartus II,一个祖师爷是冯诺依曼,一个祖师爷是香农,真的是大相径庭。话说和通信中的各种积分变频公式看起来一样复杂的就是当下大火的机器学习,神经网络之类的名词了,不过看到如今的AI风口,有谁能不心动,过去BAT开出的应届生special offer的价格都很难找到一个靠谱的AI毕业生,况且机器学习的内容已经不再是互联网IT的专项了,传统工业界才是未来AI的最大腹地。总之无论今后还会从事什么,不管最后是否能走向那个方向,都需要不停的折腾,看过马老板的演讲说25岁之前尽情犯错,尝试过后只有这样才能知道自己适合什么,也就当作是一次提升自己的机会吧,学点小知识,对于具有通用性的数学性学习,也许永远不是浪费。

==分割线==分割线==分割线==分割线==分割线==分割线==分割线==分割线==分割线==分割线==分割线==分割线==分割线

背景

最先知道贝叶斯公式还是四年前的概率论和数理统计课上,时间也很久了,具体内容早已经忘记,不过毕竟曾经学过,重新看过还是得心应手的。大概用两三篇的内容来介绍一下贝叶斯,以及机器学习中很重要的一部分"朴素贝叶斯"。首先需要回顾几个基础知识。

(一)条件概率公式

相信工科的大部分学生都知道这个,条件概率公式,简单来说就是指事件A在另一个事件B发生了的条件下发生的概率。用数学表达就是P(A | B),读作“在B条件下A发生的概率”,最简单的模型就是P(A | B) = P( AB ) / P( B )。来看一下文氏图。

贝叶斯(01) 初识贝叶斯_第1张图片

图中可以看出来当B发生后A再发生的概率可以表示为P( A ∩ B ) / P( B ) ,这样根据定义P(A | B) =  P( A ∩ B ) / P( B )

==》P( A ∩ B ) = P(A | B) P( B )

从图中可知 P( A ∩ B ) = P(B | A) P( A )

==》P(A | B) P( B ) = P(B | A) P( A )

==》P(A | B) = P(B | A) P( A ) / P( B )

这个就是条件概率公式的一个重要性质,这个公式的模样已经有点像贝叶斯了,轮廓比较像,再需要点什么就好了,需要的就是全概率公式。

(二)全概率公式

表达式:


首先要理解一个概念,那就是“完备事件组”:

设S为试验E的样本空间,B1,B2,…,Bn为E的一组事件。若:

(1) Bi ∩ Bj=∅ (i≠j且i、j=1,2,…,n);

(2) B1∪B2∪…∪Bn=S;

则称B1,B2,…,Bn为样本空间S的一个完备事件组。

那么全概率的那个公式又是什么意思呢,它与完备事件组的关系是什么呢,来张文氏图,看图直观啊!

贝叶斯(01) 初识贝叶斯_第2张图片

看图读定义,样本空间S,图中对应黑色框内的空间区域;n个互斥的B事件,且所有的B事件的并集又是整个空间S,这一组事件就是实验E,简单来说就是“不重复,不遗漏”的事件组就叫做完备事件组。那么图中的红色圆圈内的空间区域,就是全概率公式中的事件A了,可以看出来A在不同的事件Bi ( i = 1,2,…,n ) 中的占比是不同的,这就说明每个子集的发生对A的发生产生不同程度的影响。

那么这有什么用呢,其实全概率公式的存在意义就是,当事件A发生的概率无法或者不易直接求得的时候,我们可以求得每个事件B中A发生的概率,然后相加得到A发生的概率,这一切都必须建立在Bi ( i = 1,2,…,n 是一组完备事件组的基础上。可以有两种理解方式:

(1)P(A) = P(AB1) + P(AB2) +P(AB3) + .......P(ABn) = P( B1 )P( A | B1 ) + P( B2 )P( A | B2 ) + P( B3 )P( A | B3 ) + ..... + P( Bn)P( A | Bn )

(2)也可以直接通过(一)介绍的条件概率事件来理解,可以把每一个Bi( i = 1,2,…,n )事件都看作是与A事件相交,求Bi发生条件下,A发生的概率,然后对于整个空间S来说,A发生的概率就是这样n各条件概率的和。

(三)贝叶斯

终于说到贝叶斯了,贝叶斯其实是知道结果问原因的一个东西,这样就与全概率的想法正好颠倒,就是在红圈内代表的A事件发生了的条件下,事件组中某一个事件Bi( i = 1,2,…,n )发生的概率,这句话看起来是不是特别像条件概率的情况,没错,把这句话带入到条件概率的求法公式中,就是贝叶斯公示了:
看条件概率公式:P(所求概率事件 | 条件) = P(条件|所求概率事件)*P(所求概率事件)/P(条件)
对应着这个公式我们来看一下:
P(条件):A事件发生的条件下,根据全概率 ==》P( A ) = P( B1 )P( A | B1 ) + P( B2 )P( A | B2 ) + P( B3 )P( A | B3 ) + ..... + P( Bn)P( A | Bn );
P(所求概率事件):Bi发生的概率     ==》P( Bi );
==》 P(条件|所求概率事件):P( A | Bi );
==》 P(所求概率事件 | 条件):P( Bi | A );
好了,贝叶斯公式可以写出来了吧:

以上就是贝叶斯的基本概念和推导过程,下一篇将举一些贝叶斯公式的实际应用,之后再继续朴素贝叶斯以及朴素贝叶斯和机器学习的关系。

你可能感兴趣的:(算法,机器学习)