【问题标题】:Implementing Backward Greedy for Feature Selection为特征选择实现向后贪心
【发布时间】:2013-05-31 21:10:47
【问题描述】:

我正在尝试对具有 1700 个特征和 3300 个实例的数据集应用特征选择。特征选择的方法之一是逐步回归。这是一种贪心算法,每轮删除最差的特征。

我使用数据在 SVM 上的性能作为指标来找出最差的特征。第一次,我训练 SVM 1700 次,每次只保留一个特征。在此迭代结束时,我从集合中删除了该特征,该特征的删除导致了最高的 SVM 性能。所以我们现在剩下 1699 个特征。

第二次,我训练了 SVM 1699 次,每次都保留一个特征,以此类推。

如果我想将数据集减少到 100 个特征,那么这个程序将训练一个 SVM(1700!-100!)次。这是棘手的。有关如何避免此类问题的任何建议?

【问题讨论】:

  • 您在寻找什么?这种方法是更智能的算法,还是完全不同的特征选择方法?
  • 如果存在更智能的算法?

标签: algorithm machine-learning greedy feature-selection


【解决方案1】:

首先我会说您可能想要考虑不同的算法,例如使用信息增益。

但是,要回答这个问题:您可以尝试在每次迭代中消除多个特征;从消除许多功能开始,然后随着您的进步减少这个数字。

例如在第一次运行(1700 个 SVM 训练)之后,不是只消除一个特征,而是消除最差的 200 个特征,然后重复 1500 个,等等。当你达到 300 个特征时,每次开始消除 10 个;然后在每次迭代后从 150 到 100 只消除一个。这将需要“仅”训练一个 SVM 大约 20K 次。如果仍然太多,您可以增加数字。我推测结果会非常相似,或者至少不会比按照您的建议运行差很多。

【讨论】:

    猜你喜欢
    • 2017-09-14
    • 2013-02-20
    • 2018-04-24
    • 2014-01-18
    • 2012-12-17
    • 1970-01-01
    • 2019-12-08
    • 2021-11-14
    • 2021-02-04
    相关资源
    最近更新 更多