«上一篇
文章快速检索     高级检索
下一篇»
  应用科技  2020, Vol. 47 Issue (1): 74-79  DOI: 10.11991/yykj.201909001
0

引用本文  

贾鹤鸣, 姜子超, 李瑶, 等. 基于模拟退火斑点鬣狗优化算法的特征选择[J]. 应用科技, 2020, 47(1): 74-79. DOI: 10.11991/yykj.201909001.
JIA Heming, JIANG Zichao, LI Yao, et al. Feature selection based on simulated annealing spotted hyena optimization algorithm[J]. Applied Science and Technology, 2020, 47(1): 74-79. DOI: 10.11991/yykj.201909001.

基金项目

中央高校基本科研业务费专项资金项目(2572019BF04);国家自然科学基金项目(51609048);东北林业大学横向课题(43217002,43217005,43219002)

通信作者

贾鹤鸣,E-mail:jiaheminglucky99@126.com

作者简介

贾鹤鸣,男,副教授,博士

文章历史

收稿日期:2019-09-02
网络出版日期:2020-03-20
基于模拟退火斑点鬣狗优化算法的特征选择
贾鹤鸣, 姜子超, 李瑶, 孙康健, 李金夺, 彭晓旭    
东北林业大学 机电工程学院,黑龙江 哈尔滨 150040
摘要:特征选择问题是一个基于某些标准找到最相关子集的过程,针对特征选择中的评价标准,设计了一种将斑点鬣狗优化(spotted hyena optimization, SHO)算法与模拟退火算法(simulated annealing, SA)相结合的混合模型来解决上述问题,以增强每次迭代后SHO找到的最优解,并通过UCI存储库中的8个数据集来评估优化算法的性能。实验结果表明:SASHO混合算法的表现不仅优于原始SHO算法,而且与其他优化算法相比,提高了分类精度并减少了所选特征的个数,在空间搜索和特征属性选择方面具有一定的工程实用价值。
关键词混合元启发式算法    斑点鬣狗优化    模拟退火    特征选择    数据集    分类    K近邻    二进制    
Feature selection based on simulated annealing spotted hyena optimization algorithm
JIA Heming, JIANG Zichao, LI Yao, SUN Kangjian, LI Jinduo, PENG Xiaoxu    
College of Mechanical and Electrical Engineering, Northeast Forestry University, Harbin 150040, China
Abstract: Feature selection problem is a process of finding the most relevant subset based on some criteria. Aiming at the evaluation criteria in feature selection, a hybrid model combining Spotted Hyena Optimization (SHO) algorithm and Simulated Annealing (SA) algorithm is designed to solve the above problem, in order to enhance the optimal solution found by SHO after each iteration, the performance of the optimization algorithm is evaluated by 8 data sets in UCI repository. The experimental results show that the performance of SASHO hybrid algorithm is not only superior to the original SHO algorithm, but also improves the classification accuracy and reduces the number of selected features compared with other optimization algorithms. It has certain engineering practical value in spatial search and feature attribute selection.
Keywords: hybrid meta-heuristic algorithm    spotted hyena optimization (sho)    simulated annealing    feature selection    data set    classification    K nearest neighbor    binary    

数据预处理是数据挖掘的一部分,可显著地改善数据挖掘的性能。特征选择是数据预处理的重要步骤,在减少处理时间的同时,处理更多的特征,进而提高机器学习的准确性[1]。特征选择问题是从某些特征中选取部分特征作为特征子集,所选子集具有比原特征集更优秀的分类效果,其中分类精度与选择特征个数是特征选择的基本评价标准。特征选择分为子集生成、子集评估、停止标准、结果验证4个步骤,过滤式和封装式是特征选择的2种基本方法[2],过滤式可以较快地获取结果,但无关于后续的学习算法;而封装式虽然速度上有劣势,但准确率高、偏差小,更适合结合优化算法提高运行效率和精度,因此近年来多种混合元启发式算法已在特征选择领域进行了相关研究。贾鹤鸣等[3]提出一种基于热交换的混合海鸥优化算法应用于特征选择问题,极大地改善了原算法的信息分类与选择能力;Wu等[4]将遗传算法的交叉算子用于模拟退火算法,对支持向量机回归的输入特征子集选择、核函数类型和核参数设置进行优化,效果显著;Basiri等[5]提出了一种混合蚁群和遗传算法,并将其应用于文本文档的分类中,分类效果良好;Mafarja等[6]提出了一种基于模拟退火的混合鲸鱼优化算法,并将其应用于特征选择中,明显改善了分类精度。上述所提出的混合元启发式算法在特征选择中均体现出明显的优势,但是No-Free-Lunch定理表明没有一种算法可以解决所有优化问题,这促使我们不断探索更优秀的优化算法以解决特征选择问题[3]

