我从不同的传感器中提取了多个特征向量,并使用SVM分别对这些特征进行了训练。我的问题是,是否有任何方法可以将这些分类器结合起来以获得更好的结果。谢谢!
回答:
首先,分开训练模型的想法相当不好。除非你有非常充分的理由(一些你无法忽视的外部限制),否则你不应该这样做。为什么?因为你有效地丢失了信息,无法对两个分类器之间信号的复杂依赖关系进行建模。联合训练可以让统计方法能够选择何时使用哪些数据,这样它可以对数据进行建模,例如,对于某些特定类型的数据,它会使用输入的一部分,而对于其他数据,则使用剩余部分。当你构建独立的分类器时,你会偏向整个过程,因为这些分类器“不知道”其他分类器的存在。
话虽如此,假设你无法学习联合模型,以下是解决方案。在这种情况下(你的模型有点像黑盒子,将你的输入表示转换为决策函数),基本思路是简单地将它们视为预处理器,并在其上拟合新模型,仅此而已。换句话说,你的数据点x被分成特征向量x1,x2,…,xk和之前构建的k个不同模型mi
,因此你可以使用它们来构建一个预处理方法f(x) = [m1(x1), m2(x2), ..., mk(xk)]
,这只是R^k空间中的一个点,现在可以将其拟合到新分类器中,以学习如何结合这些信息。问题在于,由于你非常具体的过程,你现在需要新的训练集来学习组合规则,因为使用用于构建mi
的相同数据很容易导致过拟合。为了解决这个问题,人们有时会使用启发式方法——先验假设这些模型已经足够好,并构建这些模型的集合,这些集合要么为类别投票(例如,根据它们的确定性加权),要么围绕它构建整个系统。我仍然认为你不应该首先走这条路,如果你必须这样做——使用新数据学习组合规则,最后如果你不能做以上任何一项——使用一些启发式集合技术妥协。