决策树(一)

来源:互联网 发布:ican3官方软件下载 编辑:程序博客网 时间:2024/05/21 09:03

5.1决策树模型与学习

5.1.1决策树模型

         分类决策树模型是一种描述对对实例进行分类的树形结构。决策树由节点和有向边组成。节点有两种类型:内部节点(internal node)和叶节点(leaf node)。内部节点表示一个属性或特征,叶节点表示一个类。

         用决策树分类,从根结点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子节点。
5.1.2决策树与if-then规则
        可以将决策树看成一个if-then规则的集合。规则:由决策树的根节点的每一条路径构建一条规则;
        路径上内部节点的特征对应规则的条件,而叶节点的类对应着规则的结论。
        决策树的路径或其对应的if-then规则集合具有一个重要的性质:互斥并且完备。 即每一个实例都被一条路径或者一条规则所覆盖,而且只被一条路径或一条规则所覆盖。
5.1.3决策树与条件概率分布
         决策树还表示给定特征条件下的条件概率分布,定义在特征空间上的一个划分上,将特征空间划分为互不相交的单元或区域,并在每个单元定义一个类的概率分布就构成了一个条件概率分布。
         决策树的一条路径对应于划分中的一个单元,决策树所表示的条件概率分布由各个单元给定条件下类的条件概率分布组成。假设X为表示特征的随机变量,Y为表示类的随机变量,那么这个条件概率分布可以表示为P(Y|X).X取值于给定划分下单元的集合,Y取值于类的集合。各叶节点(单元)上的条件概率往往偏向某一个类,即属于某一类的概率比较大。决策树分类时将该节点的实例强行分到条件概率大的那一块去。

5.1.4决策树学习          

       本质:从训练数据集中归纳出一组分类规则。与训练数据集不相矛盾的决策树可能有0/N个。
       决策树学习的损失函数通常是正则化的极大似然函数,决策树学习的策略是以损失函数为目标函数的最小化。
       从所有可能的决策树种选取最优决策树是NP完全问题,所以选始终决策树学习算法通常采用启发式方法,这样得到的决策树是次优的。
        决策树学习的算法通常是一个递归的选择最优特征,并根据该特征对训练数据进行分割,使得对各子数据集有一个最好的分类的过程。这一过程对应着对特征空间的划分,也对应着决策树的构建。
        a.构建根节点,所有训练数据放在根节点
        b.选择一个最优特征,按照这一特征将训练数据集分割成子集,使得各个子集有一个在当前条件下的最好分类
        c.若这些子集已经能偶被基本分类,那么构建叶节点,并将这些子集分到所对应的叶节点中去。
        d.如果还有子集不能被正确分类,那么久对这些子集选择新的最由特征,继续对其进行分割,构建相应节点
        e.如此递归下去,直至所有训练数据子集被基本正确分类。

              以上过程可能发生过拟合现象,需要对已生成的决策树自下而上进行剪枝。

5.2特征选择问题       
5.2.2信息增益
         熵(entropy)是表示随机变量不确定性的度量。设X是一个取有限个值得离散随机变量

         则随机变量X的熵为

若pi=0,则定义0log0=0;

         熵只依赖于X的分布,而与X的取值无关,所以也可将X的熵记做H(P)。
         熵越大,随机变量的不确定就越大。
         当随机变量只取两个值,如1/0时,X的分布为

         熵为

         这时,熵H(P)随概率p变化的曲线如图所示

         当p=0或p=1时H(p)=0,随机变量完全没有不确定性(此时要么属于该类要么不属于该类)。当p=0.5时,H(p)=1,熵最大,随机变量不确定性最大。
           
          随机变量(X,Y)联合概率分布为

             熵H(Y|X)表示在一直随机变量X的条件下Y的不确定性:

           信息增益(information gain)表示得知特征X的信息而使得类Y的信息不确定减少的程度
           定义:特征A对训练数据集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵
H(D|A)之差

           根据信息增益准则的特征选择方法是:对训练数据集(或子集)D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征
 
 
算法5.1(信息增益的算法)
符号约定:
D:训练数据集,|D|表示其样本容量
Ck:K个类别,k=1,2,3...K,|Ck|表示类Ck的样本个数
设特征A有n个不同的取值{a1,a2,...a3},根据特征A的取值将D划分为n个子集D1,D2,...Dn,|Di|为Di的样本个数,
,记子集Di中属于Ck类的样本集合为Dik,即Dik=Di∩Ck,|Dik|为Dik的样本个数
 
算法如下:
 
输入:训练数据集和特征A
 
(1)计算数据集D的经验熵H(D)

(2)计算特征A对数据集D的经验条件熵H(D|A)

 计算信息增益

5.2.3信息增益比
        信息增益比的大小相对于数据集而言,在训练数据集的经验熵大的时候,信息增益值偏大。反之信息增益值偏小,使用信息增益比(information gain ratio)可以进行校正,
        定义:
0 0
原创粉丝点击