斑点鬣狗优化是印度塔帕尔大学Dhiman等[7]提出的一种新的优化算法,它主要模拟了斑点鬣狗的狩猎行为。斑点鬣狗依靠可信赖的朋友网络和识别猎物的能力来捕食猎物,这种狩猎方法可以在更短的时间内找到更好的解决方案。斑点鬣狗优化极大地增强了算法的自适应性,同时可以扩展到更高的维度,在优化问题中得以广泛应用,但受随机因子影响仍存在局部最优、复杂优化效果不良等缺陷;模拟退火算法是由Kirkpatrick等[8]提出的元启发式算法,算法从一个较高的温度开始,在温度持续下降和概率函数组合的条件下去搜索空间中目标函数的全局最优解。模拟退火算法具有强大的局部搜索功能,将其应用于混合算法中可以改善局部最优解。

针对班点鬣狗算法受随机因子的影响而导致的全局优化效果差、局部易陷入最优等问题,结合模拟退火算法的优点,本文提出一种模拟退火斑点鬣狗优化的混合元启发式算法,采用封装式的方法并将其应用于特征选择。在混合算法中,模拟退火算法作为斑点鬣狗算法中的一部分,2种算法均在每次迭代中运行一次,有效地提高了斑点鬣狗算法的利用率。为检验混合优化算法在特征选择中优越性,通过特征选择的8个数据集进行测试实验,采用平均分类精度、适应度、选择特征个数(平均值,标准差)、运行时间4个指标来评价优化效果,与原始优化算法、其他4种算法(蚁群优化(ant colony optimization, ACO)[9]、混合鲸鱼模拟退火优化算法(hybrid whale optimization algorithm with simulated annealing, WOASA)[6]、正余弦算法(sine cosine algorithm, SCA)[10]、混合海鸥优化算法(hybrid seagull optimization algorithm, HSOA)[3])对比。

1 原始优化算法 1.1 模拟退火算法

模拟退火算法以一定的概率接受比当前解更差的解,因此可以跳出局部最优解并且获得全局最优解。模拟退火算法起始于随机生成的解,根据预先定义的邻域结构,在每次迭代中产生最佳的邻域解,利用适应度函数进行评估[11]。当邻域解比当前解更好时,将其认为是最新的解,否则由Boltzmann概率确定最新解的概率,Boltzmann概率表示为

$P = \exp \left( { - \theta /T} \right)$

式中: $\theta $ 是最佳解与产生的邻域解的适应度之间的差异; $T$ (温度)是在搜索过程中按一定规律周期性地减小的参数[12]

1.2 斑点鬣狗优化算法

斑点鬣狗是非常聪明的群体社交动物,它们通过多种感官来识别亲属和其他个体,并对同一种族的关系进行了排名,群体中具有高地位的个体优先获得信任。由于这种生活习性,斑点鬣狗在群体狩猎方面具有非常高的成功率。斑点鬣狗种群的捕食机制包括搜索、包围、狩猎和攻击猎物四个过程[7]。斑点鬣狗算法的基本原理如下:

1)包围机制:斑点鬣狗具有熟悉并判断猎物的位置,从而包围它们的能力。该行为的数学模型由具体描述为

${D_h} = \left| {B \cdot {P_p}(t) - P(t)} \right|$
$B = 2 {r_1}$

