一. 离散型随机变量和连续型随机变量

首先需要先了解基本的概率论知识,由于自己太长时间没有接触概率知识,所以忘记的差不多了,现在需要回忆一下。

  1. 概率相关知识
  • 离散型随机变量:如果随机变量X只可能取有限个或可列个值x1,x2,…,,则称X为离散型随机变量。
    离散变量是指其数值只能用自然数或整数单位计算的则为离散变量.例如,企业个数,职工人数,设备台数等,只能按计量单位数计数,这种变量的数值一般用 计数方法取得.
  • 连续型随机变量:这种变量的取值充满一个区间,无法一一排出
    连续随机变量,在一定区间内可以任意取值的变量,其数值是连续不断的.,相邻两个数值可作无限分割,即可取无限个数值.例如, 生产零件 的 规格尺寸 , 人体测量 的身高,体重,胸围等为连续变量,其数值只能用测量或计量的方法取得.

在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简称为密度函数)是一个描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数。而随机变量的取值落在某个区域之内的概率则为概率密度函数在这个区域上的积分。当概率密度函数存在的时候,累积分布函数是概率密度函数的积分。概率密度函数一般以小写标记。

参考:常见的连续性随机变量的常见分布

二. 贝叶斯理论的思想

掷硬币的例子说明了古典统计学的思想,就是概率是基于大量实验的,也就是 大数定理。那么现在再问你,有些事件,例如:明天下雨的概率是30%;A地会发生地震的概率是5%;一个人得心脏病的概率是40%…… 这些概率怎么解释呢?难道是A地真的100次的机会里,地震了5次吗?肯定不是这样,所以古典统计学就无法解释了。再回到掷硬币的例子中,如果你没有机会掷1000次这么多次,而是只掷了3次,可这3次又都是正面,那该怎么办?难道这个正面的概率就是100%了吗?这也是古典统计学的弊端。

举一个具体的例子

如果你在一家购房机构上班,今天有8个客户来跟你进行了购房沟通,最终你将这8个客户的信息录入了系统之中:

python l连续与离散 连续和离散变量_概率密度函数


此时又有一个客户走了进来,经过交流你得到了这个客户的信息:

python l连续与离散 连续和离散变量_取值_02


那么你是否能够判断出这位客户会不会买你的房子呢?

如果你没有接触过贝叶斯理论,你就会想,原来的8个客户只有3个买房了,5个没有买房,那么新来的这个客户买房的意愿应该也只有3/8 。

这代表了传统的频率主义理论,就跟抛硬币一样,抛了100次,50次都是正面,那么就可以得出硬币正面朝上的概率永远是50%,这个数值是固定不会改变的。例子里的8个客户就相当于8次重复试验,其结果基本上代表了之后所有重复试验的结果,也就是之后所有客户买房的几率基本都是3/8 。

但此时你又觉得似乎有些不对,不同的客户有着不同的条件,其买房概率是不相同的,怎么能用一个趋向结果代表所有的客户呢?

对了!这就是贝叶斯理论的思想,简单点讲就是要在已知条件的前提下,先设定一个假设(买或者不买),然后通过先验实验(前提条件)来更新这个概率,每个不同的实验都会带来不同的概率。

参考:数据分析经典模型——贝叶斯理论

三. 概率基础知识

联合概率、边际概率、条件概率

离散分布:

python l连续与离散 连续和离散变量_取值_03


联合概率、边际概率、条件概率的关系:

  • python l连续与离散 连续和离散变量_条件概率_04 为“XY的联合概率”,表示两个事件同时发生的概率。
  • python l连续与离散 连续和离散变量_概率密度函数_05 为“X的边际概率”,可以看出某一个边际概率等于这一列所有联合概率的发生的概率和
  • python l连续与离散 连续和离散变量_python l连续与离散_06 为“X基于Y的条件概率
  • python l连续与离散 连续和离散变量_概率密度函数_07 为“Y的边际概率

