机器学习学习笔记(20)----CART回归树

上篇文章介绍了CART分类树的实现,CART分类树对于特征值是连续的场景是适用的,但是对于类标记是连续值的场景就不适用了,这时需要采用CART回归树。对于回归算法我们并不陌生,在决策树之前的算法我们学习的所有机器学习的算法都是回归类的算法。我们假设CART回归树的损失函数是:

J(H)=\sum_{i=1}^{m}(y_{i}-H)^{2}     (1)

H是预测结果,y_{i}是类标记的样本值。等式两边对H求偏导,得到:

\frac{\partial J(H)}{\partial H} = \sum_{i=1}^{m}(H-y_{i}) (2)

\frac{\partial J(H)}{\partial H} =0,这时得到J(H)的最小值,可得:

H=\frac{1}{m}\sum_{i=1}^{m}y_{i}  (3)

可以看出H就是y_{i}的平均值,所以可以写成:

J_{min}=\sum_{i=1}^{m}(y_{i}-y^{-})^{2}  (4)

那么对于CART回归树,进行阈值切分的标准,从计算基尼系数变成了计算损失函数J_{min}

对于连续特征值,与CART分类树一样,CART回归树算法使用某一阈值进行二元切分,即在特征值的取值范围区间内选择一个阈值t,将数据集切割成两份,然后使用一个数据子集(大于t)构造左子树,使用另一个数据子集(小于等于t)构造右子树。

阈值的选择:

对于CART回归树,可以通过先对样本进行排序,然后对相邻的两个样本的值取平均值作为阈值,通过划分后,计算对应的损失函数是否最小作为判别标准:

J=J_{L(min)}+J_{R(min)}  (5)

就是对公式(5),遍历所有可能阈值计算J值,选择对于J取最小值的阈值作为二元切分的阈值。注意:对于J值的计算,并没有像计算基尼系数一样,按照比例进行分配。

对于不连续的特征值,假设属性A的可能取值是{ a_{1},a_{2},...,a_{n}},可以选择阈值a_{i}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值