在随机森林上使用LASSO


14

我想使用以下过程创建一个随机森林:

  • 使用信息增益确定拆分,在数据和要素的随机样本上构建树
  • 如果叶子节点超过预定深度,则终止该叶子节点,否则任何拆分都会导致叶子数少于预定最小值
  • 而不是为每棵树分配一个类标签,而是在叶节点中分配类的比例
  • 在构建了预定义数量之后停止构建树木

这从两个方面打破了传统的随机森林过程。第一,它使用分配比例而不是类标签的修剪树。第二,停止标准是树木的预定数量,而不是一些袋外误差估计。

我的问题是这样的:

对于上面输出N棵树的过程,我可以使用Logistic回归和LASSO选择来拟合模型吗?有没有人有经验适合随机森林分类器并使用逻辑LASSO进行后处理?

ISLE框架提到使用LASSO作为回归问题(而非分类问题)的后处理步骤。此外,在搜索“随机森林套索”时,我没有得到任何有用的结果。


当质量不同时,套索擅长查找/加权有用的功能。您的森林中的个别树木可能不会比其他树木好或坏得多,所以我认为套索不会对您有太大帮助。
rrenaud 2013年

通过对一小部分进行采样而不进行替换并限制树的深度,可以引入更大的多样性,因此我认为需要某种形式的正则化。
Zelazny13年

您能否更具体地计划如何适应逻辑模型?预测变量到底是什么?另外-您进行后期处理的动机是什么?如果您尝试进行变量选择,则可以考虑其他方法。
亚历克斯·威廉姆斯

通过输出每棵树的预测,可以创建一个新的预测变量数据集。该数据集可用于LASSO回归中,以得出树预测的稀疏组合。这样做的动机是生产更简洁,生产过程更快的模型。
Zelazny7

最近我遇到了类似的问题,我在弗里德曼的原始论文中发现他专门为二进制分类问题设计了损失函数。希望对您有所帮助。此外,您对如何将其扩展到多类分类问题有任何想法吗?或您如何处理多类别分类问题?
Quan

Answers:


5

这听起来有点像梯度树增强。增强的想法是找到一类模型的最佳线性组合。如果我们将一棵树适合数据,我们将尝试找到最能解释结果变量的树。如果改用Boosting,我们将尝试找到树木的最佳线性组合。

但是,使用Boosting可以提高效率,因为我们没有随机树的集合,但是我们尝试根据尚无法很好预测的示例构建新树。

有关更多信息,我建议阅读《统计学习要素》的第10章:http : //statweb.stanford.edu/~tibs/ElemStatLearn/

尽管这并不是您所提问题的完整答案,但希望对您有所帮助。


3
谢谢。自从我最初发布此问题以来,我对R的GBM软件包非常熟悉。我的过程现在包括建立一个说有10,000棵树的GBM模型,然后通过GLMnet运行所有10,000棵树以对这些树执行LASSO回归。这将导致压缩的GBM模型几乎没有性能损失(有时会有所提高)。
Zelazny7 2015年

@ Zelazny7关于保留/测试数据的问题很难预测吗?
2013年

是的,我所有的测试都是按保留进行的,不会以任何方式通知开发。在大多数情况下,性能不会降低。有时情况会更糟,有时甚至会有所改善。
Zelazny7

1
@ Zelazny7我也遇到了相同的过程(在上一份工作中),具有相同的经验。
马修·德鲁里

您必须采取一些措施... Hastie本人建议对随机森林中的树木进行后期处理,或使用LASSO进行处理。他在本视频中30:10 提到。
乔纳森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.