决策树-CART 回归树

决策树-ID3、C4.5

决策树-CART 分类树

决策树-CART 回归树

决策树后剪枝


分类回归树(\(classification\ and\ regression\ tree,\ CART\))既可用于分类也可用于回归。

\(CART\)分类树、\(CART\) 回归树统称 \(CART\) 决策树。

\(CART\) 学习分三步:特征选择、决策树的生成、剪枝

\(CART\) 决策树是二叉树。对 \(CART\) 回归树用均方误差最小化准则,\(CART\) 分类树用基尼系数最小化\(Gini\ index\))准则,进行特征选择,生成二叉树。


假设 \(X、Y\) 是输入、输出变量,\(Y\) 是连续的。给定训练集

\[D = \{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} \]

生成回归树。

一颗回归树对应着输入空间(即特征空间)的一个划分以及在划分单元上的输出值。假设已将输入空间划分为 \(M\) 个单元 \(R_1,R_2,...,R_M\),并且在每个单元 \(R_m\) 上有一个固定的输出值 \(c_m\),于是回归树模型

\[f(x) = \sum_{m=1}^{M} c_mI(x \in R_m) \]

当输入空间划分确定时,可用平方误差 \(\sum_{x_i \in R_m} (y_i - f(x_i))^2\) 来表示回归树对训练数据的预测误差,用平方误差最小的准则求解每个单元上的最优输出值。易知,单元 \(R_m\) 上的 \(c_m\) 的最优值 \(\hat{c}_m\)\(R_m\) 上的所有输入实例 \(x_i\) 对应的输出 \(y_i\) 的均值,即

\[\hat{c}_m = ave(y_i|x_i \in R_m) \]


CART回归树(或最小二乘回归树)生成算法:

基于均方误差最小化来进行模型求解的方法称为最小二乘法

输入:训练集 \(D\)

输出:回归树 \(f(x)\)

在训练集所在的输入空间中,递归地将每个区域划分为两个子区域并决定每个子区域上的输出值,构建二叉树。

(1) 选择最优切分变量 \(j\) 、切分点 \(s\)

\[\tag{1} \underset{j,s}{min} \begin{bmatrix} \underset{c_1}{min} \ \sum_{x_i \in R_1(j,s)} (y_i - c_1)^2 + \underset{c_2}{min} \ \sum_{x_i \in R_2(j,s)} (y_i - c_2)^2 \end{bmatrix} \]

遍历变量 \(j\),对固定的切分变量 \(j\) 扫描切分点 \(s\)选择使式 \((1)\) 达到最小值的 \((j,s)\)

(2) 用选定的 \((j,s)\) 划分区域并决定响应的输出值:

\[R_1(j,s) = \{x|x^{(j)} \leqslant s\},\ \ \ \ R_2(j,s) = \{x|x^{(j)}>s\} \\ \hat{c}_m = \frac{1}{N_m} \ \sum_{x_i \in R_m(j,s)} y_i,\ \ \ \ x \in R_m,\ \ \ \ m=1,2 \]

\(N_m\) 表示叶子结点的样本个数。

(3) 继续对两个子区域调用步骤 \((1),(2)\),直到满足停止条件。

(4) 将输入空间划分为 \(M\) 个区域 \(R_1,R_2,...,R_M\),生成回归树:

\[f(x) = \sum_{m=1}^{M} \hat{c}_mI(c \in R_m) \]


即:

  1. 考虑数据集 \(D\) 上的所有特征 \(j\),遍历每一个特征下所有可能的取值即切分点 \(s\),将数据集分为两部分 \(R_1\)\(R_2\)
  2. 分别计算两个子集的均方误差和,选择最小的均方误差对应的切分特征、切分点,生成两个子区域。
  3. 对子区域递归调用步骤 \(1\)\(2\),直到满足停止条件。

\(1\)数据集 \(D\)

选择切分特征 \(0\),切分点 \(3\),将数据分为两部分。

同样,选择切分特征 \(1\),切分点 \(20\),将数据分为两部分。

以上就是切分特征、切分点的选择。



posted @ 2019-03-26 17:23  做梦当财神  阅读(4937)  评论(0编辑  收藏  举报