说到决策树,大家肯定不陌生,由于其结构简单,学习成本低,且可解释性强,有着广泛的应用。
因此各类书籍、技术博客都有介绍,且深入浅出、图文并茂、生动形象。
鉴于已经有很多带图的博客介绍决策树,这里就不上图了,主要以公式推导为主。
本文主要分三块内容来介绍决策树:
- 首先会简单回顾下决策树的内容,由于这部分相对简单,大家了解的也多,因此会快速过一遍。
- 随后本文会对决策树的数学原理做详尽的剖析和推导,这也是本文的重点,做到知其然更知其所以然。
- 最后是决策树在工业应用中常见的一些形态,这部分内容在本文不做详细展开,留在后续文章中详述。
决策树的构建
通俗来讲,决策树的构建过程就是将数据根据其特征分布划分到不同的区域,使得同一个区域的样本有尽可能一致的类别标签。在决策树构建的过程中,我们需要一个衡量标准来确定每次数据划分所带来的收益,这个标准就是信息熵,以0-1二分类问题为例,衡量一个节点的信息熵公式如下:
其中p为当前节点中正样本的比例,Entropy越大,说明节点的样本越杂,因此Entropy越小越好。假设我们每次对数据划分都是将数据一分为二,分别为left和right, 分裂的收益就是分裂前节点的Entropy减去这两个节点的Entropy的加权和。即:Entropy(parent) - Prob(left) * Entropy(left) + Prob(right) * Entropy(right),这个值越大越好。这个收益,学术上我们称作“信息增益”。其中Prob(left)为左节点的样比例,Prob(right)为右节点的样本比例。
由于单纯使用信息增益作为标准来构建决策树,容易导致过拟合的问题。因此前辈们又引入了“信息增益率”,以及对树进行剪枝等方式来优化树的创建过程。这里我们只是提一下,不做更深的探讨