(三) 回归树与集成

1. 回归树(CART)

回归树,也称分类与回归树(classification and regression tree),是二叉树,即左分支取值为“是”,右分支取值为“否”。

CART的决策流程与传统的决策树相同,但不同点在于,每个叶节点会产生一个预测分数。

以下图为例,目的是:判断每个家庭成员是否喜欢电子游戏。
可输入的一系列特征,包括:年龄、性别、电脑使用情况等。

以年龄特征为例,按照「年龄<20岁」的条件,可将5人划分为树的两个叶节点,并分别赋予两个叶节点分数。


2. 回归树集成(Regression Tree Ensemble)

通常来说,仅用一棵树来进行划分,往往过于简单,并不有效。因此有树的集成,即,综合多棵树的结果作为最终的预测结果。

如下图,以集成两颗树为例,对于单个样本(男生),可以通过累加其两颗树叶节点的评分,得到最终的评分。

关于树的集成

较为常用的树集成主要有两种:Bagging、Boosting。

  • Bagging集成:树之间是弱依赖,彼此并行,目的是降低方差,典型的例子为RF(Random Forest, 随机森林)。
  • Boosting集成:树之间是强依赖,彼此串行(即,后一棵树依赖前一棵树的结果),目的是降低偏差,典型的例子为GBDT(Gradient Boosting Decison Tree,梯度提升树)。

3. 模型及参数
3.1 模型

假设共有 K K K颗树,那么有公式:
y i ^ = ∑ k = 1 K f k ( x i ) , f k ∈ F \hat{y_i} = \sum_{k=1}^{K}f_k(x_i), f_k \in \mathcal{F} yi^=k=1Kfk(xi)fkF

其中, f k ( x i ) f_k(x_i) fk(xi),为第 i i i个样本在第 k k k颗树的评分。 F \mathcal{F} F,为包含 K K K颗回归树的函数空间。 y ^ i \hat{y}_i y^i,为第 i i i个样本的预测值,即该样本在 K K K颗树评分的累加值。

3.1.2 参数

为了得到样本的预测值,我们需要得到树的结构和每个叶节点的评分。
从上述计算公式可以看到,该条件可以进一步简化为,已知每一颗回归树的函数。

因此,参数为单颗回归树函数构成的函数集合,即, Θ = { f 1 , f 2 , . . . , f K } \Theta= \{f_1, f_2, ..., f_K \} Θ={f1,f2,...,fK}。同样地,参数可以通过构造目标函数,结合已有训练样本求解。


4. 利用单一变量学习一颗树

方法:定义一个目标函数(损失函数+正则化项),然后优化它。

假设,需要预测某人在某一时间t,是否喜欢浪漫的音乐。在只有单一变量时间t输入的情况下,考虑学习一颗回归树。

那么,回归树可根据时间来切分构造。该过程等价于,学习分段的阶跃函数。相当于在不同的时间切点,去学习对浪漫音乐的喜爱程度。(如下图所示)

其中,目标函数包含损失函数和正则化项两部分。前者为训练误差,表示函数对每个数据点的拟合程度;后者为正则化项,表示函数的复杂度。

在上述问题中,函数的复杂度可以通过时间切点的个数,以及切分后每一部分高度(音乐喜爱程度)的L2范数来进行定义。

那么,如何较为直观地理解,欠拟合与过拟合呢?

如下图所示,左上为用户对某主题喜爱程度随时间变化的原始数据。
右上为过拟合示意图,当时间切点过多时,模型复杂度变高。
左下为欠拟合示意图,当切点位置不够准确时,训练误差变高。
右下为较理想的情况,很好地平衡了模型复杂度与训练误差之间的关系。


5. 集成树的目标函数

假设共有 K K K颗树,则有公式:
y i ^ = ∑ k = 1 K f k ( x i ) , f k ∈ F \hat{y_i} = \sum_{k=1}^{K}f_k(x_i), f_k \in \mathcal{F} yi^=k=1Kfk(xi)fkF

其中, f k ( x i ) f_k(x_i) fk(xi),为第 i i i个样本在第 k k k颗树的评分。 F \mathcal{F} F,为包含 K K K颗回归树的函数空间。 y ^ i \hat{y}_i y^i,为第 i i i个样本的预测值,即该样本在 K K K颗树评分的累加值。

因此,有目标函数为:
O b j = ∑ i = 1 n l ( y i , y i ^ ) + ∑ k = 1 K Ω ( f k ) Obj = \sum_{i=1}^{n}l(y_i, \hat{y_i}) + \sum_{k=1}^{K}\Omega(f_k) Obj=i=1nl(yi,yi^)+k=1KΩ(fk)
其中, l l l表示训练误差, Ω \Omega Ω表示模型复杂度。

此时,定义 Ω \Omega Ω的方法包括:树节点数目、树深度、叶节点权重的L2范数等。


6. 目标函数 vs 启发式

对于决策树来说,通常是启发式的。大多数启发式能很好地映射到目标函数:
信息增益 --> 训练误差
剪枝 --> 按节点数目定义的正则化项
最大深度 --> 限制函数空间
叶子值的平滑 --> 叶子权重的L2正则化



参考

Introduction to Boosted Trees: Tianqi Chen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值