弗里德曼(Friedman)提出的梯度树增强使用具有J
终端节点(= leaves)的决策树作为基础学习者。可以通过多种方式来生长具有确切J
节点的树,例如,可以以深度优先或宽度优先的方式生长树...
有没有建立好的方法来生长带有完全J
末端节点的树以进行梯度树增强?
我检查了R gbm
包的树生长过程,似乎它以深度优先的方式扩展树,并使用基于错误改进的启发式方法选择扩展左还是右子节点-是正确的吗?
2
gbm使用CART来构建树,这是80年代众所周知的算法。启发式方法称为基尼杂质,这是二次损失回归的相当标准的选择。
Afaik gini杂质用于分类问题。然而,问题是树木的大小。
—
彼得·普雷滕霍夫2011年
一次添加一个分支。如果每个下一个拆分都是树中其余拆分候选中的最好的,而不仅仅是分支,我会感到惊讶。有时,数据不支持确切的数字-例如,数据对于'J'而言太小。
—
EngrStudent
正如@EngrStudent所说,您不能强制精确数量的节点。但是,您可以控制节点数的上限。
—
G5W
gbm
具有n.minobsinnode
控制每个节点的最小对象数的参数。当然,节点的数量小于或等于NumberOfPoints / n.minobsinnode
如果我正在寻找“ J”叶,那么我将完全构建树,然后,假设有超过J个叶,我将修剪到J。这将给我“ J”节点,它们将是最多的信息丰富的拆分-这将是最健康的CART模型。如果没有足够的分割,我可以在域中随机分割以得到“ J”,但它们将是虚假的并且有些琐碎。我可能会研究叶子内的值分布,并使用CDF驱动的近似值,但这会偏离均叶模型。
—
EngrStudent