我正在试验一些文档分类任务,到目前为止,支持向量机在TF*以色列国防军特征向量上工作得很好。我想加入一些不基于词频的新特性(例如文档长度),看看这些新特性是否有助于分类性能。我有以下问题:
提前感谢您的善意建议!
发布于 2013-02-05 17:45:05
1)我能否简单地将新的特征与基于词频的旧特征连接起来,并在这个异构的特征空间上训练支持向量机?
因为您用scikit-learn标记了它:是的,您可以这样做,您可以使用FeatureUnion为您做这件事。
2)如果不是,多核学习是否是通过在每个子特征空间上训练一个核并用线性插值将它们结合起来来实现的方法?(我们仍然没有在scikit中实现MKL --学习,对吗?)
线性支持向量机是该任务的标准模型。内核方法对于真实的文本分类来说太慢了(除了使用像LaSVM这样的训练算法之外,这不是在scikit-learn中实现的)。
3)或者我应该转向那些能很好地处理异构特性的可选学习者,比如MaxEnt和决策树?
SVMs处理异构特性以及MaxEnt/logistic回归。在这两种情况下,您都必须输入缩放数据,例如使用MinMaxScaler。请注意,scikit-learn的TfidfTransformer在默认情况下生成规范化向量,因此您不需要扩展它的输出,而只需要扩展其他特性。
发布于 2013-02-04 10:45:02
使用支持向量机可以使用任意特征和特征组合。需要记住的一件事是,您应该使用标准化你的特征,这意味着它们都应该在相同的规模上。这将防止意外加权的特征空间。
如果这不能产生可接受的结果,您可以查看卷积核,它提供了一个框架,用于将不同特性空间中的内核组合到单个内核中。然而,如果有必要的话,我会感到惊讶。
https://stackoverflow.com/questions/14680773
复制相似问题