02-21 决策树ID3算法

[TOC] 更新、更全的《机器学习》的更新网站,更有python、go、数据结构与算法、爬虫、人工智能教学等着你:http://www.javashuo.com/article/p-vozphyqp-cm.htmlhtml

决策树ID3算法

决策树(decision tree)是一种基本的分类与回归方法,同时因为自身是弱分类器特别适合集成学习,例如随机森林、XgBoost。python

本文将经过ID3算法带你们入门决策树,以后会另写文章谈谈C4.5算法和CART分类回归树。算法

1、决策树ID3算法学习目标

  1. 信息增益
  2. 决策树ID3算法流程
  3. 决策树ID3算法优缺点

2、决策树引入

假设银行须要构造一个征信系统用来发放贷款,若是你是构建该系统的人,你会如何构建该系统呢?数据结构

我说说我将如何构建一个银行的征信系统,首先,我会判断征信人的年收入有没有50万,若是有我直接断定他能够贷款,若是没有我会再作其余的判断;其次,判断征信人有没有房产,若是有房产也就是说他有了能够抵押的不动产,既能够断定他能够贷款,若是没有,则不能贷款……机器学习

上述整个过程其实就是决策树实现的一个过程,接下来将从理论层面抽象的讲解三种形式的决策树。学习

决策树判断我的信用贷款

3、决策树ID3算法详解

3.1 if…else和决策树

如上一节的征信系统构建同样,决策树ID3算法的思想其实很简单,当你在使用$if\ldots\ldots$敲代码的时候其实就是在使用决策树的思想,可是你有没有想过把哪一个判断条件放在$if$上回更好,是先判断年收入仍是先判断有没有房产呢?其实在1970年的时候就有一位叫昆兰的大牛使用信息论上熵的概念来思考过这个问题,并在此基础上使用信息增益这个概念构建了决策树决策的过程。网站

具体的方法是:从根节点开始,计算全部可能特征的信息增益,选择信息增益最大的特征做为根节点的特征,由该特征的不一样特征值做为不一样的子节点;再对子节点递归调用上述方法,构建决策树;直到全部特征的信息增益都很小或者没有特征能够选择为止,最后获得一颗完整的决策树$T$。人工智能

上述方法构建的决策树则会如上图所示相似于算法中的二叉树,可是须要注意的是ID3算法的决策树是多叉树,而且决策树的各个节点使用信息增益选择特征,而后递归构建决策树。htm

3.2 信息增益

在《熵与信息增益》一文中提到:熵$H(X)$度量了随机变量$X$的不肯定性;条件熵$H(Y|X)$度量了知道$X$之后$Y$剩下的不肯定性;$H(X)-H(X|Y)$度量了$Y$在知道$X$以后不肯定性的减小程度,这个度量记做$g(Y,X)$,而且在决策树ID3算法中称为信息增益。blog

今后处能够看出,信息增益越大的特征,$Y$在知道$X$以后不肯定性的减小程度会越大,所以更适合用来分类。

4、决策树ID3算法流程

4.1 输入

假设现有一个训练集$D$,特征集$A$,阈值$\epsilon$。

4.2 输出

ID3算法决策树。

4.3 流程

  1. 初始化信息增益的阈值$\epsilon$
  2. 若是$D$中的全部样本都属于同一类$C_k$,则返回单节点树$T$,标记类别为$C_k$
  3. 若是$A$为空集,则返回单节点树$T$,标记类别为$D$中样本数最大的类$C_k$
  4. 计算$A$中各个特征对输出$D$的信息增益,选择信息增益最大的$A_g$
  5. 若是$A_g$小于阈值$\epsilon$,则返回单节点数$T$,标记类别为$D$中样本数最大的类$C_k$
  6. 若是$A_g$大于阈值$\epsilon$,则按照特征$A_g$的不一样取值$A_$把$D$分割成若干个子集$D_i$,每一个子集生成一个子节点,子节点对应特征值为$A_$,递归调用$2-6$步,获得子树$T_i$并返回

5、决策树ID3算法优缺点

5.1 优势

  1. 理论清晰,方法简单
  2. 学习能力强

5.2 缺点

  1. 没有考虑到特征连续值的状况,即如人的身高、体重都是连续值,没法在ID3算法中应用,即ID3算法更适合作分类
  2. 以信息增益做为划分训练数据集的特征,存在于偏向于选择取值较多的特征的问题。由于相同条件下,取值比较多的特征的信息增益大于取值较少的特征
  3. 没有考虑过拟合问题
  4. 没有考虑特征中含有缺失值的状况

6、小结

决策树ID3算法是最原始的决策树算法,因为它较好的解释型在当时也是火了一段时间。可是他的缺点也是特别明显的,树深度大了则容易过拟合,而且没法处理回归问题,没法处理连续值的问题等等一系列问题。

决策树ID3算法因为它自身的缺陷目前已较少使用,也由于这些缺点有了咱们下一篇要介绍的算法——决策树C4.5算法。

相关文章
相关标签/搜索