贝叶斯分类器

朴素贝叶斯分类器

数学理论

  • 先验概率

根据以往经验和分析得到的概率

  • 条件概率(后验概率)

在事件B发生的条件下A在发生的概率

$$
P(A|B)=\frac{P(AB)}{p(A)}
$$

  • 朴素贝叶斯定理
    直观理解:我们假设B是我们的特征标签A是我们的分类标签。那么公式直观上的理解就是:我们在具有B这么多的特征之后一个样本属于A的概率有多大

$$
P(A|B)=\frac{P(B_1|A)P(B_2|A)P(B_3|A)…P(B_n|A)P(A)}{P(B)}\\text{公式中}P(B_i|A)\text{代表在训练集中}B_i特征下属于A的概率
$$

此时问题来了:如果我们的特征是非数字数据比如说:绿色、蓝色等那么我们很容易就可以计算得到概率的计算,但是如果是具体数字呢?那么应该怎么计算呢?

  • 高斯朴素贝叶斯

高斯分布:正态分布

$$
P(A|B)=\frac{1}{\sqrt{2\pi\sigma_{B}^{2}}}e^{-\frac{(A-\mu)^2}{2\sigma_{B}^{2}}}\\mu:均值 \sigma:方差
$$

正态分布判别

朴素贝叶斯

我们先看关于他的解释:朴素贝叶斯是一种建分类器的简单方法。该分类器模型会给问题实例分配用特征值表示的类标签,类标签取自有限集合。它不是训练这种分类器的单一算法,而是一系列基于相同原理的算法:所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关。

https://zh.wikipedia.org/wiki/%E6%9C%B4%E7%B4%A0%E8%B4%9D%E5%8F%B6%E6%96%AF%E5%88%86%E7%B1%BB%E5%99%A8

从定义上看起来觉得很麻烦,其实朴素贝叶斯算法的原理十分简单。我们以如下例子为例:

假设训练集如下

性别 身高(英尺) 体重(磅) 脚的尺寸(英寸)
6 180 12
5.92 (5’11”) 190 11
5.58 (5’7”) 170 12
5.92 (5’11”) 165 10
5 100 6
5.5 (5’6”) 150 8
5.42 (5’5”) 130 7
5.75 (5’9”) 150 9

我们对训练集计算得到:

性别 均值(身高) 方差(体重) 均值(体重) 方差(体重) 均值(脚的尺寸) 方差(脚的尺寸)
5.855 3.5033e-02 176.25 1.2292e+02 11.25 9.1667e-01
5.4175 9.7225e-02 132.5 5.5833e+02 7.5 1.6667e+00

那么在给定如下样本进行判别:

  • 身高:6 体重:130 脚的尺寸:8
    如何计算呢?很简单!!!比如说我们计算$P(身高|男性)$我们只需要将身高6代入到我们的高斯贝叶斯公式里面就可以得到我们的概率。我们依次计算体重、脚的尺寸就可以得到一系列的概率,而后我们代入公式:

    $$
    P(男性)=\frac{P(男性)P(身高|男性)….}{P(A)}\P(A)=P(男)*P(身高|男性)….+P(女性)*P(身高|女性)….\P(男)=0.5=P(女)
    $$

而后判别男和女的概率大小进而判别是男性还是女性!