码迷,mamicode.com
首页 > 其他好文 > 详细

机器学习笔记(九)——决策树的生成与剪枝

时间:2016-05-13 01:33:21      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:

一、决策树的生成算法

        基本的决策树生成算法主要有ID3和C4.5, 它们生成树的过程大致相似,ID3是采用的信息增益作为特征选择的度量,而C4.5采用信息增益比。构建过程如下:

  1. 从根节点开始,计算所有可能的特征的信息增益(信息增益比),选择计算结果最大的特征。
  2. 根据算出的特征建立子节点,执行第一步,直到所有特征的信息增益(信息增益比)很小或者没有特征可以选择为止。

以上算法只有树的生成,容易产生过拟合。

二、决策树的剪枝

       决策树对于训练数据有很好的分类,但是对于未知测试集的分类并没有那么准确,这就产生过拟合的现象。其实,原理都是一样,决策树的构建是直到没有特征可选或者信息增益很小,这就导致构建的决策树模型过于复杂,而复杂的模型是通过在训练数据集上建立的,所以对于测试集往往造成分类的不准确,这就是过拟合。解决过拟合的方法是控制模型的复杂度,对于决策树来说就是简化模型,称为剪枝。很形象的就是减掉树中的一些节点。
        决策树的剪枝一般通过极小化损失函数或者代价函数来实现。

T|T|tTNtkNtkk=1,2,,K,Ht(T)tα0

Cα(T)=t=1|T|NtHt(T)+α|T|(1)

其中,经验熵为:
Ht(T)=?kNtkNtlogNtkNt(2)

将(1)式的第一项记为:
C(T)=t=1|T|NtHt(T)=?t=1|T|k=1KNtklogNtkNt

则:
Cα(T)=C(T)+α|T|(3)

C(T)表示模型对训练数据的预测误差,即拟合度。|T|表示模型的复杂度,参数α0控制两者之间的影响。剪枝就是当α确定时,选择损失函数最小的模型。子树越大,数据拟合得越好,但是模型的复杂度越高;相反,字数越小,数据拟合较差,模型的复杂度较低。损失函数正好表示对两者的平衡。

        从上述分析可以看出,决策树的生成算法的模型复杂度很高,很好的地拟合了训练数据。需要重点提一下的是,(3)式定义的损失函数极小化等价于正则化的极大似然估计。

机器学习笔记(九)——决策树的生成与剪枝

标签:

原文地址:http://blog.csdn.net/chunyun0716/article/details/51344905

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!