CART(Classification And Regression Tree)学习笔记(主要是为了记录剪枝算法中的 g ( t ) g(t) g(t) 如何理解)
在看《统计学习方法》5.5.2 里有关 CART 剪枝的章节,里面有一个在 α ∈ [ α i , α i + 1 ) \alpha \in[\alpha_i, \alpha_{i+1}) α∈[αi,αi+1) 区间中求最优子树的算法。第一遍看的时候,还真是有点费解。看懂之后,就感觉很清楚了,在此记录一下,后面回忆的时候再看。
CART 算法
为了方便理解,先简单介绍一下分类于回归树(classification and regression tree, CART)。
CART 树是决策树的一种实现,可以用于分类和回归。(决策树本身就是可以用来做分类和回归。)
CART 假设决策树是二叉树。
CART 算法分为两步:
- 决策树生成:基于训练数据生成决策树,生成的决策树尽量大(方便后面剪枝之后,有一个足够大的备选集)。
- 决策树剪枝:使用损失函数对生成的树进行剪枝。
对于分类和回归两种树,最不好理解的就是如何进行预测和计算损失,下面分别简单将一下。
回归树
预测:简单来说,就是把叶结点的所有训练样本的标签的均值,作为预测结果。
具体的,当要预测一个测试样本 x i x_i xi(第 i i i个样本)时,从根节点开始,每个节点会有一个分类器 ( j , s ) (j, s) (j,s),其中 j j j 表示当前节点会对样本中的第 j j j个特征的值进行判断,如果 x i j ≤ s x_i^j \leq s xij≤s,则该样本进入左侧分支,否则进入右侧分支,直到到达一个叶结点。回归树给每个叶结点都定义了一个值 c m c_m cm,作为落入当前叶结点的样本的预测值。即,
f ( x i ) = c m , x i ∈ R m f(x_i) = c_m, x_i \in R_m f(xi)=cm,xi∈Rm
也可以表示为
f ( x i ) = ∑ c m ∗ I ( x i ∈ R m ) 其 中 I ( x i ∈ R m ) = { 1 , x i ∈ R m 0 , x i ∉ R m f(x_i) = \sum{c_m * I(x_i \in R_m)} \\ 其中\\ I(x_i \in R_m) = \{_{1, x_i \in R_m}^{0, x_i \not\in R_m} f(xi)=∑cm∗I(xi∈Rm)其中I(xi∈Rm)={
1,xi∈Rm0,xi∈Rm
下面我们来说一下,为什么 c m = a v g ( y i ∣ y i ∈ R m ) c_m = avg(y_i|y_i \in R_m) cm=avg(yi∣yi∈

本文详细解析了CART(Classification And Regression Tree)算法中的剪枝过程,特别是针对损失函数和α参数的选择。介绍了回归树和分类树的预测原理及损失计算,阐述了CART剪枝时树的复杂度对损失的影响,并通过数学推导解释了如何确定最佳剪枝点g(t)。剪枝流程包括计算每个节点的g(t)值,然后按照升序排列,选择合适的α值进行剪枝,以降低整体损失。
最低0.47元/天 解锁文章
593

被折叠的 条评论
为什么被折叠?



