假设我在构建预测模型时犯了以下罪行:
我将我的数据集分成四个子集:三个用于训练
(Train_A、Train_B 和 Train_C),一个用于验证。我在 Train_A 上训练了一个初始模型 (Model_A)。因为目标是最大化样本外预测的准确性,所以我使用了诸如交叉验证之类的偏差方差平衡技术。
我在 Train_B 上从 Model_A 生成预测并记录预测错误。
接下来,我在 Train_B 上训练第二个模型 (Model_B),但我根据来自 Model_A 的预测误差的大小来权衡观察结果。换句话说,Model_B 被告知要最专注于学习预测 Model_A 非常不擅长预测的观察结果。同样,目标是样本外的准确性,因此使用了交叉验证等技术。
我从 Train_C 上的 Model_A 和 Model_B 生成预测。这些用于探索结合来自两个模型的预测(例如,加权平均)以(希望)提高样本外预测准确性的最佳方式。
在确定了权衡来自 Model_A 和 Model_B 的预测的最佳方法之后,我使用验证集估计了样本外的准确度。
主要问题:我该死吗?这种方法是否天生且不可恢复地容易过度拟合?或者,有没有办法使用 Model_A 的错误来告知 Model_B 如何以 Model_B 的优势解决 Model_A 的弱点的方式进行训练?
次要问题:在从这种方法中提取价值方面是否有更好/更差的特定技术或算法?例如,如果有一些 NN 技术天生就可以做这种事情,因此我不会感到惊讶,因此,它们根本不会从这种方法中受益,而相比之下不太灵活的东西(如正则化回归)可能会受益匪浅. 对于希望采用这种方法的人,您还会提供哪些其他想法或建议?
谢谢!
[编辑:我觉得我走进了一家 McMenamins 并向调酒师提出了微型酿酒厂的想法,哈哈!感谢大家非常友好和有益的评论!]