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

Method to combine multiple svm classifiers (or "any ML classifier" by using scikit-learn. "decision-feature classifiers"

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

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

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