机器学习1. 决策树/随机森林

决策树 【笔记7】

主要的问题

  • 如何选择分类属性?(特征选择)
  • 如何建立决策树?(相的构造)
  • 如何停止分裂?(停止和减枝)

相关定义和计算

E n t r o p y = − ∑ i n a ( i ) l o g ( a ( i ) ) Entropy = -\sum_i^na^{(i)}log(a^{(i)}) Entropy=ina(i)log(a(i))
熵描述了数据的混乱程度,

  • 熵↑,混乱程度↑,复杂度↑,纯度越↓,信息量越少;反之,
  • 熵↓,混乱程度↓,复杂度↓,纯度越↑。

决策树每次选择分裂使用的特征时选择能最大降低**【复杂度】**的特征

ID3 - 最大信息增益

定义:给定数据集D,共有K类,它的经验熵记为 H ( D ) H(D) H(D) ,【1】式,

  • 其中 C k C_k Ck是第k类的子集, ∣ a ∣ |a| a是子集a的样本个数。

定义:经验条件熵 H ( D ∣ A ) H(D|A) HDA 。是某个特征子集 A A A相对于整体 D D D的经验熵,【2】式

  • 其中 D i D_i Di是特征中取值相同,编号为 i i i的一组样本。条件熵需要对所有样本操作,相当于依照特征A的取值将整个数据集分为了几个独立的组

定义:熵的差值定义为信息增益 g ( D , A ) g(D,A) g(D,A),【3】式

  • 表示数据集的经验熵和条件经验熵的差,其值越大(经验熵越小),表示特征A越能够区分样本(即可以作为分类的优先属性)
  • 信息增益反应了给定条件后不确定性的减少程度。

树的生长:每次选择信息增益最大的特征A作为当前节点。

C4.5 - 最大信息增益比

定义:取值熵 H A ( D ) H_A(D) HA(D),【4】式

定义:信息增益比 g R ( D , A ) g_R(D,A) gR(D,A),【5】式

树的生长:每次选择信息增益比最大的特征A作为当前节点。

CART (Classification And Regression Tree)- 最大基尼指数

定义:Gini值 G i n i Gini Gini,表示数据的纯度,【6】式

  • 以2分类为例。当2类数量相等时,Gini值为0.5,表示最不纯。当全部为某一类时,Gini值为0,表示最纯。数值越小数据越纯,即类别越少。

定义:特征A的Gini指数 G i n i ( D ∣ A ) Gini(D|A) Gini(DA),【7】式

  • CART是一个二叉树,每次选择基尼指数最小的特征进行分类。
    每次按照特征A分为两部分,分别进入左右子树。
回归树

在这里插入图片描述

剪枝

预剪枝

思想:在树生长之前,判断当前划分可否提升模型的泛化能力。如不能,结束生长,对子节点采用投票的方法决定其类别。

  • 树达到一定深度,停止生长
  • 当前节点样本量小于阈值
  • 熵或基尼值小于阈值
  • 所有特征已经用完
  • 因为太多的特征没有被展开,可能导致欠拟合【**】
    例:西瓜书81页,对当前节点,使用测试集测试。经过决策树选择之前和之后的准确率对比,若降低则剪枝。预测类别用投票法。
后剪枝

思想:先生成一颗完整的决策树,然后自底向上的决定是否剪枝。剪枝时将子树删除,用叶子结点替代,类别通过投票确定。

  • 可以得到泛化能力更强的决策树。
  • 比预剪枝保留了很多的分支,欠拟合风险小,泛化能力好,但是时间花销比较大
    例:西瓜书82页,从最后一个父节点开始,测试有/没有父节点的分类性能,若下降则剪枝。

其他

连续值处理(如数字)
  • 二分法(C4.5采用)
    思想:对连续值进行排序,取中位数作为划分点分为两个部分(大于划分点和小于划分点)。
    注意:连续值在子树中仍然可以作为属性进行划分。
缺失值处理
  • 建立树的过程(属性划分):用不确实的属性计算信息增益,然后划分
  • 使用时对样本划分:将不确实改属性的样本进行技术,按比例分别赋给缺失的样本,然后进入下一级操作。(西瓜书87-88页)

总结

  • ID3 使用信息增益最大作为判断标准,其泛化能力比较弱。因为样本只要不是完全一样(字符串,DNA),它的条件熵就会=0,从而导致增益最大,这样不利于树的生长。
  • C4.5 是、对ID3的改进,通过引入信息增益比,一定程度上对取值较多的特征进行惩罚,避免由于取值较多出现过拟合,提高了泛化能力。
  • ID3 只能处理离散变量,C4.5和CART都可以处理连续型变量。C4.5通过排序后找到数据的切分点,再将不同数据段转为布尔型,从而转为离散型。而CART,每次都对特征进行二值的划分,适应于连续型变量。
  • ID3和C4.5只能用于分类任务,而CART还可以应用于回归任务(损失函数:MSE)。

随机森林

西瓜书 P179
引入集成学习bagging的思想,每颗决策树使用的特征是原始特征的一个子集,假设原始有 d d d个特征,随机森林里每棵树有 k k k个特征,一般取 k = l o g d k=logd k=logd
原理:

  • 样本扰动(bagging对训练数据采样,每个树看到部分数据)
  • 属性扰动(单个树性能有所降低,但是集成后的性能很好,而且有很强的泛化能力)
补充
bagging(bootstrap重采样技术):从数据集中有放回的取m次数据,得到一个包含m个数据的数据集。有的数据多次出现,有的从未出现。(大概有63.2%的数据会出现)

可以使用OOB(Out Of Bag)检测模型的泛化能力

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值