式中: ${D_h}$ 为猎物与斑点鬣狗个体之间的距离; $t$ 是迭代次数; ${P_p}$ 为猎物位置; $P(t)$ 是斑点鬣狗个体位置; $B$ 为摇摆因子。

斑点鬣狗的个体位置更新为

$P(t + 1) = {P_p}(t) - E \cdot {D_h}$
$E = 2 h \cdot {r_2} - h$
$h = 5 - 5 \frac{{{\rm{Iteration}}}}{{{\rm{NI}}}}$

式中: $E$ 为收敛因子; ${r_1}$ ${r_2}$ 表示 $\left[ {0,1} \right]$ 间的随机数; $h$ 表示控制因子,随迭代次数的增加而线性减小,取值范围为 $\left[ {0,5} \right]$ ${\rm{NI}}$ 为最大迭代次数。

2)狩猎机制:斑点鬣狗通常依靠可信赖的种群网络及识别猎物位置的能力来生活和分组捕杀。该机制的具体描述为

${D_h} = \left| {B \cdot {P_p}(t) - {P_k}} \right|$
${P_k} = {P_h} - E \cdot {D_h}$
${C_h} = {P_k} + {P_{k + 1}} + \cdots {P_{k + N}}$

式中: ${P_h}$ 定义了第一个最佳斑点鬣狗的位置; ${P_k}$ 表示其他斑点鬣狗的位置; $N$ 表示斑点鬣狗的数量; ${C_h}$ $N$ 个最优解的集群。其中 $N$ 计算如下:

$N = {\rm{Countnos}}({P_h},{P_{h + 1}},{P_{h + 2}}, \cdots ,({P_h} + M))$

式中: $M$ $\left[ {0.5,1} \right]$ 中的随机向量,在添加 $M$ 之后, ${\rm{nos}}$ 定义可行解的数量并计算所有候选解,其与给定搜索空间中的最优解相似。

3)攻击猎物(局部搜索):斑点鬣狗在猎食的最后阶段开始攻击猎物,当收敛因子 $\left| E \right| < 1$ 时,斑点鬣狗个体便会向猎物发动攻击。全局最优解通过求取当前最优解集的平均值来确定斑点鬣狗搜索个体的更新趋势。攻击猎物的数学公式具体描述如下:

${P_h}(t + 1) = \frac{{{C_h}}}{N}$

式中: ${P_h}(t + 1)$ 保存最优解; ${C_h}$ 表示最优解群集。

4)搜索机制(全局探索):斑点鬣狗大多根据位于最优解群集 ${C_h}$ 中的斑点鬣狗群或群集的位置来搜寻猎物,当收敛因子 $\left| E \right| > 1$ 时,斑点鬣狗将分散,远离当前的猎物,并寻找更合适的猎物位置。这种机制使得算法可在全局搜索。

2 混合优化算法模型 2.1 二进制方案与适应度函数

特征选择的本质是二元优化问题,其解仅限于二进制{0,1}值,因此在使用斑点鬣狗优化算法的特征选择问题中需要制定二进制方案。优化中,一维向量可以表示一个解决方案,其长度是原始数据集中的特征数目。解中的每个值均可由“0”或“1”表示,值“0”表示未选择该特征,值“1”表示选择了该特征[13-14]

特征选择可以看作是一个多目标优化的问题,其中主要有2个目标相互矛盾:分类精度与选择的特征个数。当分类结果中分类精度较高,选择特征个数较少时表明所得分类效果较好[15]。在整个迭代过程中,一般采用适应度函数来评估每个解的质量。因此,模拟退火和斑点鬣狗优化算法可以平衡分类精度和选择特征个数这2个标准。根据KNN分类器得到的解的分类精度和选择的特征个数,所得适应度函数为

${F} = \alpha {\gamma _R}\left( D \right) + \beta \frac{{\left| R \right|}}{{\left| N \right|}}$ (1)

