组合多个svm分类器的方法(或者#34;任何ML分类器"通过使用scikit-learn。"决策特征分类器"

时间:2016-05-07 11:31:00

标签: python machine-learning computer-vision scikit-learn

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

1 个答案:

答案 0 :(得分:0)

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

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

相关问题