机器学习 | 决策树和信息增益

机器学习 | 决策树和信息增益

决策树

①决策树基于特征的信息增益ID3或者信息增益比C4.5,逐个特征进行处理,更加接近人的决策方式
②产生的模型具有可解释性
③拟合出来的函数其实是分区间的阶梯函数。
④决策树可以表示输入属性的任何函数,但对同样一个训练数据集,决策树不唯一

在这里插入图片描述

决策树的TOP-DOWN构造算法

  • 𝐴←下一个结点node的最好属性
  • 把𝐴作为决策属性赋给结点node
  • 对𝐴的每一个取值,创建一个新的儿子结点node
  • 把相应的训练样本分到叶结点
  • 如果训练样本被很好的分类,则停止,否则在新的叶结点上重复上述过程

很好的分类: 一个节点上所有样本为一个类别(分类) or 一个节点上具有相似的属性值(回归)

待测条件的确定:

  • 依赖于属性类型(名词性\离散、有序的、连续)
  • 依赖于切分的分支个数(两路切分 or 多路切分)

但二值决策需要考虑可能的切分并选择最好的,计算量较大

决策树的优点

  • 构建过程计算资源开销小
  • 分类未知样本速度极快
  • 对于小规模的树比较容易解释
  • 在许多小的简单数据集合上性能与其它方法相近

决策树的缺点

  • 只考虑对训练数据的拟合
  • 欠拟合——模型对数据的复杂性或特征之间的关系进行了过于简单的建模,导致模型在训练数据上表现不佳
  • 过拟合——导致决策树比必要的更复杂,训练误差不再能够很好地估计树在以前未见过的记录上的表现
    在这里插入图片描述

决策树的剪枝

早停法(预剪枝),在原来的停止条件基础上增加更多的限制性条件

  • 如果实例数量小于用户指定的阈值,则停止——避免在数据样本太少的情况下创建过于复杂的树结构,从而降低了模型的泛化能力
  • 如果实例的类分布独立于可用实例特征(例如,使用𝝌^𝟐检验),则停止——特征与类别之间没有显著的关联
  • 如果扩展当前节点没有改善不纯度(例如,基尼或信息增益),则停止——防止不必要的树生长

后剪枝,完整地生长决策树,而后以自底向上的方式修剪决策树的节点

损失函数: 平衡正确率和模型复杂度(正则的思想):𝐶𝑜𝑠𝑡(𝑀𝑜𝑑𝑒𝑙, 𝐷𝑎𝑡𝑎)=𝐶𝑜𝑠𝑡(𝐷𝑎𝑡𝑎|𝑀𝑜𝑑𝑒𝑙)+ 𝐶𝑜𝑠𝑡(𝑀𝑜𝑑𝑒𝑙)
决策树的剪枝往往通过极小化决策树整体的损失函数(loss function)来实现。设树𝑇的叶结点个数为|𝑇| ,𝑡是树𝑇的叶结点,该叶结点有 N t N_t Nt个样本点,其中𝑘类的样本点有 N t k N_{tk} Ntk个,𝑘=1,2,…,𝐾, H t ( T ) H_t(T) Ht(T)为叶结点𝑡上的熵。

剪枝算法:

  1. 计算每个节点的熵
  2. 递归的从树的叶节点向上回缩
  3. 如果损失函数减小,则将父节点变为新的叶节点
  4. 重复步骤2,直至不能继续为止

信息增益

在一个条件下,信息复杂度(不确定性)减少的程度。和互信息等价
g ( X , Y ) = H ( X ) − H ( X ∣ Y ) g(X,Y)=H(X)-H(X|Y) g(X,Y)=H(X)H(XY)

优点:对于数据集D而言,信息增益依赖于特征,不同特征具有不同的信息增益,信息增益大的特征具有更强的分类能力

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值