式中: $\alpha {\gamma _R}\left( D \right)$ 表示给定分类错误率[16] $\left| R \right|$ $\left| N \right|$ 分别是所选特征子集的基数和特征数据集的总数;参数 $\alpha $ 表示分类精确性,参数 $\;\beta $ 表示所选特征个数的重要性,其中 $\alpha \in \left[ {0,1} \right]$ $\;\beta = 1 - \alpha $

2.2 模拟退火斑点鬣狗混合算法

斑点鬣狗优化是一种在诸多优化问题上取得良好效果的算法,强大的局部搜索能力是模拟退火的优势,把斑点鬣狗优化算法得到的解作为初始状态,然后利用模拟退火对其进行优化,增强整个搜索过程中的局部寻优能力,进而得到整体最优解,形成新的混合模拟退火斑点鬣狗优化算法(simulated annealing spotted hyena optimization, SASHO),其中模拟退火用作班点鬣狗算法的优化算子。混合算法的流程图如图1所示。

Download:
图 1 混合算法的流程图
3 实验设计 3.1 数据集

实验基于UCI数据存储库中的8个数据集测试来评价混合算法的性能[17],每个数据集的特征个数和样本个数如表1所示,可以根据二进制方案进行有效测试。

表 1 实验数据集列
3.2 实验参数设置

在实验中,选择原始算法与混合算法作为测试算法,种群大小设置为30,最大迭代次数取100。交叉验证划分每个数据集可评估算法的有效性,基于欧几里得距离矩阵的KNN分类器(K=5)可以产生最佳的化简效果。在K-fold交叉验证中,训练和验证的子集个数为(K−1),测试子集个数为1,重复M次,则每个优化算法对每个数据集进行KM次评估[18-20]。此外,实验中还选择了一些较新的优化算法在UCI数据集上进行测试,包括ACO、WOASA、SCA和HSOA算法,其参数设置列在表2中。这些优化算法均适用于特征选择,因此与所提算法形成对比。实验运行环境为MATLAB2016a。

表 2 4种对比算法的参数
3.3 测试评价标准

为证明优化算法在特征选择过程中的优化效果,本文采用以下标准评估每个优化算法[21]

平均分类精度:描述了所选特征集的分类精度的平均值。分类精度计算如下:

${M_A} = \frac{1}{M}\sum\limits_{i = 1}^M {{A}\left( i \right)} $ (2)

式中: ${A}\left( i \right)$ 是分类精度; $M$ 为算法运行次数。

平均选择特征个数:表示 $M$ 次所选特征数的平均值。如下所示:

${M_S} = \frac{1}{M}\sum\limits_{i = 1}^M {{S}\left( i \right)} $ (3)

式中: ${S}\left( i \right)$ 代表优化算法第 $i$ 次运行中选择的特征个数; $M$ 为算法运行次数。

适应度平均值:表示优化算法的 $M$ 次计算后得到的解的适应度平均值,可表示为:

${M_F} = \frac{1}{M}\sum\limits_{i = 1}^M {{F}\left( i \right)} $ (4)

式中: ${F}\left( i \right)$ 表示优化算法第 $i$ 次运行中的适应度; $M$ 为算法运行次数。

适应度标准差δstd:表示在执行 $M$ 次优化算法后得到的最优解的变化,可表示为

${\rm{\delta _{std}}} = \sqrt {\frac{1}{M}\sum\limits_{i = 1}^M {{{\left( {{F}\left( i \right) - {M_A}} \right)}^2}} } $ (5)

式中: ${F}\left( i \right)$ 表示第 $i$ 次运行中的适应度; $M$ 为算法运行次数。

平均运行时间:表示每次运行算法的平均时间(s)。计算以下内容:

${{M_A} = \frac{1}{M}\sum\limits_{i = 1}^M {R}\left( i \right)} $ (6)

式中: ${R}\left( i \right)$ 表示第 $i$ 次运行的时间; $M$ 为算法运行次数。

4 实验结果及分析 4.1 原始算法与混合算法的对比

