基于CART的回归和分类任务

时间:2023-03-09 03:00:44
基于CART的回归和分类任务

CART 是 classification and regression tree 的缩写,即分类与回归树。

博主之前学习的时候有用过决策树来做预测的小例子:机器学习之决策树预测——泰坦尼克号乘客数据实例,不过在那篇博客中并没有详细阐述算法的原理,本篇博客以学习 CART 里面的思想为主。

1 基于 CART 的回归

1.1 定义概述

CART 假设决策树是二叉树,因此回归树的生成式递归构建二叉树决策的过程。其核心思想是通过对特征空间分层预测,每个空间的观测值的均值即为该空间内所有观测值的预测值。一般采用“自上而下”的贪婪方法:递归二叉分裂(recursive binary splitting)。最优分裂仅仅限于某一步进程,而不是针对全局去选择能够在未来进程中构建出更好的树的分类点。

1.2 建立回归树

(1)将预测变量空间分割成若干互不重叠的区域,划分遵循的原则是使得两个两份的区域的残差平方和最小。

基于CART的回归和分类任务
基于CART的回归和分类任务

(j.s)={x∣x(j)≤s},                                     基于CART的回归和分类任务

(3)重复步骤(1)和(2),直到满足条件,比方当所有区域的观测值的个数都不大于5时,分裂停止。

(4)对划分的空间进行预测(用这一空间的训练集平均响应值对其预测)。

1.3 树的剪枝

树的分裂点过多,可能会导致过拟合。为了避免过拟合的方法,我们可以人为设定 RSS 的阈值,但是这样可能会使得一些初看起来不值得分裂的点在之后会有很好的分裂,也就是在下一步中 RSS 会大幅度减小。

因此,更好的策略是生成一棵大树,通过剪枝(prune)得到子树(subtree)。

采用代价复杂性剪枝(cost complexity pruning),也叫做最弱联系剪枝(weakest link pruning)。取 a 满足下式:

基于CART的回归和分类任务

绝对值 T 表示树 T 的终端节点数, 这种减小过拟合的方式类似于 Lasso

2 基于 CART 的分类

2.1 定义概述

分类树和回归树非常相似,区别在于分类树可以用于预测定性白那辆而非定量变量。对于分类树,其给定观测值被预测为它所属区域内训练集中最常出现的类。可以选用分类错误率代替 RSS 作为分类指标,但是这个指标对于分类错误率不敏感,因此实践中采用基尼系数或者互熵

2.2 分类指标

基尼系数(Gini index)定义如下:

基于CART的回归和分类任务

其中,k 是类别数目,基于CART的回归和分类任务代表第 m 个区域的训练集中的第 k 类所占的比例。G 的值接近 0 或 1。因此基尼系数被视为衡量节点的纯度指标。

互熵(cross-entropy)定义如下:

基于CART的回归和分类任务

基尼系数和互熵在数值上是非常接近的。

3 优缺点概述

与传统方法比较,决策树有以下的优缺点:

(1)解释性有时候好于线性回归,小规模树方便解释

(2)接近人的决策

(3)直接处理定性预测变量,而不需要创建哑变量

(4)一般预测准确性无法达到其他回归和分类的水平

参考资料:《统计学习导论——基于R的应用》