朴素贝叶斯分类器,决策树,boosting,随机森林实现分类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了朴素贝叶斯分类器,决策树,boosting,随机森林实现分类相关的知识,希望对你有一定的参考价值。

参考技术A opencv的机器学习检测在ML库中具有很大的相似性。简单来说都可以分成两步:
1、训练/得到分类器。
2、使用分类器进行数据分类。
实现这两步所需要的也只是两个关键函数:
1、train()
2、predict()
以下我们就14组数据进行训练,每组数据有两个参数,来得到分类器,然后再对一组有两个参数的数据进行预测。

预测参数:

下面开始进行编码拟合:

得到的结果为:

得到的结果是:

得到的结果是:

所以boosting只支持二级分类,我们为了和上述其他几种情况作对比,将不小于26的response值设置为1,不大于25的response值设置为0,来进行分类训练,观察得到的结果。

可以认为boosting计算出的值为26。

朴素贝叶斯分类器原理

参考技术A

朴素贝叶斯分类器,实际上也是对人们常识做的一个算法的完善。其以一种更为精准的量化来判断分类,使用的方法是后验概率。本文从与决策树的比较出发,介绍先验概率和后验概率的关系,再详细介绍一下朴素贝叶斯算法的流程。

朴素贝叶斯算法比较简单,所以此文多是留以面试前复习之用。理清各个问题之间的关系是重点。

与决策树的比较

我们在学习完经典的决策树算法之后,可以有这样一个认识:决策树的特点是它总是在沿着特征做切分。随着层层递进,这个划分会越来越细。大体上就像这样:

对于决策树不是很了解的朋友们可以看我这篇文章《经典决策树算法》

我今天在此基础上,在介绍一种在概率框架下实施决策的基本方法。同样的,这也很符合我们人类的经验思维。这就是贝叶斯分类器。相比于决策树,其分类示意如下:

此处的的蓝色与红色交织,就代表着概率的大小。贝叶斯分类器的名字很高大上,其实背后的原理非常简单。就是根据概率来选择我们要将某一个个体分在哪一类中。

我们可以这样去理解贝叶斯分类器。西瓜藤新鲜的瓜甜的概率为0.7,若只看瓜藤,我们就将瓜藤新鲜的瓜判定为甜瓜。我们引入西瓜纹理这一个第二个特征,假设纹理整齐的瓜甜的概率为0.8。则这时候我们要算出瓜藤新鲜且纹理整齐的瓜甜的概率,比如为0.9(为什么要大于前两个概率大家可以思考一下),这样我们看到纹理和瓜藤这两个特征的时候就可以有概率的判断瓜是否甜了。

这里我们可以类比一下分类决策树。对于决策树不是很了解的朋友们可以看我这篇文章《经典决策树算法》相比于决策树将瓜藤新鲜的瓜甜的概率直接转化成瓜藤新鲜我们就判断成瓜甜,我们的贝叶斯更是有了一种概率性的容错性,使得结果更加准确可靠一点。但是贝叶斯分类器对数据有着比决策树更高的要求,其需要一个比较容易解释,而且不同维度之间相关性较小的模型。这个我们在之后会细细提及。

先验概率与后验概率

我们来看贝叶斯公式:

可见,先验概率,后验概率和似然概率关系密切的很。值得注意的是,A和B的顺序和这个先验后验是有关系的。A和B反了,先验与后验也需要反过来。举个例子来说: 桌子上如果有一块肉和一瓶醋,你如果吃了一块肉,然后你觉得是酸的,那你觉得肉里加了醋的概率有多大?

对于这个问题,在吃起来是酸的条件下肉里面放了醋的概率,便是后验概率。肉加了醋的前提下吃起来是酸的概率便是似然概率,肉里面加了醋的概率和吃起来是酸的概率便是先验概率。

我们可以总结一下,A事件是导致的结果,B事件是导致的原因之一。这里我们吃到肉是酸的,则是各种原因的结果,而肉里面放了醋则是导致这个A结果的诸多原因之一。为什么说是之一呢,因为除了放了醋,也有可能是肉变质了等等。

朴素贝叶斯分类算法

先通过一个经典例子来解释朴素贝叶斯分类的算法。由如下表格中的数据学习一个朴素贝叶斯的分类器并确定 的w类标记 ,表格中 , 为特征,取值的集合分别为 , , 为类标记,

此时我们对于给定的 可以如下计算:

可见 时候后验概率更大一些。所以

通过以上例子,我们会发现朴素贝叶斯的方法其实就是一种常规做法,拉普拉斯曾经说过,概率论就是将人们的常识使用数学公式表达。接下来我们来看看最完整的朴素贝叶斯分类算法的数学表达。

以上是关于朴素贝叶斯分类器,决策树,boosting,随机森林实现分类的主要内容,如果未能解决你的问题,请参考以下文章

最近邻、朴素贝叶斯和决策树分类器解决给定分类问题的效果如何?

mooc机器学习第六天-K近邻,决策树,朴素贝叶斯分类器简单尝试

机器学习——多方法简单分类(含有 决策树朴素贝叶斯随机森林svm向量机)含源码 自学指南

数据挖掘实例:朴素贝叶斯分类器进行垃圾邮件过滤

技术分享会朴素贝叶斯分类

干货 | 朴素贝叶斯算法