在使用CART树进行回归问题的时候,我们是考虑使用了平方误差这样的误差函数(sum-of-squares) 来解决优化问题(5.19)的。
由于使用的是该误差函数,我们固定划分空间后,我们可以通过求导得到,预测结果是(5.17)的结论,即预测为该叶子节点中y的平均值。
现在问题是,当CART树在做分类问题的时候,书中直接使用了Gini系数这样的度量(measure),但是1)该函数是一种Impurity function,它不是一种损失/误差函数; 而且为什么分类的时候,2)我们没用去解决一个类似(5.19)这样的优化问题呢?(此时没用说损失函数是什么,我也无法写出这样的表达式)
3)因为我们没用这样的表达式,所以我们无法得到类似于(5.17)这个类似的结论,但分类的时候,我们却一直在用预测类别=argmax_k p_k, 这样的majority voting的结论,那这个结论如何得到呢?
在CART树中,当用于回归问题时,我们使用平方误差作为损失函数来解决优化问题。而当用于分类问题时,我们使用Gini系数作为度量来选择最佳的划分。
1)Gini系数是一种衡量不纯度的指标,它用于衡量一个节点中样本的混杂程度。在分类问题中,我们的目标是将样本划分为不同的类别,而不是预测一个连续的数值。因此,我们使用Gini系数来衡量划分的质量,并选择使得Gini系数最小化的划分。虽然Gini系数不是一种损失函数,但它在分类问题中被广泛应用。
2)在分类问题中,我们并不需要解决类似于回归问题中的优化问题(如(5.19)),因为分类问题的目标是将样本划分为不同的类别,而不是预测连续值。在CART树中,我们通过选择最佳的划分来最大程度地减少不纯度。因此,我们使用Gini系数来衡量划分的质量,并选择使得Gini系数最小化的划分。
3)在分类问题中,我们使用“majority voting”来预测类别。当一个样本到达叶子节点时,它被分配给该叶子节点中最常见的类别。这是因为在分类问题中,我们希望通过构建决策树来实现对样本的分类,而不是预测连续值。因此,我们使用“majority voting”来确定叶子节点的类别,即选择该节点中样本最多的类别作为预测结果。
CART树在分类问题中使用Gini系数来选择最佳的划分,而不是优化一个损失函数。预测类别时,使用“majority voting”来确定叶子节点的类别,即选择该节点中样本最多的类别作为预测结果。
这个问题我刚刚解决了。你的答案不对。分类的时候,也有自己的损失函数,当极小化损失函数后,对应的极小目标函数值正好是熵或者gini系数。
很容易就知道你这个结论不对。 如果CART树在分类问题上没有损失函数,但XGBoost是使用CART树来做的,XGBoost是将损失函数展开到泰勒二阶的,那你的损失函数跑哪里去了? 你CART树没有损失函数,怎么展开到二阶?
另外,分类问题可以变成优化问题,只不过上面那个优化式子里$(y_i-c)^2$ 变成$Loss(y_i, p)$即可,即对于这个region, 无论样本取多少,都是一个常数值。
已解决, 不需要悬赏了。