ML算法(二)——贝叶斯分类算法

2021-08-09 15:56:11 浏览数 (1)

在一些支持并行或大数据量或不断增量更新数据的场景比如垃圾邮件的分类,文本有害识别,异常信号的捕捉等,贝叶斯算法都应用的非常普遍,它有较多的优良特性,且本身支持多分类的任务,所以也是分类算法领域较为基础和重要的一个,也是后续概率图信念网络等算法的基础。在解释贝叶斯分类器前,先了解两个概念,生成模型和判别模型

  • 生成模型

即从已知的数据集训练集(包含自变量和标签因变量)学习到关于自变量与因变量的联合概率分布

p(vec{x},y)

(联合概率分布的概率密度函数为

f(vec{x},y)

),然后根据学习到的联合概率分布去求条件概率

p(y|vec{x})

的值作为因变量的预测评判,具体求法是条件概率公式,即

p(y|vec{x}) = frac{p(vec{x},y)}{p(vec{x})}

因为它还原了联合概率分布(或者是捕捉到了变量关联性),所以收敛速度快,且在有隐变量(暂时无法观测的中间变量)存在的情况下只能是生成模型,典型代表就是本文的贝叶斯法和隐马尔可夫模型

  • 判别模型

根据数据集训练集直接学习

y=f(vec{x})

p(y|vec{x})

,不会再由两者联合分布求得,此方法可以直接预测,过程简化且准确率更高,典型代表是回归模型和决策树

所以既然本文所述的贝叶斯法是生成模型,那肯定就是会求自变量因变量的联合概率分布了。在进入主题前需要用一些比较重要的概念作铺垫。

一些概念

  • 先验概率和后验概率

先验概率顾名思义就是在事件得到校验前发生的概率,也即是根据历史以往的经验和分析得到的自然概率,而后验概率则是当一件事情发生以后此时的概率,举个例子,比如一个陌生人在没有任何事件发生的前提下判断他是中国人的概率约为

frac{14亿}{70亿}= 0.2

的概率,而如果他说了一句中文,那么他在这件事发生的前提下是中国人的概率不可能是0.2了,而这个概率就是后验概率。

  • 全概率公式和贝叶斯定理

这是概率论学科中一个非常重要的公式定理,设样本空间为E,而在该空间的每一个可能发生的事件为

B_i

,且事件之间互斥(不可能同时发生),事件总和构成样本空间,发生概率为

P(B_i)

则一定大于等于0,若A为空间中的一个随机事件,A发生的概率就一定等于A在

B_i

事件发生时发生的概率(条件概率)乘以

B_i

事件发生时发生的概率的总合,即

P(A) = sum_{i=1}^n P(A | B_i) P(B_i)

而贝叶斯定理刻画的是当事件A发生了,那

B_i

事件发生的概率为多少呢,所以很显然

P(B_i|A) = frac{P(B_i,A)}{P(A)}
= frac{P(A|B_i) P(B_i)}{sum_{i=1}^n P(A | B_i) P(B_i) }

上式的分子表示两事件同时发生的概率

朴素贝叶斯法

做了每个自变量特征

X_i

相互独立的假设,所以才显得朴素

思想

  • 根据特征相互独立的假设学习出自变量输入与因变量输出的联合概率分布
  • 基于联合概率分布,利用贝叶斯定理求得后验概率最大的输出(往下看)

期望风险

由损失(风险)函数为

L(y,f(vec{x})) = begin{cases} 1 , y= f(vec{x})\ 0,y neq f(vec{x}) end{cases}

则期望风险(对损失取期望),为

R = sum_{vec{x}in X}sum_{yin Y}L(y,f(vec{x})p(vec{x},y)) = E_x[sum_{yin Y}L(y,f(vec{x})p(vec{x},y))]

朴素贝叶斯的分类标准是希望找到后验概率最大时的那个y类别,即是寻求后验概率最大化,它也可以理解为是此时的期望风险的最小化

贝叶斯估计

贝叶斯估计和朴素贝叶斯算法有所不同,贝叶斯估计可以为朴素贝叶斯提供频率估计概率的一种思想一种改进而已,即将朴素贝叶斯里面的极大似然频率估计概率换成了贝叶斯估计

半朴素贝叶斯分类

总结

贝叶斯分类法的一个重要优点就是速度很快,可以并行学习,且支持增量插入训练数据,且横向也可以避免维度特征太多的情况(不像决策树特征越多树高度一般会更高)

0 人点赞