`
阅读更多

说到决策树,大家肯定不陌生,由于其结构简单,学习成本低,且可解释性强,有着广泛的应用。

因此各类书籍、技术博客都有介绍,且深入浅出、图文并茂、生动形象。

 

鉴于已经有很多带图的博客介绍决策树,这里就不上图了,主要以公式推导为主。 

 

本文主要分三块内容来介绍决策树:

  1. 首先会简单回顾下决策树的内容,由于这部分相对简单,大家了解的也多,因此会快速过一遍。
  2. 随后本文会对决策树的数学原理做详尽的剖析和推导,这也是本文的重点,做到知其然更知其所以然。
  3. 最后是决策树在工业应用中常见的一些形态,这部分内容在本文不做详细展开,留在后续文章中详述。

决策树的构建

通俗来讲,决策树的构建过程就是将数据根据其特征分布划分到不同的区域,使得同一个区域的样本有尽可能一致的类别标签。在决策树构建的过程中,我们需要一个衡量标准来确定每次数据划分所带来的收益,这个标准就是信息熵,以0-1二分类问题为例,衡量一个节点的信息熵公式如下:

 

 

其中p为当前节点中正样本的比例,Entropy越大,说明节点的样本越杂,因此Entropy越小越好。假设我们每次对数据划分都是将数据一分为二,分别为leftright, 分裂的收益就是分裂前节点的Entropy减去这两个节点的Entropy的加权和。即:Entropy(parent) - Prob(left) * Entropy(left) + Prob(right) * Entropy(right),这个值越大越好。这个收益,学术上我们称作“信息增益”。其中Prob(left)为左节点的样比例,Prob(right)为右节点的样本比例。

由于单纯使用信息增益作为标准来构建决策树,容易导致过拟合的问题。因此前辈们又引入了“信息增益率”,以及对树进行剪枝等方式来优化树的创建过程。这里我们只是提一下,不做更深的探讨,感兴趣的同学可以百度,Google相关内容学习。

 

信息熵的概率解释

上节提到的决策树构建过程,除了一个简单的信息熵公式之外,没有任何数学的元素。稍微有点编程经验的同学都可以快速编写一个决策树模型。因此我们说决策树模型简单,学习成本低。

但有些同学可能会追问,衡量数据划分收益的标准为什么是信息增益(熵的降低)而不是别的东西。或者说为什么它是靠谱的?本节,我们就来回答这个问题。过程中,我们会用到一些概率统计和微积分的基础知识。

我们还是以二分类问题为例,即样本中只有两类样本:正例(标记为“1”),负例(标记为“0”)。为了对二分类问题建模,我们需要一个假设,即假设第i个样本的模型结果pi的靠谱程度由如下公式衡量:

 

 

其中yi表示第i个样本的类标签,,通俗来讲就是假设样本类别判断正确的概率服从给定参数的二项分布,也叫伯努利分布,每个样本都服从相同的分布,且相互之间独立。这样,我们可以写出整个数据集的似然函数,也就是该二分类问题的目标函数:

 

 

模型优化的目的,或者说构建一棵决策树的目的,就是使得该公式的值尽可能的大。那这个跟我们要讨论的信息增益(熵的降低)有什么关系?

 

不急,我们先对目标函数两边分别取对数并取反得到:

 

 

求原函数的最大值等价于求该函数的最小值。

由于该函数对参数  的二阶导大于0恒成立,如下:

 

 

因此,这是一个有且仅有一个最小值的凸函数,为求极值对应的函数参数,只需求其一阶导等于0即可,即求 pi 使得:

 

 

根据决策树模型,整个数据集会被划分到不同的区域(叶子节点),而且被划分到同一个区域的样本的预测值相同,则我们只需对每个叶子节点求解:即可。其中pk为第k个节点的预测值,即该节点所有样本的预测值。

 

公式展开如下:

 

 

 

化解得到:

 

 

求解得到:

 

 

其中m为该节点样本总数,分子部分为该节点正样本数,则pk即为该节点正样本的比例。将pk带入公式得到:

 

 

进一步为了消除节点样本个数对该值的影响,使用节点样本数对该结果做归一化,得到:

 

 

   

 

没错,你没有看错!这就是我们开头抛出的信息熵公式。可见信息熵并不是什么凭空降临的上帝准则,而是从二项分布中,一步步推出来的。不知道香浓在提出信息熵的时候,是不是用了二项分布。如果是,那就是新瓶装旧酒,没什么新意;如果真是灵机一动的神来之笔,那就是英雄所见略同,虽然这两个英雄隔了好几个世纪。    

 

几个概念

在工作中,我们常常听到诸如模型、目标、参数等概念。那什么是模型、什么是目标函数、什么是参数,它们之间有什么关系?

 

  • 关于模型

我们讨论的决策树,是通过将数据划分到不同的互不重合区域(对应于树的生长过程),使得每个区域的样本有尽可能一直的类标签(对应于目标函数的最大化)的模型。只是一种建模方法,而与要优化的目标没有必然关系。

 

  • 关于目标函数

而上文中我们为了解释信息熵的原理而引入的二项分布,以及基于此构造的损失函数Loss,则是我们的目标函数。我们的目标是最大化该函数的值。

 

  • 关于模型参数

有了目标函数,才有模型的参数。模型参数是在模型结构的约束下,依据给定的训练数据,使得目标函数取的最大值时的函数参数。

 

  • 三者关系

一个模型可以有很多个目标,一个目标可以通过不同的模型去优化。即模型结构与目标函数是独立的,互补依赖,互补干涉。

而参数则共同依赖于模型结构和目标函数,有什么样的目标函数,就有什么样的参数形式;而模型的结构则决定了最终的参数结果。

 

决策树的应用

读到此处相信你一定对决策树有了新的理解,不幸的是如果我们单纯地按照本文所讲的内容去建一棵决策树,你会发现模型极易出现过拟合,没什么用处。因此工业上在使用决策树模型来建模数据时,往往要加上一些限制和约束。比如说限制树的深度、限制树叶子节点的个数、为模型参数加上L2或者L1的显式正则,更或者我们使用多棵而不是仅仅使用单棵树来建模数据。

使用多棵树来建模时,树的组合方式又有不同的选择,比如:boosting,bagging。使用Boosting来组合决策树的模型我们称之为GBDT(gradient boosting decision tree);而使用bagging方式来组合决策树的模型我们则称之为random Forest(随机森林)。这也是工业界最常使用的两种树模型,我们统称为TreebasedModel......

 

欲知后事如何,且听下回分解。

 

 

  • 大小: 6.7 KB
  • 大小: 6.8 KB
  • 大小: 6.9 KB
  • 大小: 6.8 KB
分享到:
评论

相关推荐

    决策树简介

    决策树实现的基本原理,包括简单的数学推导和基本概念

    机器学习之决策树理论与代码实践

    详细讲解决策树(ID3,C4.5,CART)的数学推导过程,能够使用原生代码完成决策树代码的编写。能够调用sklearn库完成决策树代码的编写。能够可视化生成的决策树。能够使用决策树完成鸢尾花数据分类任务。

    计算机数学模型(博客精选)

    龙格-库塔(Runge-Kutta)方法数学原理及实现 层次分析法(Analytic Hierarchy Process) 一般线性最小二乘法 无约束最优化方法 数理统计 数理统计中的点估计 数理统计中的区间估计 单纯形法 -- 求解线性规划 数值积分...

    计算机专业学习内容.doc

    本专业开设的主要课程有:电子技术、离散数学、程序设计、数据结构、操作系统、计算机组成原理、微机系统、计算机系统结构、编译原理、计算机网络、数据库系统、软件工程、人工智能、计算机图形学、数字图像处理、...

    统计学习方法_李航

    本书全面系统地介绍了统计学习的主要方法,特别是监督学习方法,包括感知机、k近邻法、朴素贝叶斯法、决策树、逻辑斯谛回归与最大熵模型、支持向量机、提升方法、em算法、隐马尔可夫模型和条件随机场等。除第1章概论...

    XGBoost 算法原理

    GBDT又是提升树(Boosting Tree)的一种优化模型。Boosting则是集成学习的一种算法。 1.1 梯度提升树(Gradient Boosting Decison Tree, GBDT) 之前提到的 Bagging 的思想比较简单,即每一次从原始数据中根据均匀...

    机器学习实战 - 朴素贝叶斯算法PDF知识点详解 + 代码实现

    和决策树模型相比,朴素贝叶斯分类器(Naive Bayes Classifier 或 NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率。同时,NBC模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。理论上...

    颜色分类leetcode-dsc-3-31-09-regression-cart-trees-codealong-seattle-ds-car

    树递归划分样本空间背后的数学原理 使用回归树运行简单的回归实验并评估/可视化结果 递归分区 线性回归被认为是一个全局模型,因为在整个样本空间中只有一个模型。 对于包含具有复杂非线性关系的复杂特征的数据,...

    颜色分类leetcode-dsc-3-31-09-regression-cart-trees-codealong-nyc-career-ds-

    树递归划分样本空间背后的数学原理 使用回归树运行简单的回归实验并评估/可视化结果 递归分区 线性回归被认为是一个全局模型,因为在整个样本空间中只有一个模型。 对于包含具有复杂非线性关系的复杂特征的数据,...

    颜色分类leetcode-dsc-3-31-09-regression-cart-trees-codealong-nyc-ds-career-

    树递归划分样本空间背后的数学原理 使用回归树运行简单的回归实验并评估/可视化结果 递归分区 线性回归被认为是一个全局模型,因为在整个样本空间中只有一个模型。 对于包含具有复杂非线性关系的复杂特征的数据,...

    历届系统分析师考试数学知识点细分统计

    年份 试题号 知识点 ...1990 13 决策树 1992 18 经济计量模型 1995 20 计算盈亏 1990 11 价值工程 1991 18 动态规划法 1991 20 利润期望值 1991 21 库存管理 2005上 8 贴现率 2005下 8~9 投资受益 贴现

    因素空间中知识挖掘的一种新算法

    为提高多因素分类算法的准确性,根据集合包含与概念推理之间的内在联系,提出了有别于决策树算法的一种新的知识挖掘算法.引进因素的或操作、与操作,或操作背景空间,因素的决定域、决定度,优势因素等概念,给出基于上述...

    人工智能开发入门教程.zip

    人工智能开发入门教程可以从以下几个方面展开: 一、基础知识储备 数学基础:人工智能涉及大量的数学计算和推理,...可以从简单的线性回归、逻辑回归开始,逐渐学习更复杂的算法,如支持向量机、决策树、随机森林等。

    机器学习&深度学习系统实战!

    数学原理推导与案例实战紧密结合,由机器学习经典算法过度到深度学习的世界,结合深度学习两大主流框架Caffe与Tensorflow,选择经典项目实战人脸检测与验证码识别。原理推导,形象解读,案例实战缺一不可!具体课程...

    数学建模竞赛 自学指导建议.doc

    3、动态规划:动态规划解决问题的基本思想、多阶段决策过程、基本方程、最优原理、最优定理以及三个主要运用。 4、图与网络分析这是一门应用相当广的学科,要求掌握基本概念、树、最短路、最大源以及最大费用最大源...

    《实用数学手册》作者:沈永欢 梁在中 许履瑚 蔡蒨蒨 出版时间: 1992年

    实用数学手册以高等数学为主,注重应用,内容分为三部分:初等数学(3章),基础数学(11章),应用数学(14章)。本手册的特点是:内容比较全面而又突出重点,不庞杂;文字简明准确但又不是公式堆砌;除数学基础理论外,...

    度约束最小生成树的元胞竞争决策算法 (2011年)

    为了提高求解 DCMST问题的 求解精度,将元胞自动机的邻居演化原理和竞争决策算法相结合――元胞竞争决策算法来求解 DCMST;为了提高算法的效率,分析了度约束最小生成树问题的数学性质并利用这些性质对问题实现降阶。降...

    机器学习课程笔记完整版

    机器学习课程笔记完整版 机器学习 目录 机器学习算法课程定位、目标 ...3.6决策树 3.7集成学习方法之随机森林 3.8总结 3.9每日作业 四、回归与聚类算法 4.1线性回归 4.2欠拟合与过拟合 4.3线性回归的改

    《机器学习》教学大纲和斯坦福《机器学习》公开课笔记

    分类问题:逻辑回归、决策树、支持向量机(SVM)、朴素贝叶斯等 模型评估与优化:交叉验证、过拟合与欠拟合、正则化等 四、无监督学习 聚类分析:K-means、层次聚类等 降维与可视化:主成分分析(PCA)、t-SNE等 ...

Global site tag (gtag.js) - Google Analytics