具有多个输出的随机森林是否可能/可行?


17
  1. 随机森林(RF)是一种竞争性的数据建模/挖掘方法。

  2. RF模型具有一个输出-输出/预测变量。

  3. 用RF建模多个输出的简单方法是为每个输出变量构造一个RF。因此,我们有N个独立的模型,并且在输出变量之间存在相关性的地方,我们将具有冗余/重复的模型结构。确实,这可能非常浪费。通常,更多的模型变量意味着更多的拟合模型(较少的泛化)。不知道这是否适用于此,但可能适用。

原则上我们可以有一个带有多个输出的RF。预测变量现在是一个向量(n元组)。现在,每个决策树中的决策节点都基于阈值向量拆分目标/预测向量集,我认为该阈值被视为n维空间中的一个平面,因此我们可以确定阈值的哪一侧向量每个目标向量都打开。

决策拆分每一侧的最佳预测值是为每一侧的向量计算的平均值(质心)。

在处理单个变量时找到最佳分割点很简单,而且计算速度快/效率高。对于n元组,我们无法找到最佳拆分(或者至少随着N的增加,它在计算上变得不可行),但是我们可以使用Monte Carlo类型方法(或Monte Carlo和Local的某种混合)找到接近最佳拆分梯度遍历)。

这真的行得通吗?也就是说,它是否可以仅映射训练对而不进行概括?此技术是否已经以其他名称存在?

您可能还需要考虑这与诸如限制玻尔兹曼机器(RBM)和深度信念网络之类的神经网络之间的关系。


谷歌搜索“多标签随机森林”表明,这甚至已经以几种不同的方式完成。无论如何,我一直在音乐信息检索中使用这种多二进制rfs方法,而且效果很好。

1
我建议你这篇文章。他们所做的事情与您描述的非常接近。
德米特里·拉普捷夫

2
这在party包和其他一些包(R语言)中已经存在。
杰瑟2014年

Answers:


8

已经开发并发布了多个输出决策树(因此也包含了随机森林)。Pierre Guertz为此分发了一个软件包(下载)。另请参见Segal和Xiao,多元随机森林,WIREs数据挖掘知识Discov 2011 1 80–87,DOI:10.1002 / widm.12我相信最新版本的Scikit-learn也支持此功能。Henrik Linusson在题为“多输出随机森林”的论文中可以找到对现有技术的良好评价。在每个节点上进行拆分选择的最简单方法是随机选择一个输出变量,然后遵循通常的随机森林方法来选择拆分。已经开发了基于关于每个输入特征和输出变量的互信息得分的加权和的其他方法,但是与随机方法相比,它们是相当昂贵的。


-1

如前所述这里

scikit-learn中的所有分类器都可以直接进行多类分类。

包括随机森林。

另外,该页面:http : //scikit-learn.org/stable/modules/tree.html#tree-multioutput在该主题上有很多参考。


8
要清楚;这个问题与多输出回归有关。
redcalx

很抱歉延迟回复,但看起来scikit-learn也提供了多输出回归,例如: scikit-learn.org/stable/auto_examples/tree / ... 而且无论如何,有一种策略包括适合一个每个目标的回归指标。这对于延长本身不支持多目标回归回归量的简单策略: scikit-learn.org/stable/modules/generated/... HTH
0asa
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.