SVR输出的决策级融合



我有两组预测相同输出的特征。但我不想一次训练所有的东西,而是想单独训练它们,并融合决策。在SVM分类中,我们可以取类的概率值,这些概率值可以用来训练另一个SVM。但在SVR中,我们如何做到这一点?

有什么想法吗?

感谢:)

这里有几个选择。最受欢迎的两个是:

一)

建立这两个模型并简单地对结果求平均值。

它在实践中往往很有效。

二)

当你有概率的时候,你可以用一种非常相似的方式来做。问题是,你需要控制过度拟合。我的意思是,用一组特征生成分数并应用于另一组标签与以前完全相同的特征(即使新特征不同)是"危险的"。这是因为新应用的分数是在这些标签上训练的,因此过于适合(超表现)。

通常使用交叉验证

在您的情况下,您有

  1. 具有X1特征和标签Y的train_set_1
  2. 具有X2特征和相同标签Y的train_set_2

一些psedo代码:

randomly split 50-50 both train_set_1 and train_set_2 at exactly the same points along with the Y (output array)

所以现在你有了:

a.train_set_1 (50% of training_set_1)
b.train_set_1 (the rest of 50% of training_set_1)
a.train_set_2 (50% of training_set_2)
b.train_set_2 (the rest of 50% of training_set_2)
a.Y (50% of the output array that corresponds to the same sets as a.train_set_1 and a.train_set_2)
b.Y (50% of the output array that corresponds to the same sets as b.train_set_1 and b.train_set_2)

这是的关键部分

Build a svr with a.train_set_1 (that contains X1 features) and output a.Y and
Apply that model's prediction as a feature to b.train_set_2 .
By this I mean, you score the b.train_set_2 base on your first model. Then you take this score and paste it next to your a.train_set_2 .So now this set will have X2 features + 1 more feature, the score produced by the first model.
Then build your final model on b.train_set_2 and b.Y 

新模型虽然使用了training_set_1产生的分数,但它仍然以一种公正的方式进行,因为后来的模型从未在这些标签上进行过训练!

你可能还会发现这篇论文非常有用

相关内容

  • 没有找到相关文章

最新更新