我试图更好地理解这些之间的区别。我非常了解随机森林是如何工作的,但我想我对规则拟合以及它的不同之处更加模糊。我知道 rulefit 将包含线性组件,因此可以更好地适应线性趋势。它们还有哪些不同之处?
规则拟合和随机森林之间的区别
机器算法验证
机器学习
随机森林
2022-03-19 20:41:16
2个回答
事实上,RuleFit 对随机森林进行了过度修剪。它试图找到一组由随机森林生成的规则,以获得尽可能接近随机森林准确度的准确度,同时极大地减少规则的数量。最后,建立了一个由从随机森林中提取的简单而简短的规则组成的模型,并从随机森林中建立了一个全面且易于理解的模型,即黑盒模型。如何 ?它从随机森林规则构建线性模型,并使用优化方法 (Lasso) 找到一个稀疏权重向量,以确定哪些规则是最重要的。最后,很少有规则具有非零权重,其余规则从集合中删除。也有类似的方法具有相同的目的,例如NodeHarvest,但 RuleFit 的性能更好。
它们在树生成和选择基础学习器以保留用于预测模型的方法上有所不同:
RuleFit 首先生成一个增强的决策树集合。那是:
- 它在伪响应变量上按顺序生长树,其中每棵树的伪响应针对早期树的预测进行校正。早期树的校正量由学习率(默认为 0.01)控制。
- 对于每棵树的归纳,选择训练数据的随机(子或引导)样本(与随机森林相同)。
- 在生成提升的决策树集成后,决策树集成中所有树的所有节点都被转换为虚拟编码规则变量(如果规则的条件不适用,则取值为 0,如果适用,则为 1)。通过对规则变量和原始预测变量进行稀疏回归来选择最终的预测模型。
随机森林是一个决策树集合,其中
- 树不是顺序诱导的,即响应变量没有针对早期树的预测进行校正。
- 对于每棵树中的每个拆分,都会
mtry选择预测变量的随机子集作为拆分的潜在候选者。 - 对于每棵树的归纳,选择训练数据的随机(子或引导)样本(与 boosting 和 RuleFit 相同)。
- 最终的预测模型对集合中每棵树的预测进行平均。
顺便说一句,R包pre还支持使用随机森林类型方法拟合预测规则集合。
其它你可能感兴趣的问题