机器学习算法之CART(分类和回归树)

CART算法介绍:
分类和回归树(CART)是应用广泛的决策树学习方法。CART同样由特征选择,树的生成和减枝组成,既可以用于分类也可以用于回归。CART的生成就是递归的构建二叉决策树的过程。对回归树用平方误差最小化(RMSE),对分类树用基尼指数最小化准则,进行特征选择,生成二叉树。

1.回归树生成的算法介绍
输入:训练数据集D
输出:回归树f(x)
在训练数据集所在的输入空间中,递归的将每个区域划分为两个子区域并决定每个子区域的输出值,构造二叉树:
(1) 选择最优切分特征f和切分点s,求解
这里写图片描述

遍历变量j,对固定特征f扫描切分点,使公式达到最小

(2)用选定的特征f和切分点s划分区域,并决定输出值:
每个区域的输出值等于属于该区域的目标值的均值

(3)继续对两个子区域调用步骤(1)(2),知道瞒住停止条件
(4)将输入空间划分成M个区域,生成决策树

2,分类树生成的算法介绍
分类树是用基尼指数选择最优特征,同时决定该特征的最优切分点。
(基尼指数) 分类问题中,假设有K个类,样本点属于第k个类的概率为pk,则概率分布的基尼指数定义为:
这里写图片描述

分类算法:
根据训练数据集,从根节点开始,递归的对每个节点进行以下操作,构建二叉树:
(1)设节点的训练数据集为D,计算现有特征对该数据集的基尼指数,此时对每个特征A,对其可能取得每个值a,更具样本点对A=a将D分割为D1和D2两部分,计算A=a的基尼指数
(2)对所有可能的特征A以及对他们所有可能的切分点a,选择基尼指数最小的特征及对应的切分点作为最优特征与最优切分点。依据最优特征与最优切分切分点,将现节点切分为连个子节点。
(3)对两个子节点,调用(1)(2),直至满足停止条件
(4)生成CART决策树

扩展:随机森林就是由多棵CART(Classification And Regression Tree)构成的。对于每棵树,它们使用的训练集是从总的训练集中有放回采样出来的,这意味着,总的训练集中的有些样本可能多次出现在一棵树的训练集中,也可能从未出现在一棵树的训练集中。在训练每棵树的节点时,使用的特征是从所有特征中按照一定比例随机地无放回的抽取的,根据Leo Breiman的建议,假设总的特征数量为M,这个比例可以是sqrt(M),1/2sqrt(M),2sqrt(M)。

本blog内容参考了《统计学习方法》第五章决策树的内容

你可能感兴趣的:(机器学习)