【机器学习笔记2】ID3决策树学习

个人决策树学习两个难点:
1.如何度量样本集合不确定度(纯度)以安排节点。
2.如何实现信息的存储和有效利用。

决策树学习(ID3)的重点其实是分类的思路,但是很多博客都写的很详细了便不再叨述,大体就是通过统筹分类建立一个多叉树,通过多个标签属性查找,来实现新样本数据的分类工作。而解决最开始说的两个问题只需明确一下几点。

1.信息熵与信息增益

1.1  概念

1)信息熵

熵描述得是数据的混乱程度,熵越大,混乱程度越高,也就是纯度越低;反之,熵越小,混乱程度越低,纯度越高。 熵的计算公式如下所示:

其中Pi表示类i的数量占比。以二分类问题为例,如果两类的数量相同,此时分类节点的纯度最低,熵等于1;如果节点的数据属于同一类时,此时节点的纯度最高,熵 等于0。

2)信息增益

 

决策树采用贪婪思想进行分裂,即选择可以得到最优分裂结果的属性进行分裂。最理想的情况当然是能找到一个属性刚好能够将不同类别分开,但是大多数情况下分裂很难一步到位,我们希望每一次分裂之后孩子节点的数据尽量”纯”,最好是一步到位直接就出分类结果,因此决策树使用信息增益或者信息增益率作为选择属性的依据。信息增益就告诉了我们每次应该选择以什么样的特征作为结点,进行决策树的构建。

深入推导传送门:https://www.cnblogs.com/fantasy01/p/4581803.html

1.2  停止分裂的条件

  决策树不可能不限制地生长,总有停止分裂的时候,最极端的情况是当节点分裂到只剩下一个数据点时自动结束分裂,但这种情况下树过于复杂。一般情况下为了降低决策树复杂度和提高预测的精度,会适当提前终止节点的分裂。

  以下是决策树节点停止分裂的一般性条件:

  (1)最小节点数

  当节点的数据量小于一个指定的数量时,不继续分裂。两个原因:一是数据量较少时,再做分裂容易强化噪声数据的作用;二是降低树生长的复杂性。提前结束分裂一定程度上有利于降低过拟合的影响。

  (2)熵小于阀值。

     由上述可知,熵和基尼值的大小表示数据的复杂程度,当熵过小时,表示数据的纯度比较大,如果熵或者基尼值小于一定程度数,节点停止分裂。

  (3)决策树的深度达到指定的条件

   节点的深度可以理解为节点与决策树跟节点的距离,如根节点的子节点的深度为1,因为这些节点与跟节点的距离为1,子节点的深度要比父节点的深度大1。决策树的深度是所有叶子节点的最大深度,当深度到达指定的上限大小时,停止分裂。

  (4)所有特征已经使用完毕,不能继续进行分裂。

     被动式停止分裂的条件,当已经没有可分的属性时,直接将当前节点设置为叶子节点。

2.信息存储的方式

思路就是每一个属性下列较多的类别,把每一个有这个类别的信息条目存储起来,如下图。

2.1 节点放大

通过层层筛选,如下图所示,不过下图是个横过来的树;一层一层缩小搜索范围,最终得出结论。

2.2 递归建树与查找小模型
​​

3. 决策树的优化

     一棵过于复杂的决策树很可能出现过拟合的情况,如果生成一个完整的决策树可能会出现预测不准确的情况,因此需要对决策树进行优化,优化的方法主要有两种,一是剪枝,二是组合树,将在本系列的剪枝组合树中分别讲述。

 

部分来源:

https://blog.csdn.net/qq_38773180/article/details/79188510

https://www.cnblogs.com/yonghao/p/5061873.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值