为了验证所提算法的在特征选择则中的有效性与优越性,将原始算法与混合算法在8个数据集上进行测试,测试结果分别从平均分类精度、平均选择特征个数、适应度(平均值/标准差)与平均运行时间上进行评价。基于2种算法在分类精度和选择特征个数上的测试结果如表3所示,数据表明:在分类精度上,所提混合算法可以对数据集更准确地分类,在选择特征个数上,所提混合算法可以对数据集选取更少的特征个数。因此所提混合算法在特征选择中表现良好,表明算法有效;基于2种算法在特征选择中的适应度(平均值、标准偏差)实验结果如表4所示,数据表明:所提混合算法在适应度(Mean、std)值上表现良好。因此,所提混合算法比原始算法具有更好的效果和稳定性;基于2种算法的平均运行时间如表5所示。数据表明:在8个数据集的运行时间上,原始算法略小于所提算法,这是由模拟退火算法中的适应度函数的运行时间略长所造成的。综上所述,实验测试结果表明:在特征选择中,所提混合算法有效且比原始算法有一定的优越性。

表 3 2种算法在分类精度和所选特征平均数的测试结果
表 4 2种算法的适应度(平均值、标准差)值测试结果
表 5 2种算法的平均运行时间
4.2 混合算法与其他优化算法的对比

在前文中,所提混合算法在特征选择中的分类精度和选择特征个数上优于原始算法,下面将所提算法与其他用于解决特征选择问题的4种优化算法进行对比,评价标准与前文2种对比算法相同。基于所提算法与其他4种优化算法在分类精度和选择特征个数上的测试结果如图23所示,结果表明:所提算法使分类精度平均提高了10.3%,平均减少了2.7个特征。因此,所提算法在特征选择中的分类精度与选择特征个数上优于其他优化算法;基于所提算法与其他4种优化算法的适应度(平均值、标准差)值测试结果如图45所示,结果表明:所提算法的适应度平均改善了46.1%,在特征选择中表现较好,SCA在适应度的标准差中具有相对稳定的性能。综合来看,在特征选择中,所提算法具有更好、更稳定的适应度;基于所提算法与其他4种优化算法的平均运行时间如图6所示。数据表明:SCA时间最短,其次是HSOA,所提算法时间与其他算法无明显特点,仍需改进。因此综上所述,与其他4种优化算法相比,所提算法在特征选择中整体性良好,具有一定优势。

Download:
图 2 所提算法与其他算法的分类精度比较
Download:
图 3 所提算法与其他算法在选择特征数平均值的比较
Download:
图 4 所提算法与其他算法的适应度平均值比较
Download:
图 5 所提算法与其他算法的适应度标准差比较
Download:
图 6 所提算法与其他算法的平均运行时间比较
5 结论

针对封装式方法下的特征选择问题,本文提出了一种基于模拟退火与斑点鬣狗优化的混合算法,通过在UCI存储库中的8个标准数据集上的分类实验来评估所提算法的性能,并与SHO、ACO、WOASA、HSOA、SCA算法进行对比。实验结果表明:

1) 在8个数据集中,从分类精度与选择特征个数上来看,所提出的SASHO算法能够显著提高分类精度,同时减少选择特征的数目,优于其他算法的特征选择能力。

2) 与其他算法在适应度的平均值与标准差上相比,SASHO算法具有有效的搜索空间,避免局部最优,同时表现出良好的稳定性。

3) 在平均运行时间上,SASHO算法虽然无明显改善,但在分类精度与特征选择个数方面仍具有较大优势。

因此,混合算法(SASHO)在空间搜索和特征属性选择方面具有出色表现。

