是的,使用一个模型的输出作为另一个模型的输入是可能的,并且在某些方法中使用了这个概念。
如果您将模型堆叠在一起,则在应用案例中,链处的模型进行预处理/特征推导。这样做的一个优点是更多的预处理和特征推导在概念上增加了整个设置的能力(为了简单起见,我们假设它是这种方式) - 因此可以使用这样的链解决更复杂的问题。但这也会使训练更加复杂。问题通常是:如何训练这个模型链?两者同时?相继?如果受到监督 - 哪个目标变量用于不在链中最后位置的模型?nn+1
这样的想法导致了例如我们目前在深度学习中看到的:深度神经网络(deep nets)的一个核心概念是有很多层,其中每一层都是嵌入到模型中的附加特征预处理/特征推导(因此增加了模型的力量)。从概念上讲,所有层都可以一起训练——这将导致直接的、有监督的学习。但在实践中,复杂性问题通常会阻止这一点。这就是为什么一些深度网络单独学习一些层,一些以监督方式学习部分,一些以无监督方式学习,并且大多数混合这些概念。考虑例如深度相信网络、卷积神经网络或深度自动编码器中的学习过程和信息流。. 我的猜测是,这些可能与您提出问题时的想法非常接近。
旁注:如果您还不熟悉提升的概念,您可能还想了解它。Boosting 不会“链接”任何模型,而是利用一个模型的训练误差来影响后续模型的训练- 这在过去被证明是非常有效的。简而言之,提升:它在训练开始时为每个样本分配一个权重。模型经过训练和评估后,分类错误的样本权重增加,而分类正确的样本权重减少。随后的模型在训练中使用了这些新的权重,因此对之前分类错误的样本赋予了更多的权重。重复这个过程,这样每个模型都会受到其前身的影响,并专注于“当前难以分类”的数据部分。