从上式子中可以看到:
python l连续与离散 连续和离散变量_取值_08
python l连续与离散 连续和离散变量_取值_09
即:python l连续与离散 连续和离散变量_条件概率_10
python l连续与离散 连续和离散变量_python l连续与离散_11
这个就是联合概率、边际概率、条件概率之间的转换计算公式。

前面表述的是离散分布,对于连续分布,也差不多。 只需要将“累加”换成“积分”。

python l连续与离散 连续和离散变量_条件概率_12


参考:贝叶斯及其相关基础知识

1. 条件概率

最基本的高中(初中)的知识,我们用python l连续与离散 连续和离散变量_概率密度函数_13来表示,在事件B已经发生的前提下,事件A发生的概率。
若AB之间存在一定的关联性,则我们可以知道:
python l连续与离散 连续和离散变量_条件概率_14
若事件AB为独立事件,则我们可以知道:
python l连续与离散 连续和离散变量_取值_15

  • 也可以看出:python l连续与离散 连续和离散变量_python l连续与离散_16
    python l连续与离散 连续和离散变量_条件概率_17
  • python l连续与离散 连续和离散变量_python l连续与离散_18
    python l连续与离散 连续和离散变量_概率密度函数_19
2. 贝叶斯定理

贝叶斯公式:
python l连续与离散 连续和离散变量_概率密度函数_20

python l连续与离散 连续和离散变量_python l连续与离散_21为联合概率,可以交换顺序求得
python l连续与离散 连续和离散变量_python l连续与离散_22为边际概率,可以将所有A的取值取尽,联合概率之和,然后联合概率还是等于交换顺序。

3. 条件独立

条件独立的性质能用于简化模型的参数,其最基本的形式可以表达为:
python l连续与离散 连续和离散变量_条件概率_23
ABC都相互独立。

四. 贝叶斯模型原理流程理解

朴素贝叶斯的分类方法其实就是基于贝叶斯定理特征条件独立假设的分类方法。对于给定的训练集合,首先基于特征条件独立(朴素由此而来)学习输入,输出的联合概率分布,然后基于学到的,对给定的输入,利用贝叶斯定理求出后验概率最大的输出。把上面的贝叶斯定理,运用在分类问题上,我们可以得到一个浅显易懂的式子:
python l连续与离散 连续和离散变量_条件概率_24
至此,大家应该对该模型有了一个初步的理解印象。

假设我们的训练集合为,
python l连续与离散 连续和离散变量_概率密度函数_25
其中x为python l连续与离散 连续和离散变量_概率密度函数_26维的向量(即每个输入,都有N维特征),且输入样本之间无干扰,独立分布;输出样本python l连续与离散 连续和离散变量_python l连续与离散_27

则根据上述的贝叶斯公式,我们可以计算得出:
python l连续与离散 连续和离散变量_取值_28

python l连续与离散 连续和离散变量_概率密度函数_29的时候求输出结果是python l连续与离散 连续和离散变量_条件概率_30

  • python l连续与离散 连续和离散变量_取值_31
    因为你我们要求python l连续与离散 连续和离散变量_概率密度函数_32所以用第一个公式。
  • python l连续与离散 连续和离散变量_python l连续与离散_33

因此,我们的预测分类即为:
python l连续与离散 连续和离散变量_取值_34
而对于所有的分类概率来说,其分母都是一致的,所以简写为:
python l连续与离散 连续和离散变量_条件概率_35
各个特征之间满足条件独立的假设python l连续与离散 连续和离散变量_概率密度函数_36,因此,上式又可以简化为:
python l连续与离散 连续和离散变量_条件概率_37
至此,整套朴素贝叶斯模型就结束了。

总结:
最重要的就是两个公式:
一个是求联合概率的:
python l连续与离散 连续和离散变量_条件概率_17
一个是求边际概率的:
python l连续与离散 连续和离散变量_概率密度函数_19

参考:

贝叶斯及其相关基础知识朴素贝叶斯分类模型数据分析经典模型——贝叶斯理论