- 作者:韩信子@ShowMeAI
- 教程地址:www.showmeai.tech/tutorials/3…
- 本文地址:www.showmeai.tech/article-det…
- 声明:版权所有,转载请联系平台与作者并注明出处
引言
大家在前面的部分学习到了使用决策树进行分类,实际决策树也可以用作回归任务,我们叫作回归树。而回归树的结构还是树形结构,但是属性选择与生长方式和分类的决策树有不同,我们一起来看看它的原理知识吧。
(本篇回归树模型部分内容涉及到机器学习基础知识、决策树算法,没有先序知识储备的宝宝可以查看ShowMeAI的文章 [图解机器学习 | 机器学习基础知识]((www.showmeai.tech/article-det…) 及 决策树模型详解)。
1.决策树回归算法核心思想
1)决策树结构回顾
我们一起来回顾一下决策树的结构,决策树的典型结构如下图所示。
决策树的学习过程和预测过程如下图所示。详细内容可以参考ShowMeAI的文章 决策树模型详解。
主流的决策树算法有:
-
ID3:基于信息增益来选择分裂属性(每步选择信息增益最大的属性作为分裂节点,树可能是多叉的)。
-
C4.5:基于信息增益率来选择分裂属性(每步选择信息增益率最大的属性作为分裂节点,树可能是多叉的)。
-
CART:基于基尼系数来构建决策树(每步要求基尼系数最小,树是二叉的)。
其中:CART树全称Classification And Regression Tree,即可以用于分类,也可以用于回归,这里指的回归树就是CART树,ID3和C4.5不能用于回归问题。
2)回归树的核心思想
要讲回归树,我们一定会提到CART树,CART树全称Classification And Regression Trees,包括分类树与回归树。
CART的特点是:假设决策树是二叉树,内部结点特征的取值为「是」和「否」,右分支是取值为「是」的分支,左分支是取值为「否」的分支。这样的决策树等价于「递归地二分每个特征」,将输入空间(特征空间)划分为有限个单元,并在这些单元上确定预测的概率分布,也就是在输入给定的条件下输出的条件概率分布。
设有数据集,构建回归树的大体思路如下:
-
①考虑数据集上的所有特征,遍历每一个特征下所有可能的取值或者切分点,将数据集划分成两部分和。
-
②分别计算和的平方误差和,选择最小的平方误差对应的特征与分割点,生成两个子节点(将数据划分为两部分)。
-
③对上述两个子节点递归调用步骤①②,直到满足停止条件。
回归树构建完成后,就完成了对整个输入空间的划分(即完成了回归树的建立)。将整个输入空间划分为多个子区域,每个子区域输出为该区域内所有训练样本的平均值。
我们知道了回归树其实是将输入空间划分为M个单元,每个区域的输出值是该区域内所有点y值的平均数。但我们希望构建最有效的回归树:预测值与真实值差异度最小。下面部分我们展开讲讲,回归树是如何生长的。
2.启发式切分与最优属性选择
1)回归树模型示例
我们用一个经典的棒球案例来解释回归树:根据从业年限和表现,去预估棒球运动员的工资。如下所示,有1987个数据样本,包含322个棒球运动员。红黄表示高收入,蓝绿表示低收入。横坐标是年限,纵坐标是表现。
这个简单案例中,每个样本数据有两个特征:从业年限years和成绩表现hits,回归树的决策过程由最终生成的回归树决定,如右图所示:
-
根决策节点为特征Years,其划分阈值为4.5,Years小于4.5的样本划分到左边,大于或等于4.5的样本划分到右边;
-
第二个决策节点的特征为Hits,其划分阈值为117.5,Hits小于117.5的样本划分到左边,大于或等于117.5的样本划分到右边。
-
一个样本顺着决策树的决策条件,走到叶子节点,即可获得预测工资,这里的预测工资总共就3种取值,分别为5.11、6.00、6.74。
我们来深入拆解和对应一下,其实回归树构建完成后,实现了对整个空间的划分(如下图所示)。实际预测时,新样本会按照回归树的决策过程,被划分到下图、、之中的一个区域,而这个新样本的预测值(本案例中为棒球运动员的工资)就是它所在的区域。
- 中所有训练样本的工资平均值。
回归树背后的含义:对空间的划分。整个平面被划分成3部分:
2)回归树构建方法
下面切到回归树构建的核心:切分方式与属性选择。
假设一回归问题,预估结果,特征向量为,回归树2个步骤是:
-
①把整个特征空间切分成个没有重叠的区域
-
②其中区域中的每个样本我们都给一样的预测结果,其中是中的总样本数。
仔细观察一下上面的过程,实际上我们希望能找到如下的RSS最小的化划分方式