大数据和物联网技术的发展,使得越来越多的数据被采集、存储和分析[1]。目前的数据不仅数量巨大,而且维度高,但并不是全部的数据都是有用的。数据的规模在变大的同时也包含了大量的冗余、不相关或者弱相关特征,这些特征与数据的主要基本结构没有关联,或者只有松散的弱关联。如果特征不进行处理就输入机器学习模型,不仅会增大模型的时间开销,而且干扰特征的存在还会降低算法的预测精度。通过对数据原特征空间分析,过滤掉冗余和不相关特征,保留相关特征,这就是特征选择。特征选择以提高模型精度和减少模型运算时间为目标,以保持模型原始精度为底线,选择极小特征子集。此外,大量的特征也会导致模型过拟合,在项目实施时模型性能不佳,特征选择可以预防这种现象的发生,使模型更加适应现实环境[2]。
特征选择是一个复杂的组合优化问题,这是因为随着特征维度的增加特征搜索空间将会呈指数型增加,一个具有 nn 维特征的数据集,特征子集(不包含空集)的总数为 2n−12n−1 [3]。因此采用完全搜索策略的计算成本巨大。近几年基于演化算法的启发式搜索策略常用于特征选择领域,因为其不需要有关领域专业知识、强大寻优能力和较为理想的时间成本。森林优化算法(forest optimization algorithm,FOA)[4],是一种基于森林中树木播种的演化算法。Ghaemi等[5]于2016年,通过改变局部播种和全局播种两个算子,使FOA适应于离散向量,并应用于特征选择,验证了 FSFOA (feature selection using forest optimization algorithm)在特征选择领域的可行性。对比粒子群算法(particle swarm optim