首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于异构特征空间的SVM学习

基于异构特征空间的SVM学习
EN

Stack Overflow用户
提问于 2013-02-04 05:16:48
回答 2查看 1.6K关注 0票数 4

我正在试验一些文档分类任务,到目前为止,支持向量机在TF*以色列国防军特征向量上工作得很好。我想加入一些不基于词频的新特性(例如文档长度),看看这些新特性是否有助于分类性能。我有以下问题:

  1. 我能否简单地将新的特征与基于词频的旧特征连接起来,并在这个异构特征空间上训练支持向量机?
  2. 如果不是,那么多核学习是否就是通过在每个子特征空间上训练一个内核并使用线性插值将它们组合起来的方法呢?(我们仍然没有在scikit中实现MKL --学习,对吗?)
  3. 或者我应该转向那些能够很好地处理异构特性的可选学习者,比如MaxEnt和决策树?

提前感谢您的善意建议!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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在默认情况下生成规范化向量,因此您不需要扩展它的输出,而只需要扩展其他特性。

票数 2
EN

Stack Overflow用户

发布于 2013-02-04 10:45:02

使用支持向量机可以使用任意特征和特征组合。需要记住的一件事是,您应该使用标准化你的特征,这意味着它们都应该在相同的规模上。这将防止意外加权的特征空间。

如果这不能产生可接受的结果,您可以查看卷积核,它提供了一个框架,用于将不同特性空间中的内核组合到单个内核中。然而,如果有必要的话,我会感到惊讶。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14680773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档