经典分类算法——决策树

      决策树是一种自顶向下的递归方法,其基本思想是以信息熵为度量构造一棵熵值下降最快的树,到叶子节点处的熵值为零,此时每个叶节点中的实例都属于一类。

     决策树学习算法优点是,它可以自学习。在学习过程中,不需要使用者了解过多背景知识,只需要对实例进行较好的标注,就能够进行学习。决策树属于有监督学习。从一类无序、无规则的事物中推理决策树表示的分类规则。

      决策树的建立

      建立决策树的关键是,在当前状态下选择哪个属性作为分类依据。根据不同的目标函数,建立决策树主要有三种算法:

      ID3 (信息增益) 
      C4.5 (信息增益率)
      CART (基尼指数)

      信息增益表示得知特征A的信息而使得类X的信息的不确定性的减少程度。定义特征A对训练数据集D的信息增益为g(D,A),定义g(D,A)为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即g(D,A)=H(D)-H(D|A)。选择信息增益最大的特征作为当前的分裂特征。

       上公式中,经验熵, (D表示训练数据集,|D|表示样本个数, 表示有K个类,为属于的样本个数,有:)。注:经验熵是对标号关于类的求和。

       经验条件熵,特征A有n个不同的取值,根据特征A的取值将D划分为n个子集的样本个数,有:,记子集中属于类的样本的集合为的样本个数。注:经验条件熵是对特征关于属性的求和。

       信息增益率:g(D,A)/H(D)

       Gini系数。注,Gini系数也称贫富差距系数。

     决策树剪枝

      在决策树的创建时,由于数据中的噪声和离群点,许多分枝反映的是训练数据中的异常。剪枝方法是用来处理这种过分拟合数据的问题。通常剪枝方法都是使用统计度量,剪去最不可靠的分枝。

      剪枝总体思路:由完全树开始,剪枝部分结点得到T1,再次剪枝部分结点得到T2...直到仅剩树根的树;在验证数据集上对这k个树分别评价,选择损失函数最小的树

      剪枝系数确定:

      1.根据原损失函数

      2.叶结点越多,决策树越复杂,损失越大,修正:

           当为0时,未剪枝的决策树损失最小

           当为正无穷大时,单根结点的决策树损失最小;

      3.假定当前对以r为根的子树剪枝,剪枝后只保留r本身而删除所有的叶子;

      4.考察以r为根的子树

           剪枝后的损失函数:

           剪枝前的损失函数:

      5.令上两式相等,则得到结点r的剪枝系数

 

  剪枝算法:

       1.计算所有内部节点的剪枝系数;

       2.查找最小剪枝系数的结点,剪枝得决策树;

       3.重复1.2.,直到决策树只有1个结点;

       4.得到决策树序列

       5.使用验证样本集选择最优子树。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值