参考文献
[1] 何清, 李宁, 罗文娟, 史忠植. 大数据下的机器学习算法综述[J]. 模式识别与人工智能, 2014, 27(4): 327-336. DOI:10.3969/j.issn.1003-6059.2014.04.007 (0)
[2] 王娟, 慈林林, 姚康泽. 特征选择方法综述[J]. 计算机工程与科学, 2005(12): 72-75. DOI:10.3969/j.issn.1007-130X.2005.12.025 (0)
[3] JIA Heming, XING Zhikai, SONG Wenlong. A new hybrid seagull optimization algorithm for feature selection[J]. IEEE access, 2019(7): 49614-49631. (0)
[4] WU J, LU Z, JIN L. A novel hybrid genetic algorithm and Simulated Annealing for feature selection and kernel optimization in support vector regression[C]//IEEE International Conference on Information Reuse & Integration. Las vegas, USA, IEEE, 2012. (0)
[5] BASIRI M E, NEMATI S. A novel hybrid ACO-GA algorithm for text feature selection[C]//Eleventh Conference on Congress on Evolutionary Computation. IEEE Press, 2009. (0)
[6] MAFARJA M M, MIRJALILI S.. Swarm algorithm: a bio-inspired optimizer for engineering design problems[J]. Advances in engineering software, 2017, 114(1): 163-191. (0)
[7] DHIMAN G, KAUR A. Spotted hyena optimizer for solving engineering design problems[C]//2017 International Conference on Machine learning and Data Science (MLDS). Greater Noida, India, IEEE, 2017. (0)
[8] 岳龙飞, 杨任农, 张一杰, 等. Tent混沌和模拟退火改进的飞蛾扑火优化算法[J]. 哈尔滨工业大学学报, 2019, 51(5): 146-154. DOI:10.11918/j.issn.0367-6234.201811027 (0)
[9] 吴耕锐, 郭三学, 吴虎胜, 等. 改进多目标蚁群算法在动态路径优化中的应用[J]. 计算机应用与软件, 2019, 36(5): 249-254,288. DOI:10.3969/j.issn.1000-386x.2019.05.043 (0)
[10] 郎春博, 贾鹤鸣, 邢致恺, 等. 基于改进正余弦优化算法的多阈值图像分割[J/OL]. 计算机应用研究, 2020, 37(4). https://doi.org/10.19734/j.issn.1001-3695.2018.10.0779. (0)
[11] KIRK PATRICK S, GELLATT C D, VECHI M R. Optimization by simulated annealing[J]. Science, 1983, 220: 671-680. DOI:10.1126/science.220.4598.671 (0)
[12] 董灵波, 孙云霞, 刘兆刚. 基于森林空间收获问题的模拟退火算法邻域搜索技术比较[J]. 北京林业大学学报, 2017, 39(8): 24-32. (0)
[13] 路永和, 陈泳珊. 基于二进制烟花算法的特征选择方法[J]. 情报学报, 2017, 36(3): 249-259. DOI:10.3772/j.issn.1000-0135.2017.03.004 (0)
[14] 林达坤, 黄世国, 林燕红, 等. 基于差分进化和森林优化混合的特征选择[J]. 小型微型计算机系统, 2019, 40(6): 1210-1214. (0)
[15] 连小利, 张莉. 面向软件产品线中特征选择的多目标优化算法[J]. 软件学报, 2017, 28(10): 2548-2563. (0)
[16] KASHEF S, NEZAMABADI-POUR H. An advanced ACO algorithm for feature subset selection[J]. Neurocomputing, 2015, 147: 271-279. DOI:10.1016/j.neucom.2014.06.067 (0)
[17] BLAKE C L. UCI machine learning repository[EB/OL]. [2019].http://archive.ics.uci.edu/ml. (0)
[18] 范洪华, 付应雄, 罗志成, 等. 基于KNN分类器的分层图像特征提取[J]. 湖北大学学报(自然科学版), 2019, 41(1): 44-47,54. DOI:10.3969/j.issn.1000-2375.2019.01.009 (0)
[19] ALTMAN N S. An introduction to kernel and nearest-neighbor nonparametric regression[J]. The american statistician, 1992, 46(3): 175-185. (0)
[20] 逄玉俊, 徐涛, 李元, 等. 基于样本空间分解的KNN分类器设计原理[J]. 辽宁工程技术大学学报(自然科学版), 2017, 36(11): 1218-1223. (0)
[21] 刘慧珺, 苏红军, 赵波. 基于改进萤火虫算法的高光谱遥感多特征优化方法[J]. 遥感技术与应用, 2018, 33(1): 110-118. (0)