所以我只是想知道,为什么我们不只是简单地将这种提升纳入我们构建的每个决策树?因为目前我们将提升作为一种单独的技术,所以我在思考:使用提升比使用单一决策树有任何缺点吗?
感谢您帮助我!
答案 0 :(得分:4)
Boosting是一种可以在任何学习算法上发挥作用的技术。当你构建的原始分类器几乎不会随机执行时,它是最有效的。如果你的决策树已经相当不错了,那么提升可能没什么大不同,但会有性能损失 - 如果你进行100次迭代的增强,你将需要训练和存储100个决策树。
通常人们会通过决策树桩(只有一个节点的决策树)来提升效果,并获得与使用完整决策树提升一样好的结果。
我已经完成了一些experiments的提升,并发现它相当健壮,比单树分类器更好,但也更慢(我曾经10次迭代),并不如一些更简单的学习者(公平地说,这是一个非常嘈杂的数据集)
答案 1 :(得分:1)
有几种促进增长的不利因素: 1 - 难以实施 2 - 他们需要对训练集进行广泛的训练而不是决策树 3-最糟糕的是所有提升算法都需要阈值 这在大多数情况下都不容易弄清楚,因为它需要大量的试验和错误测试,因为他们知道提升算法的整体性能取决于这个阈值