在前面简要介绍了特征选择的Filter方法,由于Filter方法还有很多,在此不能一一介绍。Filter方法从原始特征中选择特征子集,用于后续的机器学习算法。由于Filter在特征选择时,没有考虑到所用的机器学习算法模型,可能会导致选择出的特征子集不适合后续的学习算法从而影响性能(这里指准确率)。因此,wrapper方法结合后续的机器学习算法,选择出能使最终的算法达到较高性能的特征子集。wrapper算法如图所示:
可见,学习算法参与了特征子集性能的评估。
Wrapper方法寻找所有特征子集中能使后续学习算法达到较高性能的子集,在特征选择阶段,wrapper可以看做:搜索方法+学习算法。如在下图中选择最优子集节点:
这里介绍下搜索方法,学习算法不再赘述。
1、爬山搜索方法:
该方法是一种贪心算法,该算法的主要思想是:每次拿相邻点与当前点进行对比,取两者中较优的作为爬山的下一步。该方法具体又分为首选爬山法、最陡爬山法、模拟退火等。详细参考博客
爬山法
2、Best-first search
该方法如图所示:
搜索方法很多,在此不一一介绍,有兴趣的可以参考引文[1][2]
[1] JJeul, HWRISIICS: Intelligent Search Strategies for Computer problem
Sovling, Addision-Rsly, Readiny
[2]Wrappers for feature subset selection,Ron Kohavi a,*, George H. John b,l