使用scikit-learn组合多个svm分类器(或"any ML classifier"的方法。 "decision-feature classifiers"



我从不同的传感器中提取多个特征向量,并通过单独使用SVM来训练这些特征。我的问题是,有没有任何方法可以将这些分类器组合起来,以获得更好的结果。提前感谢

首先,训练单独模型的想法相当糟糕。除非你有很好的理由这样做(一些你不能忽视的外部限制),否则你不应该这样做。为什么?因为您有效地丢失了信息,所以无法对来自两个分类器的信号之间的复杂依赖关系进行建模。联合训练一切使统计方法能够选择何时使用哪些数据,例如,通过这种方式可以建模-对于某些特定类型的数据,它将使用输入的一部分,而对于另一部分-其余部分。当你构建独立的分类器时,你会对整个过程产生偏见,因为这些分类器"不知道"剩余的分类器存在。

话虽如此,这里有一个解决方案,假设你无法以某种方式学习联合模型。在这种情况下(你的模型是一种将你的输入表示转换为决策函数的黑匣子),基本想法是简单地将它们视为预处理器,并将新模型放在上面,仅此而已。换句话说,你有你的数据点x分裂成特征向量x1,x2,。。。,xk和k个不同的模型mi,因此您使用它们来构建预处理方法f(x) = [m1(x1), m2(x2), ..., mk(xk)],这只是R^k空间中的一个点,现在可以将其拟合到新的分类器中,以学习如何组合这些信息。问题在于,由于您的过程非常具体,您现在需要新的训练集来学习组合规则,因为使用用于构建mi的相同数据很容易导致过拟合。为了反对人们有时会使用启发式方法——先验地假设这些模型已经足够好了,并构建这些模型的集合,这些模型要么投票给类(例如,根据其确定性加权),要么围绕它构建整个系统。我仍然认为,你一开始就不应该这样做,如果你必须使用新数据来学习组合规则,最后如果你不能做到以上任何一点,那么就用一些启发式集成技术来解决。

相关内容

  • 没有找到相关文章