有没有人用随机森林实现自动编码器

机器算法验证 随机森林 助推 深度学习 自动编码器
2022-04-07 02:21:08

我有兴趣探索可用于开发对机器学习有用的数据的压缩表示的自动编码器。

根据我的经验,随机森林比线性模型更容易使用且更灵活,因此我想尝试使用它们来构建自动编码器。

可以通过使用随机森林来预测多个结果然后将每个数据点重新表示为对应于它所采用的分支的二进制序列来做到这一点。例如,如果森林由具有三个分支的两棵树组成,则代码 011 101 将表示一个数据点,该数据点采用第一棵树的第二个和第三个分支,并采用第二个树的第一个和第三个分支。

有没有人熟悉这样的工作?我对论文、多结果随机森林的实现以及将随机森林转换为数据点的二进制表示的技术感兴趣。

编辑:澄清

2个回答

您可以使用 1-hot 编码 - 对于单个树,每个示例都由包含 1 和所选叶子的向量表示,并将这些向量组合为森林(连接或 OR'ed)。这为您提供了一个中间表示。

另一种选择是使用邻近度量 [1] 来计算无监督的稀疏特征表示 - 一个矩阵 M,其中 M_ij = #times 示例 i,j 终止于同一叶(在整个森林中)。该矩阵稀疏且大,但您可以减小其大小。

它们中的任何一个都给出了有用的中间表示吗?我不知道任何使用随机森林进行深度学习的尝试..

[1] http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm#prox

也许有点晚了,但是...

Ji Feng 和 Zhi-Hua Zhou (2017)最近提出了一种基于树集成的自动编码器模型。

他们学习随机森林或为编码器部分构建“完全随机森林”。为了对其进行解码,他们沿着从叶子到根的树枝向后移动,这给出了一系列规则,他们从中提取了最大兼容规则。然后,使用这个规则,他们能够或多或少地精确地重建输入。

PS:可以注意到Biau 等人。(2016)表明树集成可以被视为一个两层感知器。看到这个范围的 Forest Autoencoder 可能会很有趣。