机器学习读书笔记 — 决策树

  1. 决策树
    决策树解决的是一个分类的问题,属于监督学习的一种。举个例子,对于下面的数据集,数据的特征有:年龄,工作,房子,信贷等,通过这些特征的信息决定了是否给发放贷款(分类问题)。
    image.png

通过特征选择,建立一颗决策树。(如下图所示)


这个树并不是一个像哈夫曼树一样的树,这只是一个例子。它就是一个普通的二叉树.png

决策树建立的难点在于:

  1. 特征选择
    选择什么样的特征作为分类的依据,比如先考虑有没有工作,还是先考虑年龄,或者是其他特征。主要的算法是ID3,C4.5。ID3 (iterate dichotmiser 3 迭代二分器 3)

  2. 减枝
    ID3 和 C4.5 算法递归的产生决策树,知道不能继续下去为止,这样容易过拟合。在决策树学习的过程里面,将决策树进行简化的过程叫做减枝,从而简化分类树的过程。
    主要算法,CART (classification and regression tree 分类与回归树)算法


特征选择

预备知识:

  1. 熵的概念
    熵衡量的是数据的无序程度(或者是不确定的程度),熵越大,表示不确定的程度越大。

对于随机变量X ( X可能的值是x1,x2,x3 ,他们的出现的概率分别是px1,px2,px3) , 熵的定义:


MARKDOWN 如何编辑公式,在线等?急.png
  1. 条件熵
    对于随机变量(X,Y),他们的联合概率分布为:


    image.png

来一个test,对于给出的表5-1(即第一个图)里面的数据集D,分别以A1,A2,A3,A4表示年龄,工作,房子和信贷的4个特征,求 H( D | A1 )

image.png
  1. 信息增益
    特征A 对训练数据集D的信息增益g(D,A) :


    image.png

如果特征A 可以很好的划分数据集D,(换句话说如果以特征A划分之后,数据集的确定性变成100%(确定事件),那么这个时候H(D|A) =0 ),g( D, A) 越大,特征A的分类效果越好。

举个例子:


image.png

对于以上的数据集D,求它的决策树。

  1. 分别以特征A1,A2,A3,A4 , 分别计算g( D, Ai)


    image.png
image.png
image.png
image.png
image.png

g( D, A3) 是最大的,也就是说,用特征A3划分数据效果最好。A3表示的是有没有房子。(感觉很符合常理啊~)

ID算法 构造决策树

image.png

对于数据集D,首先计算g( D, A1) ,g( D, A2) ,g( D, A3) 和 g( D, A4)大小。g( D, A3)最大。第一步用A3 划分。然后,用特征A3把数据集划分成两个子集D1(A3==有房)和D2(A3==无房)。
对于子集D1,里面的实例都属于同一类,所以以该类作为该叶节点的标记,然后递归结束END。
对于子集D2,继续从剩下的特征A1,A2,A4选择特征:


image.png
image.png

所以,构造的决策树是:


image.png

但是,ID3构造决策树有一个问题是:容易过拟合,因为他在学习的时候,过多的考虑如何将数据准确的分类,从而构造出复杂的决策树。

C4.5 算法和ID3相似,区别在于ID3用信息增益来选择分类的特征,C4.5选择用信息增益比作为分类的依据。

决策树的减枝
todo

CART(分类和递归树算法)算法

todo

参考文献
《统计学习方法》 李航
《机器学习实战》

你可能感兴趣的:(机器学习读书笔记 — 决策树)