A37a676d992462fb37fc2cd15e0e1042
贝叶斯算法

知识前置

这个章节的机器学习,其实更像是一种概率论的学习,同时这也是机器学习和数据分析中非常重要的一环。如果学习遇到了困难非常推荐参考张宇考研概率论部分的内容。同时这一章的算法,也是在文本分类中使用的比较多的。
名词解释:

  • 先验概率:$ P(A)$
  • 条件概率:$P(A|B)$
  • 后验概率:$P(B|A)$
  • 全概率:$ P(B) = \sum_{i=1}^n P(A_i)*P(B|A_i)$
  • 贝叶斯公式:$ P(A|B) = \frac{ P(A) * P(B|A)}{ \sum_{i=1}^n P(B|A_i)*P(A_i)} $
    概率分布:
  • 高斯分布:简单的来说它的分布呈现的是正态分布的样子。参考链接
  • 伯努利分布:伯努利分布是0-1分布,简单的来说就是那种仍硬币的概率分布。参考链接
  • 多项式分布:是伯努利分布的推广,不再是只有两种情况,有多种情况的概率分布。参考链接
    贝叶斯算法的核心思想:
    找出在特征出现时,各个标签出现的概率,选择概率最大的作为其分类。

朴素贝叶斯

我们来“望文生义”的理解这个算法,贝叶斯指的就是上面的贝叶斯公式,而朴素则指的是“特征之间是独立的”这个朴素假设。
假设有给定样本X,其特征向量为$(x_1,x_2,...,x_m)$,同时类别为$y$。算法中使用公式2.1表达在当前特征下将类别y预测正确的概率。由于特征属性之间是假定独立的,所以$P(x_1,x_2,...x_m)$是可以直接拆开的,故根据这个特性优化,得到公式2.2。由于样本给定的情况下,$P(x_1,x_2,...,x_m)$的值不变,故研究概率最大的问题只需要研究公式2.2等号右侧上面的部分,最终写出预测函数公式2.3。

  • $ P(y|x_1,x_2,...,x_m) = \frac{P(y)P(x_1,x_2,...,x_m|y)}{P(x_1,x_2,...,x_m)}$ 公式2.1

  • $P(y|x_1,x_2,...,x_m) = \frac{P(y)\prod_{i=1}^m P(x_i|y)}{P(x_1,x_2,...,x_m)} $ 公式2.2

  • $\hat{y} = arg\ max_y P(y) \prod_{i=1}^m P(x_i|y) $ 公式2.3

到这里,算法的流程就很显而易见了,和softmax算法类似,让预测正确的概率最大即可,具体计算流程如下:
设$x = {a_1,a_2,...a_m}$为带分类项,其中a为x的一个特征属性,类别集合$C={y_1,y_2,...y_n}$

  • 分别计算所有的$P(y_i|x)$,使用上述公式2.3
  • 选择$P(y_i|x)$最大的$y_i$作为x的类型

其他朴素贝叶斯

高斯朴素贝叶斯

在上述贝叶斯算法中的特征是离散的,那么考虑特征属虚连续值时,且分布服从高斯分布的情况下。用高斯公式(公式3.1)代替原来计算概率的公式。那么根据训练集中,对应的类别下的属性的均值和标准差,对比待分类数据中的特征项划分的各个均值和标准差,即可得到预测类型。
$p(x_k|y_k) = g(x_k,\eta_{y_k},\sigma_{y_k}) = \frac{1}{\sqrt{2 \pi}\sigma}e^{-\frac{(x-\eta_{y_k})^2}{2\sigma_{y_k}^2}}$ 公式3.1

伯努利朴素贝叶斯

特征值的取值是布尔型的,是有true和false,符合伯努利分布,那么其$P(x_i|y_k)$的表达式如下公式3.3。
$P(x_i|y_k)= P(x_i = 1 | y_k)*x_i + (1-P(x_i=1|y_k))(1-x_k)$ 公式3.2

top Created with Sketch.