美文网首页
机器学习算法抽象层面解释【朴素贝叶斯,决策树】

机器学习算法抽象层面解释【朴素贝叶斯,决策树】

作者: AresAnt | 来源:发表于2018-03-18 15:03 被阅读0次

朴素贝叶斯

重要知识点:【朴素贝叶斯的想法是每个特征都是相互独立,它们互不干涉,所以可以写成这样子的形式】
【P(X| A,B ) = P (X | A) * P(X| B )】
朴素贝叶斯的想法其实非常的简单,就是我们利用现有已知的概率前提条件下,然后将我们手头的信息进行逐一对应。有点可以说算是打表的操作。
举例:

学习类型 作业情况 考试情况
学霸 0.6 优秀 0.5 高分 0.7
学渣 0.4 优秀 0.1 高分 0.1

稍微说明一下,我们现在要预测一个同学,通过它的作业情况和考试情况来分析这个同学是不是学霸。然后这个同学给我们的反馈是(作业优秀,考试高分)
那么我们通过这张表就可以进行计算这个同学的情况。
【注:这里作业不优秀未列出,P(作业不优秀) + P(作业优秀) = 1】
好了,那么我们就可以开始朴素贝叶斯的计算。

  • P(学霸| 作业优秀,考试高分) = P(学霸) * P(作业优秀 | 学霸) * P(考试高分 | 学霸)
    = 0.6 * 0.5 * 0.7 = 0.21
  • P(学渣 | 作业优秀,考试高分) = P(学渣) * P(作业优秀 | 学渣) * P( 考试高分 | 学渣)
    = 0.4 * 0.1 * 0.1 = 0.004
    所以可以推断出这个人是一个学霸

从上述我们可以初窥,朴素贝叶斯其实就相当于是先对数据集合D做一个表的操作,然后我们下面的预测都是根据这一张表内的数据进行预测的。
所以从这方面我们也可以得出一点,朴素贝叶斯对测试集的数据情况非常的依赖,如果在噪声点多的情况下,朴素贝叶斯对于真实值的预测是不准确。

Tips:

对于连续数据的处理

我们知道一般来说我们所看到的概率都是非线性的数据(一般是离散型的数据),对于这类数据,我们可以方便来算出它们对于总体样本所占比例来估计它的概率。但是对于连续性的数据,我们就需要用概率密度函数进行映射,一般都是使用正太分布来对连续性数据进行预测赋值。【另外还有一种做法,我们将连续性的数据离散化,举个例子,比如人的年龄,我们可以将其分为大于30岁,和小于30岁,这样就相当于变成了一个0-1离散数据,之后我们再操作】

拉普拉斯平滑(修正)

根据上表我们可知,如果作业情况优秀有一个是0,那么我累乘的结果一定会是0。这种情况下,我们无论怎么做都会是0.拉普拉斯修正做的就是,将分子的数据 + 1 ,分母的数据 + N 。使得它不会有0解。

决策树

决策树分为:回归树与分类树,目前就我知道的回归树只有CART算法

分类树

ID3算法

ID3算法主要是通过信息增益来对集合进行分类。
简单来说的话公式我们可以写成这样子:Gain ={ Ent(根节点的信息熵) - SumEnt (某属性的信息熵)}
【某属性值有{ a,b },根节点在建树过程中是变化,像算法里 tree.root = tree.left 迭代】
【SumEnt(某属性的信息熵) = ( a在属性中的比例 ) * Ent(a) + ( b在属性中的比例) * Ent(b)】
然后选取信息增益最大的那个点作为分类点。

C4.5算法

C4.5是在ID3上进行了改进,它使用了增益率来进行划分.
公式就是上述的信息增益: Gain(C4.5) = Gain(ID3) / IV(a)
IV(a) 的公式与信息熵的公式相同
信息增益率大的为分类的结点。

CART算法【永远是二叉分类】

分类

CART算法使用Gini指数来进行分类,Gin指数小的进行分类。直观的来说,Gini(D)反映了从数据集中随机抽取两个样本,其类别标记不一致的概率。Gini(D)指数越小,则数据集D的纯度越高。
二叉的分发,就是在数据样本中随机抽取两个样本(即特征)进行比较。所以每次都是二叉的往下分,而C4.5,ID3可以是多叉分类。
简单来说,就是比如我用考试成绩高不高来判断这个人是不是学霸。如果我当前给的样本中,考试成绩高的学生全是学霸,那么我们得到的Gini(考试成绩高) = 0,说明只要考试成绩高就一定是学霸这样子的概念产生了,我们就以此进行了分类。

Tips

树的剪枝

因为树会对所给定的数据进行全部的分支。(在算法中,我们知道树的建立,相当于是遍历的过程)所以在很大概率上,一颗决策树的形成,他对预测数据的处理会是过拟合,这个时候就需要剪枝。剪枝的方式有点类似我们之前所说的,训练验证。我们先通过计算子树的损失函数,得到最下子树的剪枝。然后我们可以得到一串子树的序列{ T0,T1,T2, ..., Tn } 即右那么多课树,然后通过交叉验证来求取其中最优的解。

相关文章

  • 机器学习算法抽象层面解释【朴素贝叶斯,决策树】

    朴素贝叶斯 重要知识点:【朴素贝叶斯的想法是每个特征都是相互独立,它们互不干涉,所以可以写成这样子的形式】【P(X...

  • 机器学习常用算法

    机器学习常用算法总结如下:决策树随机森林算法逻辑回归SVM朴素贝叶斯K最近邻算法K均值算法Adaboost 算法神...

  • 朴素贝叶斯分类算法

    朴素贝叶斯分类算法多项式和高斯朴素贝叶斯的解释 朴素贝叶斯是一种有监督的机器学习方法,是概率分类器家族的一员。它采...

  • [他山之石] 3 常见机器学习方法总览

    这里总结了常见的几个机器学习算法:朴素贝叶斯、决策树、逻辑回归、线性回归、KNN、SVM、Boosting、聚类、...

  • 机器学习笔记

    机器学习常见算法: K最近邻算法,线性模型,朴素贝叶斯,决策树,随机森林,SVMs,神经网络等 要注意关心如下问题...

  • 朴素贝叶斯

    学习机器学习最简单的算法可以说就是 朴素贝叶斯了,今天分享下自己的学习心得。 什么是贝叶斯,什么是朴素贝叶斯 贝叶...

  • 机器学习 Day 12 | 朴素贝叶斯基础

    机器学习第十二天 基于概率论的分类方法:朴素贝叶斯 朴素贝叶斯 概述 贝叶斯分类是一类分类算法的总称,这类算法均...

  • 朴素贝叶斯

    在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同。对于大多数的分类算法,比如决策树,KNN,逻...

  • 机器学习(慕课网笔记)

    1 朴素贝叶斯 参考下面文章 译文 朴素贝叶斯算法总结 2 决策树 (信贷风险识别) 3 互联网广告 4 推荐系统...

  • 机器学习(14)——朴素贝叶斯

    前言:在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同。对于大多数的分类算法,比如决策树,KN...

网友评论

      本文标题:机器学习算法抽象层面解释【朴素贝叶斯,决策树】

      本文链接:https://www.haomeiwen.com/subject/ygueqftx.html