Algorithm 特征选择的向后贪婪实现

Algorithm 特征选择的向后贪婪实现,algorithm,machine-learning,greedy,feature-selection,Algorithm,Machine Learning,Greedy,Feature Selection,我正在尝试应用具有1700个特征和3300个实例的数据集的特征选择。特征选择的方法之一是逐步回归。这是一种贪婪算法,在每一轮删除最差的特征 我使用数据在支持向量机上的性能作为衡量标准,以找出哪一个是最差的特征。第一次,我训练了1700次SVM,每次只保留一个特征。在这个迭代结束时,我从集合中删除了该特征,该特征的删除导致了最高的SVM性能。现在我们只剩下1699个功能 第二次,我训练SVM 1699次,每次都保留一个特征,以此类推 如果我想将数据集减少到100个特征,那么这个程序将训练一个SVM

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

我使用数据在支持向量机上的性能作为衡量标准,以找出哪一个是最差的特征。第一次,我训练了1700次SVM,每次只保留一个特征。在这个迭代结束时,我从集合中删除了该特征,该特征的删除导致了最高的SVM性能。现在我们只剩下1699个功能

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


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

< P>我首先要说的是,您可能需要考虑不同的算法,例如使用FiffGAIN。p> 然而,为了回答这个问题:您可以尝试在每次迭代中消除一个以上的特性;从消除许多功能开始,并随着您的进步减少此数量


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

您在寻找什么?该方法的更智能的算法,或者完全不同的特征选择方法?如果存在,是否更智能的算法?