一种改进鲸鱼优化算法的特征选择方法
2022-10-20何鹏,龙文
何 鹏,龙 文
(贵州财经大学 数学与统计学院,贵州 贵阳 550025)
1 引言
近年来,智能优化算法在解决高维度问题上取得了显著成果,也被国内外学者广泛应用于研究中,如:Behrouz Samieiyan等[1]对乌鸦搜索算法进行4个方面改进用于特征选择;Thaher Thaer等[2]提出了布尔粒子群优化算法的特征选择方法;Sun Lichao[3]提出了一种基于正余弦算法的特征选择方法。
鲸鱼优化算法(Whale Optimization Algorithm,WOA)是众多智能优化算法中的一种,属于元启发式算法,于2016年被澳大利亚学者Seyedali Mirjalili等[4]提出,是基于座头鲸的狩猎行为来设计的一种算法。该算法被广泛用于各个方面:结构可靠性优化设计[5]、蒸馏装置故障诊断[6]、电机轴承故障诊断[7]、垃圾中转站和焚烧站选址-路径[8]等。当然作为先进智能优化算法之一,WOA也存在很多不足之处:易局部收敛[9]、全局搜索能力有限[10]、收敛性差[11]、寻找最优精度不够高[12]等。有不少学者对其进行了改进:Li Guodong等[13]利用Lévy飞行机制和自适应权系数,增强了算法的全局和局部搜索能力;Liu Jianxun等[14]利用种群再分配和收敛自适应加权两种策略,提高了WOA在搜索过程中的空间利用率和搜索效率;Alnowibet Khalid Abdulaziz[15]等提出在WOA算法位置更新阶段采用Cauchy突变算子的反复灌输。本文则基于二次函数设计一种非线性过度参数取代原始的线性过度参数,再结合动态反向(Dynamic Opposite,DO)学习算法来分别改善WOA算法局部搜索能力和全局搜索能力。
由于电信客户行为的多样性,电信客户流失数据往往涉及高维度问题。本文提出将改进鲸鱼优化算法的特征选择方法与支持向量机相融合应用于预测电信客户流失行为。
2 理论介绍
2.1 鲸鱼优化算法
鲸鱼优化算法包括3个步骤:搜索猎物、包围猎物、捕食猎物。每头座头鲸包围目标猎物和捕食猎物的过程都在不断根据当前猎物位置更新自己的位置,可以表示为:
(1)
(2)
(3)
(5)
(6)
(7)
式(7)中,T是最大迭代次数。
在搜索猎物阶段,每头座头鲸会根据同类的位置不断更新位置,以达到群体搜索猎物的目的。其表达式如下:
(8)
(9)
2.2 算法改进
(10)
算法的局部搜索能力被增强以后,算法容易陷入局部最优。为了解决这类问题,本文引入Yunlang Xu[16]等提出的动态反向学习(Dynamic Opposite,DO)算法,该算法能动态扩展搜索空间,提高算法搜索到全局最优的概率。其数学表达式如下:
(11)
(12)
(13)
3 实验结果及分析
3.1 运行环境介绍及参数设置
本文算法运行环境为:12th Gen Intel(R) Core(TM) i5-12600K 3.69 GHz(处理器),16.0 GB(机带RAM),64 位操作系统(系统类型),Windows 10 家庭中文版(系统版本),MATLAB 2022年(软件版本)。算法中,设置种群大小为10,最大迭代次数为100次,进行特征选择时适应度计算公式如下:
(14)
式(14)中,acc是在当前子集下SVM算法的分类正确率,ω是权重系数,取0.01,SFN是当前选择特征数,TFN是数据集总特征个数。
3.2 函数测试
为了测试算法的有效性,文中选用5个标准测试函数对算法进行测试,其信息如表1。
表1 5个标准测试函数信息
对上述5个基准函数,分别使用WOA和DOWOA算法独立重复运行10次,得到结果如表2。
表2 标准函数测试结果
由表2可知,在5个标准测试函数上,DOWOA算法10独立重复运行结果几乎都优于WOA算法,说明DOWOA算法在优化函数上很有效。
3.3 UCI数据实验结果
为了检验算法在特征选择中的优势,利用5个UCI数据对算法进行测试,其数据集的信息如表3。
表3 5个UCI数据集信息
对于上述5个UCI数据集,分别使用WOA和DOWOA算法结合SVM分类器进行特征选择。表4给出了算法在5个UCI数据集上的运行结果。
从表4可看出,相比于WOA算法,DOWOA算法在各个数据集上保持平均分类精度和分类精度的标准差几乎不变的情况下,减少了选择特征个数。说明在5个UCI数据集上DOWOA算法在寻找最优子集方面优于WOA算法。
表4 算法在5个UCI数据集上的运行结果
3.4 电信客户流失数据实验结果
电信客户流失数据来自Kaggle竞赛数据网,其共有19个特征和1个决策变量,及7043个样本。同样分别使用WOA和WOADO算法结合SVM分类器对电信客户流失数据集进行特征选择,得到结果如表5。
表5 算法在电信客户流失数据上的运行结果
表5中,在电信客户流失数据集上,相对WOA算法,DOWOA算法进行特征选择时,选择特征更少,同时算法10次重复运行的平均分类精度略高,但标准差略低于WOA算法。说明在保持平均分类精度和分类精度标准差几乎不变的情况下,DOWOA算法在寻找最优子集上更优于WOA算法。
4 结语
在标准测试函数和UCI数据集上的测试表明,结合动态独立学习算法和引入非线性过度参数2种技术,提出动态对立鲸鱼优化算法(DOWOA),增强了算法搜索最优的能力。最后,将算法用于对电信客户流失数据的特征选择及预测中,实验表明:DOWOA能保持平均分类精度几乎不变的情况下,进一步提高了WOA算法特征选择的能力。