基于布谷鸟搜索算法的特征选择研究及改进
【摘要】:在当今人工智能时代,特征选择是具有重要意义的大数据预处理的方式。特征选择可以避免维度灾难、减少学习算法在执行过程中的时间、有效地防止过拟合现象、过滤掉噪声数据。在这个数据量如此庞大的今天,我们需要从巨大的数据量中找到一些对我们有用的数据再进行训练或者学习,所以特征选择无疑是值得研究和探讨的。特征选择是一个需要从庞大的数据集中挑选出优质的特征的过程,因此也可以理解成是一个搜索过程。而如果我们用穷举的方法去进行特征选择显然失去了特征选择的意义。随机算法是一类优化求解方法,可以很好地应用到特征选择当中。随机算法一般包含群体智能算法,如蚁群和粒子群优化算法以及模拟退火算法等。近年来提出的布谷鸟算法同样也是一种应用广泛的随机算法。布谷鸟搜索算法在优化问题中取得了不错的效果,所以我们尝试将其离散化后应用到特征选择问题上,并且对其改进优化。最近研究表明,布谷鸟优化特征选择算法(BCS)具有较好分类效果。然而,BCS算法也有一些不足。第一,BCS算法初始化的随机性导致算法盲目性太大,而算法后面的过程都是依赖初始化的过程而进行的,所以如果初始化质量不好,会严重影响算法的更新迭代过程的效果;第二,BCS算法中适应度函数的局限性严重限制了该算法的分类性能和维度缩减能力;第三,迭代过程中优质的特征没有保留到下一轮迭代中。因此,根据以上说明的BCS算法缺点提出三点改进。首先,根据混沌序列可得到优质序列的特性重新构建了一种新的初始化策略。由于混沌序列有很多种类,不同种的混沌序列映射也有不同的性质。所以对不同的混沌序列映射进行测试,并根据实验结果判断哪种混沌映射更适合布谷鸟搜索算法的初始化。我们对近年表现比较好的Logistic混沌映射、Tent映射以及Chebyshev映射进行测试,得出Chebyshev映射更适合布谷鸟搜索算法初始化过程。采用Chebyshev混沌映射不但使随机性减小,增大算法的收敛速度,而且使用Chebyshev混沌映射初始化的布谷鸟巢内部结构也更精致,更利于后期算法的更新。其次,原始BCS算法中的适应度函数过于简单,我们用信息增益去衡量分类器的分类准确率,用L1范数衡量维度缩减的程度,重写了BCS算法的适应度函数。最后,我们希望将迭代中的优质特征可以保留至下一次迭代中,这样可以减少搜索无用空间,提高算法收敛速度。因此我们将二个优秀序列进行与运算得到优质特征,利用或运算可将优质特征添加到新一轮迭代产生的序列中,重新优化迭代过程。通过以上三点构建了一个新的特征选择算法FS_CSO。在实验阶段,FS_CSO使用KNN,J48和SVM分类器来指导学习过程并在小型,中型和大型的UCI数据集上进行测试。实验结果表明,与BCS对比,FS_CSO显著提高了分类性能和维度缩减能力。将FS_CSO算法与近几年提出的比较高效的特征选择算法进行比较,不论是准确率,还是维度缩减,FS_CSO都具有很强的竞争力。