[机器学习]朴素贝叶斯

有所需,遂重新学习朴素贝叶斯,虽然以前学习了这个机器学习的算法,但自6月去腾讯实习后,又在本地一家公司实习三个月,都是前端工作,日久不用,基本都还给老师了。。。

0x00 基本概念

1. 先验概率:简称“概率”,可直接比较得出的概率,例如男生女生各10人,其中任选一人为男生的先验概率为1/2

2. 条件概率:P(A|B)表示在B事件发生的情况下,A事件发生的概率,根据原因判断结果

3. 后验概率:由果索因,最大似然估计,例如小明已经迟到,问小明迟到的最大可能原因是熬夜,小明迟到原因有很多种。后验概率通常起到了这样一个效果,根据已发生的事实(结果),推断分析最有可能产生结果的原因,然后才能有针对性地解决问题。可以理解为:后验概率=先验概率 * 调整因子

4. 贝叶斯公式:是一个由先验概率求后验概率的公式:

贝叶斯公式


0x01 贝叶斯决策论(Bayesian decision theory)

对于分类任务来说,在所有相关概率都已知的理想条件下,贝叶斯决策论考虑如何基于这些概率误判损失来选择最优的类别标记,可以简单理解为是一种分类的决策方法。

公式推导:《贝叶斯分类器(贝叶斯决策论和极大似然估计)》


0x02 朴素贝叶斯分类器(Naive Bayesian Classifier)

朴素贝叶斯算法是有监督的学习算法,解决的是分类问题。如客户是否流失、是否值得投资、信用等级评定等多分类问题。

  • 优点:在于简单易懂、学习效率高、在某些领域(垃圾邮件、分本分类)的分类问题中能够与决策树、神经网络相媲美。
  • 缺点:由于该算法以自变量之间的独立(条件特征独立)性和连续变量的正态性假设为前提,就会导致算法精度在某种程度上受影响。

由上述推导可知,后验概率P(c|x)的估计难度主要在于条件概率P(x|c)是所有属性上的联合概率,难以从有限的训练样本中直接估计得到。

为了避免这个问题,朴素贝叶斯引入了“属性条件独立性假设attribute conditioanl independence assumption)”:对已知类别,假设所有属性相互独立。也就是说,各属性独立地对分类结果产生影响。

那么此时的P(c|x)可以重写为:

重写

*其中d为属性数目,xi为 在第i个属性上的取值。

对于所有类别来说p(x)是相同的,那么贝叶斯判断准则就可以如下:

贝叶斯判断准则

朴素贝叶斯分类器的训练器训练过程就是基于训练集D来估计类先验概率P(c),并为每个属性估计条件概率P(x|c)。

因此对于离散和连续属性的调价概率公式如下:

属性类型公式
离散型离散型条件概率
连续型连续型

连续型假定了条件概率服从正太分布(概率密度函数)

为了避免其他属性携带的信息被训练集中未出现的属性值“抹去”(不在训练集中导致分子为0,概率为0),在估计概率值时需要进行平滑(smoothing)操作,常用“拉普拉斯修正”。分子+1,分母+可能类型数

拉普拉斯修正法


0x03 贝叶斯网(Bayesian network)

贝叶斯网也称“信念网(belief network)”,借助有向无环图(Directed Acyclic Graph,简称DAG)来刻画属性之间的依赖关系,并使用条件概率表(CPT),来描述属性的联合概率分布。

贝叶斯网中三个变量之间的典型一依赖关系:同父结构V型结构顺序结构

推导过程大家可以自行学习,在线的笔记公式过于麻烦,暂时这样吧,在后续的研究学习中如有创新突破点,再做分享吧~

发表评论 / Comment

用心评论~


Warning: Cannot modify header information - headers already sent by (output started at /www/wwwroot/blog.dyboy.cn/content/templates/dyblog/footer.php:56) in /www/wwwroot/blog.dyboy.cn/include/lib/view.php on line 23