第12卷第1期 智能系统学报 Vol.12 No.1 2017年2月 CAAI Transactions on Intelligent Systems Feb.2017 D0I:10.1992/tis.201611029 网络出版地址:http://kns.cmki.net/kcms/detail/23.1538.TP.20170302.1522.002.html 面向特征选择问题的协同演化方法 滕旭阳,董红斌,孙静 (哈尔滨工程大学计算机科学与技术学院,黑龙江哈尔滨150001) 摘要:特征选择技术是机器学习和数据挖掘任务的关键预处理技术。传统贪婪式特征选择方法仅考虑本轮最佳 特征,从而导致获取的特征子集仅为局部最优,无法获得最优或者近似最优的特征集合。进化搜索方式则有效地对 特征空间进行搜索,然而不同的进化算法在搜索过程中存在自身的局限。本文吸取遗传算法(GA)和粒子群优化算 法(P$0)的进化优势,以信息嫡度量为评价,通过协同演化的方式获取最终特征子集。并提出适用于特征选择问题 特有的比特率交叉算子和信息交换策略。实验结果显示,遗传算法和粒子群协同进化(GAP$0)在进化搜索特征子 集的能力和具体分类学习任务上都优于单独的演化搜索方式。进化搜索提供的组合判断能力优于贪婪式特征选择 方法。 关键词:特征选择:遗传算法:粒子群优化;协同演化:比特率交叉 中图分类号:TP301文献标志码:A文章编号:1673-4785(2017)01-0024-08 中文引用格式:滕旭阳,董红斌,孙静.面向特征选择问题的协同演化方法[J].智能系统学报,2017,12(1):24-31. 英文引用格式:TENG Xuyang,DONG Hongbin,SUN Jing.Co-evolutionary algorithm for feature selection[J].CAAI transactions on intelligent systems,2017,12(1):24-31. Co-evolutionary algorithm for feature selection TENG Xuyang,DONG Hongbin,SUN Jing (College of Computer Science and Technology,Harbin Engineering University,Harbin 150001,China) Abstract:Feature selection is a key preprocessing technology of machine learning and data mining.The traditional greed type of feature selection methods only considers the best feature of the current round,thereby leading to the feature subset that is only locally optimal.Realizing an optimal or nearly optimal feature set is difficult.Evolutionary search means can effectively search for a feature space,but different evolutionary algorithms have their own limitations in search processes.The evolutionary advantages of genetic algorithms (GA)and particle swarm optimization(PSO)are absorbed in this study.The final feature subset is obtained by co-evolution,with the information entropy measure as an assessment function.A specific bit rate cross operator and an information exchange strategy applicable for a feature selection problem are proposed.The experimental results show that the co- evolutionary method(GA-PSO)is superior to the single evolutionary search method in the search ability of the feature subsets and classification learning.In conclusion,the ability of combined evaluation,which is provided by an evolutionary search,is better than that of the traditional greedy feature selection method. Keywords:feature selection;genetic algorithm (GA);particle swarm optimization (PSO);co-evolution;bit rate cross 特征选择在数据挖掘和机器学习中不仅可以 减少数据的维度,降低所需处理的数据量,而且还 可以提升某些学习算法的表现山,比如:分类学习、 收稿日期:2016-11-19.网络出版日期:2017-03-02. 聚类、回归问题和时间序列预测等。然而维数据特 基金项目:国家自然科学基金项目(61472095,61502116):黑龙江省教 育厅智能教育与信息工程重点实验室开放基金项目. 征选择面临着特别庞大的搜索空间等,当存在n维 通信作者:孙静.E-mail:sunjing(@hrbeu..cdu.cn. 特征时解的搜索空间为2“,因此穷举搜索是不可行
第 12 卷第 1 期 智 能 系 统 学 报 Vol.12 №.1 2017 年 2 月 CAAI Transactions on Intelligent Systems Feb. 2017 DOI:10.1992 / tis.201611029 网络出版地址:http: / / kns.cnki.net / kcms/ detail / 23.1538.TP.20170302.1522.002.html 面向特征选择问题的协同演化方法 滕旭阳,董红斌,孙静 (哈尔滨工程大学 计算机科学与技术学院,黑龙江 哈尔滨 150001) 摘 要:特征选择技术是机器学习和数据挖掘任务的关键预处理技术。 传统贪婪式特征选择方法仅考虑本轮最佳 特征,从而导致获取的特征子集仅为局部最优,无法获得最优或者近似最优的特征集合。 进化搜索方式则有效地对 特征空间进行搜索,然而不同的进化算法在搜索过程中存在自身的局限。 本文吸取遗传算法(GA)和粒子群优化算 法(PSO)的进化优势,以信息熵度量为评价,通过协同演化的方式获取最终特征子集。 并提出适用于特征选择问题 特有的比特率交叉算子和信息交换策略。 实验结果显示,遗传算法和粒子群协同进化(GA⁃PSO)在进化搜索特征子 集的能力和具体分类学习任务上都优于单独的演化搜索方式。 进化搜索提供的组合判断能力优于贪婪式特征选择 方法。 关键词:特征选择;遗传算法;粒子群优化;协同演化:比特率交叉 中图分类号:TP301 文献标志码:A 文章编号:1673-4785(2017)01-0024-08 中文引用格式:滕旭阳,董红斌,孙静.面向特征选择问题的协同演化方法[J]. 智能系统学报, 2017, 12(1): 24-31. 英文引用格式:TENG Xuyang,DONG Hongbin,SUN Jing.Co⁃evolutionary algorithm for feature selection[ J]. CAAI transactions on intelligent systems, 2017, 12(1): 24-31. Co⁃evolutionary algorithm for feature selection TENG Xuyang, DONG Hongbin, SUN Jing (College of Computer Science and Technology, Harbin Engineering University, Harbin 150001, China) Abstract:Feature selection is a key preprocessing technology of machine learning and data mining. The traditional greed type of feature selection methods only considers the best feature of the current round, thereby leading to the feature subset that is only locally optimal. Realizing an optimal or nearly optimal feature set is difficult. Evolutionary search means can effectively search for a feature space, but different evolutionary algorithms have their own limitations in search processes. The evolutionary advantages of genetic algorithms ( GA) and particle swarm optimization (PSO) are absorbed in this study. The final feature subset is obtained by co⁃evolution, with the information entropy measure as an assessment function. A specific bit rate cross operator and an information exchange strategy applicable for a feature selection problem are proposed. The experimental results show that the co⁃ evolutionary method (GA⁃PSO) is superior to the single evolutionary search method in the search ability of the feature subsets and classification learning. In conclusion, the ability of combined evaluation, which is provided by an evolutionary search, is better than that of the traditional greedy feature selection method. Keywords:feature selection; genetic algorithm ( GA); particle swarm optimization ( PSO); co⁃evolution; bit rate cross 收稿日期:2016-11-19. 网络出版日期:2017-03-02. 基金项目:国家自然科学基金项目( 61472095,61502116);黑龙江省教 育厅智能教育与信息工程重点实验室开放基金项目. 通信作者:孙静. E⁃mail:sunjing@ hrbeu.edu.cn. 特征选择在数据挖掘和机器学习中不仅可以 减少数据的维度,降低所需处理的数据量,而且还 可以提升某些学习算法的表现[1] ,比如:分类学习、 聚类、回归问题和时间序列预测等。 然而维数据特 征选择面临着特别庞大的搜索空间等,当存在 n 维 特征时解的搜索空间为 2 n ,因此穷举搜索是不可行
第1期 膝旭阳,等:面向特征选择问题的协同演化方法 25· 的。特征选择方法大致可分为3类:过滤式 并且D中的每个样本都有特征集合F,F包含n维 (filter)、包裹式(wrapper)和嵌入式(embedding)[)。 特征,x:∈R“。对于分类问题,可将D中样本划分为 过滤式方法与具体学习方法无关,主要依据数据的 目标向量C中的m个不同的类C={C,C2,…, 内在属性对特征进行过滤,再用选择出的特征训练 C{。特征选择的目的,是在原始特征集合N中寻 模型。包裹式方法将最终要使用的学习器的学习 找到一个最佳特征子集P,其中含有p维特征(p< 性能作为评价子集评价标准。嵌入式方法将特征 n),在该特征子集下能最大化分类任务(或其他学 选择过程与学习器训练过程融为一体,两者在同一 习任务)的预测正确率。 过程中优化。wrapper方法对于具体学习器效果好, 特征选择处理包括4个组件:特征子集生成、子 但其计算代价高,泛化能力差。filter方法虽然在具 集评估、终止条件和结果验证。如图1所示,在阶段 体学习方法中精度低于wrapper方法,但其泛化能 1中根据一个确定的搜索策略特征子集生成组件会 力强,计算效率高,在大规模数据集上更加适用。 预先产生候选特征子集。每一个候选特征子集都 因此,本文选用基于信息熵度量的filter评价方式。 会被一个确定的评估方式所度量,并与之前最佳的 为了保证搜索的高效,许多学者选择了贪婪式 候选特征子集做比较,如果新的特征子集表现得更 搜索方法来选择子集,代表性方法有基于信息增益 加优越,那么替换原有的最佳特征子集。当满足设 的方法(IG)【和基于信息比率的方法(GR)[。然 定的终止条件时,生成和评估这两个过程将不再循环。 而贪婪方法无可避免地导致其结果为局部最优,因 在阶段2中,最终所选的特征子集需要被一些给定的学 为其在选择过程中仅考虑当前轮的单个最佳或最 习算法进行结果验证,其中ACC为学习正确率[)」 差特征6。为了解决上述问题,全局搜索的方式则 特征选择 阶段1 成为特征选择问题中一种有效的寻优方式。演化 计算作为一种具有良好全局搜索能力的代表技术 特征子集 子集 终止 近年来被越来越多地使用在特征选择技术中[)。 生成 :评估 条件 训练数据 随着各个领域内数据维度不断地增加,自2007后遗 传算法(genetic algorithm,GA)与粒子群优化 最佳 (particle swarm optimization,PSO)成为特征选择进 测试数据 测试学习 训练学 特征 模型 习模型 子集 化搜索策略中两个主流的全局搜索方法,特别是 模型拟合表现评估 PSO方法因其搜索速度得到了广泛的使用。Peng ACO 阶段2 等[]在2005年提出了最大相关最小冗余的特征选 图1特征选择处理的统一视角 择方法(mRmR),该方法使用了贪婪式搜索方式。 Fig.1 A unified view of feature selection process 在2011年和2012年学者们验证了使用mRmR进行 1.2 遗传算法基本原理 度量并采取群智能进化搜索的方式可以获得更优 遗传算法作为一种自适应全局优化搜索算法, 的特征子集[9,0 其选择、交叉与变异的3个算子成为种群寻优和保 虽然在特征选择问题中演化算法的搜索能力 持解多样性的关键。其基本执行过程如下。 优于贪婪式搜索,但不同的演化算法自身也存在局 I)初始化:确定种群规模N,交叉概率P、变 限性。因此更多的学者开始研究协同演化的方法, 异概率Pion和终止进化准则。 其中包括策略的协同)和种群的协同2]。本文选 2)个体评价:计算每个个体的适应度。 用GA与PS0两种进化种群的协同。PSO的优势 3)种群进化: 在于对解的记忆能力强及高效的收敛速度,但该方 ①选择算子:个体被选中的概率与其适应度函 法极容易陷入到局部最优解,表现出极强的趋同性 数值成正比。 和较低的种群多样性。GA方法中染色体之间共享 ②交叉算子:根据交叉概率P对2条染色体 信息,种群较为均匀地移动并保持多样性,但其收 交换部分基因,构造下一代新的染色体。 敛速度相对较慢。因此,本文提出了一种面向特征 ③变异算子:根据概率Pmim对群体中的不同 选择问题的协同演化方法(GA-PS0),演化过程中 个体指定的基因位进行改造。 既保证了全局搜索能力以防止陷入局部最优,又提 ④终止检验:如已满足终止准则,则输出最优 升了演化速度。 解:否则转到2)。 1 基础知识 1.3二元粒子群优化基本原理 粒子群优化算法,源于对鸟群捕食的行为研 1.1特征选择 究,是由Kennedy和Eberhart等Ia)开发的一种新的 数据集D中含有k个样本D={x1,x2,…,x4}, 进化算法。粒子在搜索空间内寻优,并定位当前路
的[2] 。 特 征 选 择 方 法 大 致 可 分 为 3 类: 过 滤 式 (filter)、包裹式(wrapper)和嵌入式(embedding) [3] 。 过滤式方法与具体学习方法无关,主要依据数据的 内在属性对特征进行过滤,再用选择出的特征训练 模型。 包裹式方法将最终要使用的学习器的学习 性能作为评价子集评价标准。 嵌入式方法将特征 选择过程与学习器训练过程融为一体,两者在同一 过程中优化。 wrapper 方法对于具体学习器效果好, 但其计算代价高,泛化能力差。 filter 方法虽然在具 体学习方法中精度低于 wrapper 方法,但其泛化能 力强,计算效率高,在大规模数据集上更加适用。 因此,本文选用基于信息熵度量的 filter 评价方式。 为了保证搜索的高效,许多学者选择了贪婪式 搜索方法来选择子集,代表性方法有基于信息增益 的方法(IG) [4]和基于信息比率的方法(GR) [5] 。 然 而贪婪方法无可避免地导致其结果为局部最优,因 为其在选择过程中仅考虑当前轮的单个最佳或最 差特征[6] 。 为了解决上述问题,全局搜索的方式则 成为特征选择问题中一种有效的寻优方式。 演化 计算作为一种具有良好全局搜索能力的代表技术 近年来被越来越多地使用在特征选择技术中[7] 。 随着各个领域内数据维度不断地增加,自 2007 后遗 传算 法 ( genetic algorithm, GA ) 与 粒 子 群 优 化 (particle swarm optimization,PSO) 成为特征选择进 化搜索策略中两个主流的全局搜索方法,特别是 PSO 方法因其搜索速度得到了广泛的使用。 Peng 等[8]在 2005 年提出了最大相关最小冗余的特征选 择方法(mRmR),该方法使用了贪婪式搜索方式。 在 2011 年和 2012 年学者们验证了使用 mRmR 进行 度量并采取群智能进化搜索的方式可以获得更优 的特征子集[9,10] 。 虽然在特征选择问题中演化算法的搜索能力 优于贪婪式搜索,但不同的演化算法自身也存在局 限性。 因此更多的学者开始研究协同演化的方法, 其中包括策略的协同[11] 和种群的协同[12] 。 本文选 用 GA 与 PSO 两种进化种群的协同。 PSO 的优势 在于对解的记忆能力强及高效的收敛速度,但该方 法极容易陷入到局部最优解,表现出极强的趋同性 和较低的种群多样性。 GA 方法中染色体之间共享 信息,种群较为均匀地移动并保持多样性,但其收 敛速度相对较慢。 因此,本文提出了一种面向特征 选择问题的协同演化方法(GA⁃PSO),演化过程中 既保证了全局搜索能力以防止陷入局部最优,又提 升了演化速度。 1 基础知识 1.1 特征选择 数据集 D 中含有 k 个样本 D = { x1 ,x2 ,…,xk}, 并且 D 中的每个样本都有特征集合 F,F 包含 n 维 特征,xi∈R n 。 对于分类问题,可将 D 中样本划分为 目标向量 C 中的 m 个不同的类 C = { C1 ,C2 ,…, Cm }。 特征选择的目的,是在原始特征集合 N 中寻 找到一个最佳特征子集 P,其中含有 p 维特征( p< n),在该特征子集下能最大化分类任务(或其他学 习任务)的预测正确率。 特征选择处理包括 4 个组件:特征子集生成、子 集评估、终止条件和结果验证。 如图 1 所示,在阶段 1 中根据一个确定的搜索策略特征子集生成组件会 预先产生候选特征子集。 每一个候选特征子集都 会被一个确定的评估方式所度量,并与之前最佳的 候选特征子集做比较,如果新的特征子集表现得更 加优越,那么替换原有的最佳特征子集。 当满足设 定的终止条件时,生成和评估这两个过程将不再循环。 在阶段2 中,最终所选的特征子集需要被一些给定的学 习算法进行结果验证,其中 ACC 为学习正确率 [3] 。 图 1 特征选择处理的统一视角 Fig.1 A unified view of feature selection process 1.2 遗传算法基本原理 遗传算法作为一种自适应全局优化搜索算法, 其选择、交叉与变异的 3 个算子成为种群寻优和保 持解多样性的关键。 其基本执行过程如下。 1) 初始化:确定种群规模 N、交叉概率 Pcross、变 异概率 Pmutation和终止进化准则。 2) 个体评价:计算每个个体的适应度。 3) 种群进化: ①选择算子:个体被选中的概率与其适应度函 数值成正比。 ②交叉算子:根据交叉概率 Pcross对 2 条染色体 交换部分基因,构造下一代新的染色体。 ③变异算子:根据概率 Pmutation对群体中的不同 个体指定的基因位进行改造。 ④终止检验:如已满足终止准则,则输出最优 解;否则转到 2)。 1.3 二元粒子群优化基本原理 粒子群优化算法,源于对鸟群捕食的行为研 究,是由 Kennedy 和 Eberhart 等[13] 开发的一种新的 进化算法。 粒子在搜索空间内寻优,并定位当前路 第 1 期 滕旭阳,等:面向特征选择问题的协同演化方法 ·25·
·26 智能系统学报 第12卷 径中的最佳位置。每一个粒子都需要考虑自身当 2.2适应度函数 前的位置和速度,记录它们自己的最优解(最佳位 本文使用互信息嫡理论对特征子集进行整体 置)p,并根据粒子群体内全局最优解ga调整当 评估,两个变量的互信息值越大,则意味着两个变 前自身位置,粒子的具体更新如下: 量相关程度越紧密:当互信息为零时,则意味着两 1=wr片+c1×rand(Phe-xa)+c2× 个变量完全不相关。特征集合F={f,,…,f}中 rand(ghet-xh) (1) 某一特征与类别的互信息度量如下: xl= (2) I(f,C)=H(f)+(C)-H(fi,C) (5) 速度和位置的更新过程中,t是粒子h在第t 式中:H为变量的嫡值,用以度量随机变量信息的不 轮迭代中的速度;0为惯性系数:c1与c2为加速系 确定性。以类别向量为例,H(C)通常用作描述离散 数;x是粒子h在第t轮迭代中的位置;P,是第h 个粒子目前的最佳位置。其中,w提供了粒子的 随机变量C={c1,c2,…,cn}熵值,c是变量C的可能 搜索能力,c,×rand(Pet)和c2,×rand(ge-xi)分 取值,P(c:)为概率密度函数。 别表达了粒子自身的演化和粒子间的合作。 H(C)=- (6) 基于上述研究,学者Kennedy调整了连续PSO p(e,)lgp(ce)) = 方法中速度和位置的更新方式,提出了适用于解决离 当已知特征变量和类别变量∫和C的联合概率 散问题的二元粒子群算法(binary particle swarm 密度时(对于离散数据意味着两个变量对应的属性 optimization,BPSO)[w。该思想中的粒子仅可以在二 值联合出现的频度),两者的联合嫡为 元空间中进行搜索,粒子的位置向量仅可以用0或1 HU,C)=-∑∑p,c)logp(,c)(7) 表示。BPSO方法中影响其寻优能力的关键之一就是 f月efi,Hec 转换函数,利用该函数将连续的速度值转化为离散的 基于特征与类别向量的信息嫡度量构建适应 位置。在最初的研究中使用式(3)中的sigmoid函数 度函数,适应度函数的度量体现了进化过程对优良 作为转换函数将实值的速度映射为[0,1]之间的值。 个体的保留,对低劣个体的淘汰。本文在设计适应 T((t)=1 (3) 度函数时不仅考虑了特征与类别的相关性,而且将 I +e( 特征子集规模也作为影响个体(粒子)适应度的一 式中:t(t)为粒子h在第t轮迭代中第k维的速 部分,适应度函数的设计试图找出子集规模小,并 度。在将粒子速度转换为概率值后,位置向量将依 且特征与类别高度相关的特征集合。具体适应度 据概率值进行更新: 函数设计如下: (0,rand T((t+1)) x(t+1)= (4) Fit,MI x S (8) 1. rand≥T((t+1) MI Fit,=Mx S (9) 2 求解特征子集的协同演化方法 式中:MI部分为特征与类别关联性度量;S部分为 2.1编码方式 特征子集规模控制。假设当前候选特征子集为在 本文使用了二进制比特串的编码方式,该编码 方式通用于遗传算法和二元粒子群方法,如图2所 全部n维特征中选出的p维特征: 示。将每个二进制串作为一个个体(粒子),个体 MI= I(f,c) (10) (粒子)中的每一维(每一比特)都代表一个候选特 i=1 征,当该位为1时表示该特征被选中,并添加到候选 s=n-p (11) 的特征子集中:当该位为0时表示该特征未被选中。 依据此编码方式将特征选择问题转换为寻找最佳 本文设计式(8)和式(9)两个适应度函数,在寻 个体(粒子)的问题。 优过程中试图寻找最大值。其原理在于,小规模数 01 1 0 1 据集特征维度较少,在进化过程中对特征空间搜索 较为全面。采用式(8)重点考察特征与类别的相关 n bit …●被选中的特征 性。而对于大规模数据集,特征维度较大,进化搜 ……●未被选中的特征 索特征空间的过程中很难控制特征子集规模,并且 图2二元粒子群的编码方式 容易在候选特征较多时形成局部最优,所以在式 Fig.2 Coding scheme of BPSO (9)中增大了对特征子集规模的惩罚系数。假设式
径中的最佳位置。 每一个粒子都需要考虑自身当 前的位置和速度,记录它们自己的最优解(最佳位 置)pbset,并根据粒子群体内全局最优解 gbest调整当 前自身位置,粒子的具体更新如下: v t+1 h = wv t h + c1 × rand(pbesth - x t h ) + c2 × rand(gbest - x t h ) (1) x t+1 h = x t h + v t+1 h (2) 速度和位置的更新过程中,v t h 是粒子 h 在第 t 轮迭代中的速度;w 为惯性系数;c1 与 c2 为加速系 数;x t h 是粒子 h 在第 t 轮迭代中的位置;pbesth是第 h 个粒子目前的最佳位置。 其中,wv t h 提供了粒子的 搜索能力,c1 ×rand(pbesth -x t h )和 c2 ×rand( gbest -x t h )分 别表达了粒子自身的演化和粒子间的合作。 基于上述研究,学者 Kennedy 调整了连续 PSO 方法中速度和位置的更新方式,提出了适用于解决离 散问 题 的 二 元 粒 子 群 算 法 ( binary particle swarm optimization,BPSO) [14] 。 该思想中的粒子仅可以在二 元空间中进行搜索,粒子的位置向量仅可以用 0 或 1 表示。 BPSO 方法中影响其寻优能力的关键之一就是 转换函数,利用该函数将连续的速度值转化为离散的 位置。 在最初的研究中使用式(3)中的 sigmoid 函数 作为转换函数将实值的速度映射为[0,1]之间的值。 T v k ( h(t) ) = 1 1 + e -v k h (t) (3) 式中: v k h(t) 为粒子 h 在第 t 轮迭代中第 k 维的速 度。 在将粒子速度转换为概率值后,位置向量将依 据概率值进行更新: x k h(t + 1) = 0, rand < T v k ( h(t + 1) ) 1, rand ≥ T v k { ( h(t + 1) ) (4) 2 求解特征子集的协同演化方法 2.1 编码方式 本文使用了二进制比特串的编码方式,该编码 方式通用于遗传算法和二元粒子群方法,如图 2 所 示。 将每个二进制串作为一个个体(粒子),个体 (粒子)中的每一维(每一比特)都代表一个候选特 征,当该位为 1 时表示该特征被选中,并添加到候选 的特征子集中;当该位为 0 时表示该特征未被选中。 依据此编码方式将特征选择问题转换为寻找最佳 个体(粒子)的问题。 图 2 二元粒子群的编码方式 Fig.2 Coding scheme of BPSO 2.2 适应度函数 本文使用互信息熵理论对特征子集进行整体 评估,两个变量的互信息值越大,则意味着两个变 量相关程度越紧密;当互信息为零时,则意味着两 个变量完全不相关。 特征集合 F = {f 1 ,f 2 ,…,f n }中 某一特征 f i 与类别的互信息度量如下: I(f i,C) = H(f i) + H(C) - H(f i,C) (5) 式中:H 为变量的熵值,用以度量随机变量信息的不 确定性。 以类别向量为例,H(C)通常用作描述离散 随机变量 C = {c1 ,c2 ,…,cn }熵值,ci是变量 C 的可能 取值,p(ci)为概率密度函数。 H(C) = - ∑ m i = 1 p(ci)log(p(ci)) (6) 当已知特征变量和类别变量 f i和 C 的联合概率 密度时(对于离散数据意味着两个变量对应的属性 值联合出现的频度),两者的联合熵为 H f( i,C) = - ∑ f j i ∈f i , ∑ci∈C p f j i ,ci ( ) log p f j i ,ci ( ( ) ) (7) 基于特征与类别向量的信息熵度量构建适应 度函数,适应度函数的度量体现了进化过程对优良 个体的保留,对低劣个体的淘汰。 本文在设计适应 度函数时不仅考虑了特征与类别的相关性,而且将 特征子集规模也作为影响个体(粒子)适应度的一 部分,适应度函数的设计试图找出子集规模小,并 且特征与类别高度相关的特征集合。 具体适应度 函数设计如下: Fit 1 = MI × S (8) Fit 2 = MI p × S (9) 式中:MI 部分为特征与类别关联性度量;S 部分为 特征子集规模控制。 假设当前候选特征子集为在 全部 n 维特征中选出的 p 维特征: MI = ∑ p i = 1 I f( i,C) (10) S = n - p n (11) 本文设计式(8)和式(9)两个适应度函数,在寻 优过程中试图寻找最大值。 其原理在于,小规模数 据集特征维度较少,在进化过程中对特征空间搜索 较为全面。 采用式(8)重点考察特征与类别的相关 性。 而对于大规模数据集,特征维度较大,进化搜 索特征空间的过程中很难控制特征子集规模,并且 容易在候选特征较多时形成局部最优,所以在式 (9)中增大了对特征子集规模的惩罚系数。 假设式 ·26· 智 能 系 统 学 报 第 12 卷
第1期 膝旭阳,等:面向特征选择问题的协同演化方法 ·27. (8)和式(9)获得相同的适应度函数值,式(9)需要 较容易陷入全局最优解并且过早收敛,进化过程中 尽量减小k值,使得选择特征尽量少以取得关联性 会将搜索引向本次迭代的全局和个体最佳位置,因 度量和子集规模的平衡。 此进化的多样性差。协同的思想对于P$0特征选 2.3比特率交叉算子 择方法的帮助在于,通过本文提出的最佳个体比特 在遗传算法中,交叉算子通过模拟自然界生物 信息位交换策略,每次进化产生最佳个体的比特信 的杂交过程对个体进行交叉操作,不断产生新个 息位不仅仅由PSO决定,事实上它和GA中的最佳 体、增加种群的多样性、扩大寻优范围,从而使得遗 个体共享那些能够引起适应度值增加的优秀比特 传算法具有较强的搜索能力。直观地讲,交叉算子 信息位。将这些优秀的比特基因随机地插入到粒 影响了遗传算法对求解空间影响的搜索能力,并对 子群中最佳个体对应的信息位上。这种方法不仅 能否找到全局最优解发挥了至关重要的作用1]。 有可能使最佳个体变得更优秀,还为PS0算法增加 传统的GA算法交叉操作采用的是单点交叉, 了多样性,避免过早地陷入局部最优解。对于GA 但是在该交叉操作中很可能出现“近亲繁殖”的现 特征选择方法来说,寻优速度较慢,尤其在高维特 象,即进行交叉操作的一对个体基因型相似,减缓 征下往往不能获得令人满意的结果。从信息共享 了遗传算法的搜索速度,或者会出现局部收敛或早 机制来说,遗传算法的信息共享方式主要是通过两 熟收敛,从而影响种群的进化方向。因此本文针对 个个体之间的交叉操作,而粒子群算法的信息共享 特征选择问题提出了比特概率交叉算子,在基因交 方式是通过种群中的最优个体传递信息给其余个 叉的过程中,首先判断两个个体的基因相似比特 体。这两种信息共享机制就相应地决定了两种算 率,并将比特率与交叉概率作比较,若小于该概率 法的表现,粒子群算法每代都选出当前最优个体, 则进行个体基因交叉操作。具体过程如算法1 并进行全局范围的信息共享,使得整个粒子群能向 所示。 着最优的方向快速趋近:而遗传算法的交叉操作具 算法1比特概率交叉算子 有一定的随机性,且由于是一对一进行交叉,每一 输入两个个体的二进制比特基因信息位 次迭代中作用的范围相对较小,使得种群中的优秀 f(i,:)和f(Gj,:),染色体长度n,交叉概率Pmso 基因交流较慢,整个种群的进化比较漫长,所以PS0 输出交叉后两个个体的基因型f(i,:) 特征选择寻优速度较快,效率更高。通过信息交 和f,:)。 互,在迭代过程中种群可以获得更为优秀的个体基 1)m=0. 因型,这有助于加速GA种群的进化过程,提高收敛 2)For k=1:no 速度。同时,通过上文的比特率交叉算子可以避免 3)若两个体的第k位比特位相同则m=m+1。 相近的基因型交叉产生不“健康”的后代个体。具 4)End For 体的GA-PSO协同演化算法如算法2和算法3 5)计算个体间基因型相似比s=m/n。 所示。 6)fs<P交叉概率。 算法2协同演化算法 7)随机选定基因型个体的某一位Posm 输入粒子群和种群初始化参数。 8)For h=Poserom:no 输出最佳个体。 9)交换个体Posm位到第n位的基因。 1)初始化粒子群和种群。 l0)End For。 2)协同演化。 11)End If。 ①计算各个粒子的适应度值。 通过比特率交叉算子可以避免基因型相近的 ②选择粒子群算法最佳个体PSO。 个体进行交叉操作,即可以避免产生“隐性致病基 ③选出遗传算法最佳个体GA 因”,防止相近个体的近亲繁殖,并增强种群个体的 ④最佳个体比特信息位交换。 多样性。 ⑤PS0:更新粒子速度及位置。 2.4GA-PS0协同演化方法的实现 ⑥GA:选择、比特率交叉(算法1)和变异。 本文提出的GA-PSO算法的主要思想是比特位 3)判断终止条件,若不满足返回2),满足进入4)。 信息交互。传统的PS0特征选择有一定的缺陷,比 4)比较GA与PS0,输出最佳个体
(8)和式(9)获得相同的适应度函数值,式(9)需要 尽量减小 k 值,使得选择特征尽量少以取得关联性 度量和子集规模的平衡。 2.3 比特率交叉算子 在遗传算法中,交叉算子通过模拟自然界生物 的杂交过程对个体进行交叉操作,不断产生新个 体、增加种群的多样性、扩大寻优范围,从而使得遗 传算法具有较强的搜索能力。 直观地讲,交叉算子 影响了遗传算法对求解空间影响的搜索能力,并对 能否找到全局最优解发挥了至关重要的作用[15] 。 传统的 GA 算法交叉操作采用的是单点交叉, 但是在该交叉操作中很可能出现“近亲繁殖” 的现 象,即进行交叉操作的一对个体基因型相似,减缓 了遗传算法的搜索速度,或者会出现局部收敛或早 熟收敛,从而影响种群的进化方向。 因此本文针对 特征选择问题提出了比特概率交叉算子,在基因交 叉的过程中,首先判断两个个体的基因相似比特 率,并将比特率与交叉概率作比较,若小于该概率 则进行个体基因交叉操作。 具体过程如算法 1 所示。 算法 1 比特概率交叉算子 输入 两个个体的二进制比特基因信息位 f (i,:)和 f (j,:),染色体长度 n,交叉概率 Pcross。 输出 交 叉 后 两 个 个 体 的 基 因 型 f ( i,:) 和f (j,:)。 1)m = 0。 2)For k = 1:n。 3)若两个体的第 k 位比特位相同则 m =m+1。 4)End For。 5)计算个体间基因型相似比 s =m / n。 6)If s<Pcross交叉概率。 7)随机选定基因型个体的某一位 Poscross。 8)For h = Poscross:n。 9)交换个体 Poscross位到第 n 位的基因。 10)End For。 11)End If。 通过比特率交叉算子可以避免基因型相近的 个体进行交叉操作,即可以避免产生“隐性致病基 因”,防止相近个体的近亲繁殖,并增强种群个体的 多样性。 2.4 GA⁃PSO 协同演化方法的实现 本文提出的 GA⁃PSO 算法的主要思想是比特位 信息交互。 传统的 PSO 特征选择有一定的缺陷,比 较容易陷入全局最优解并且过早收敛,进化过程中 会将搜索引向本次迭代的全局和个体最佳位置,因 此进化的多样性差。 协同的思想对于 PSO 特征选 择方法的帮助在于,通过本文提出的最佳个体比特 信息位交换策略,每次进化产生最佳个体的比特信 息位不仅仅由 PSO 决定,事实上它和 GA 中的最佳 个体共享那些能够引起适应度值增加的优秀比特 信息位。 将这些优秀的比特基因随机地插入到粒 子群中最佳个体对应的信息位上。 这种方法不仅 有可能使最佳个体变得更优秀,还为 PSO 算法增加 了多样性,避免过早地陷入局部最优解。 对于 GA 特征选择方法来说,寻优速度较慢,尤其在高维特 征下往往不能获得令人满意的结果。 从信息共享 机制来说,遗传算法的信息共享方式主要是通过两 个个体之间的交叉操作,而粒子群算法的信息共享 方式是通过种群中的最优个体传递信息给其余个 体。 这两种信息共享机制就相应地决定了两种算 法的表现,粒子群算法每代都选出当前最优个体, 并进行全局范围的信息共享,使得整个粒子群能向 着最优的方向快速趋近;而遗传算法的交叉操作具 有一定的随机性,且由于是一对一进行交叉,每一 次迭代中作用的范围相对较小,使得种群中的优秀 基因交流较慢,整个种群的进化比较漫长,所以 PSO 特征选择寻优速度较快,效率更高。 通过信息交 互,在迭代过程中种群可以获得更为优秀的个体基 因型,这有助于加速 GA 种群的进化过程,提高收敛 速度。 同时,通过上文的比特率交叉算子可以避免 相近的基因型交叉产生不“健康” 的后代个体。 具 体的 GA⁃PSO 协 同 演 化 算 法 如 算 法 2 和 算 法 3 所示。 算法 2 协同演化算法 输入 粒子群和种群初始化参数。 输出 最佳个体。 1)初始化粒子群和种群。 2)协同演化。 ①计算各个粒子的适应度值。 ②选择粒子群算法最佳个体 PSObest。 ③选出遗传算法最佳个体 GAbest。 ④最佳个体比特信息位交换。 ⑤PSO:更新粒子速度及位置。 ⑥GA: 选择、比特率交叉(算法 1)和变异。 3)判断终止条件,若不满足返回 2),满足进入 4)。 4)比较 GAbest与 PSObest,输出最佳个体。 第 1 期 滕旭阳,等:面向特征选择问题的协同演化方法 ·27·
·28 智能系统学报 第12卷 算法3最佳个体比特信息位交换 据的离散化处理采用经典的MDL方法。种群规模为 输入上一代最佳个体和本轮最佳个体。 20,迭代次数为300。GA中交叉概率为0.6,变异概率 输出交换比特信息位后的PSO及HSmo 为0.15;PS0中c1=c2=2,0=0.4。 1)随机选取PS0中引起最佳个体适应度值增 31算法分类准确率的结果分析 加的信息位PSOpito 本文实验部分选用了UCI(UC Irvine machine 2)随机选取GA中引起最佳个体适应度值增 learning repository)数据库中的5个高维多类别数据 加的信息位GAm。 集,特征维度从14维升至240维,不同数据集中样 3)if PSO=优于GAt, 本的类别数目最少为2类,最多为10类。其中, 将GAa中对应的信息位改为PSOm; Australian与Credit Approval为两个信用卡申请类数 else 据集,Dermatology为皮肤病数据集,Synthetic Control 将PSO中对应的信息位改为GA; 是名为合成控制图数据集,Multi-Feature Pixel是名 end 为Multi-feature“0”到“9”手写图数据集中的一个 本文提出的GA-PS0协同演化算法,通过协同 子集合。各数据集的详细信息如表1所示。 共享的思想让PSO和GA互相弥补各自的弱点,互 表1UCI数据集描述 相协助从而产生更强的个体。对于本文面向的特 Table 1 Descriptions of UCI benchmark datasets 征选择问题,更好的个体可以从两个角度进行判 数据集 特征数 样本数 类别数 Australian 14 690 2 断:特征与类别相关性越高,个体适应度值越高:特 Credit Approval 15 690 征子集规模越小,个体适应度值越高。面向特征选 Dermatology 34 366 6 择问题的协同演化方法执行流程如图3所示。 Synthetic Control 60 600 6 Multi-Feature Pixel 240 2000 10 开始 实验对比的特征选择算法有GA、PSO、IG以及 随机初始化粒子群 随机初始化种群 GR。为了验证算法性能,选取SVM、I-NN和Naive Bayes三个分类器,并且使用十折交叉验证的方法 计算各粒子适应度值 测试在不同数据集下各个算法所选择特征子集的 计算各个个体适应度值 分类。对于GA,PSO和GA-PS0三种进化搜索的方 更新个体极值及群体极值 法,实验得出每个算法连续运行20次时的平均分类 准确率。而IG(information gain)信息增益和GR 最佳个体比特信息位交换策略 (gain ratio)增益比率都是以互信息为基础的经典的 排序特征选择算法,因此在实验中分别对每个数据 更新粒子速度和位置 选择、交叉、变异 集的特征进行排序,并且手动地选择与进化算法规 模相近的排名前p个特征,P为选择的特征数量。 达到最大 具体的分类结果如表2~4所示。表2~4中数值表 迭代次数 示各特征选择算法选择的特征子集在相应的数据 TY 结束○ 集下使用分类器得到的分类准确率。Avg表示平均 图3协同演化算法的流程图 分类准确率,括号内数字为平均选择的子集规模。 Fig.3 Flow chart of co-evolution algorithm 从表2中可以看出,本文提出的方法在5个数 据集上均取得了最好的结果,比如在Synthetic 3实验结果与分析 Control数据集中,在选出相近的特征子集下,提出的 为了验证本文提出算法的有效性,实验结果从两 方法的平均分类准确率比其他算法的平均分类准 个方面进行分析:1)分析算法在不同数据集下分类的 确率高出了平均2.98%。同样如表3和表4所示, 准确率:2)提出的算法与GA和PSO进行适应度值和 在1-NN和Naive Bayes分类器中,对于每个数据集本 收敛性比较。本文实验特征选择部分的运行环境为 文提出的方法的平均分类准确率都比其他的算法 MATLAB2014a,分类准确率运行环境为weka3.8。对数 具有优势,在保证特征子集近似的情况下,能够得 到较好的分类效果
算法 3 最佳个体比特信息位交换 输入 上一代最佳个体和本轮最佳个体。 输出 交换比特信息位后的 PSObest及 HSbest。 1) 随机选取 PSO 中引起最佳个体适应度值增 加的信息位 PSObit。 2) 随机选取 GA 中引起最佳个体适应度值增 加的信息位 GAbit。 3) if PSObest优于 GAbest, 将 GAbest中对应的信息位改为 PSObit; else 将 PSObest中对应的信息位改为 GAbit; end 本文提出的 GA⁃PSO 协同演化算法,通过协同 共享的思想让 PSO 和 GA 互相弥补各自的弱点,互 相协助从而产生更强的个体。 对于本文面向的特 征选择问题,更好的个体可以从两个角度进行判 断:特征与类别相关性越高,个体适应度值越高;特 征子集规模越小,个体适应度值越高。 面向特征选 择问题的协同演化方法执行流程如图 3 所示。 图 3 协同演化算法的流程图 Fig.3 Flow chart of co⁃evolution algorithm 3 实验结果与分析 为了验证本文提出算法的有效性,实验结果从两 个方面进行分析:1)分析算法在不同数据集下分类的 准确率;2)提出的算法与 GA 和 PSO 进行适应度值和 收敛性比较。 本文实验特征选择部分的运行环境为 MATLAB 2014a,分类准确率运行环境为 weka3.8。 对数 据的离散化处理采用经典的 MDL 方法。 种群规模为 20,迭代次数为 300。 GA 中交叉概率为 0.6,变异概率 为0.15;PSO 中 c1 =c2 =2,w=0.4。 3.1 算法分类准确率的结果分析 本文实验部分选用了 UCI (UC Irvine machine learning repository)数据库中的 5 个高维多类别数据 集,特征维度从 14 维升至 240 维,不同数据集中样 本的类别数目最少为 2 类,最多为 10 类。 其中, Australian 与 Credit Approval 为两个信用卡申请类数 据集,Dermatology 为皮肤病数据集,Synthetic Control 是名为合成控制图数据集,Multi⁃Feature Pixel 是名 为 Multi⁃feature “0”到“9” 手写图数据集中的一个 子集合。 各数据集的详细信息如表 1 所示。 表 1 UCI 数据集描述 Table 1 Descriptions of UCI benchmark datasets 数据集 特征数 样本数 类别数 Australian 14 690 2 Credit Approval 15 690 2 Dermatology 34 366 6 Synthetic Control 60 600 6 Multi⁃Feature Pixel 240 2 000 10 实验对比的特征选择算法有 GA、PSO、IG 以及 GR。 为了验证算法性能,选取 SVM、1⁃NN 和 Naïve Bayes 三个分类器,并且使用十折交叉验证的方法 测试在不同数据集下各个算法所选择特征子集的 分类。 对于 GA,PSO 和 GA⁃PSO 三种进化搜索的方 法,实验得出每个算法连续运行 20 次时的平均分类 准确率。 而 IG ( information gain) 信息增益和 GR (gain ratio)增益比率都是以互信息为基础的经典的 排序特征选择算法,因此在实验中分别对每个数据 集的特征进行排序,并且手动地选择与进化算法规 模相近的排名前 p 个特征,p 为选择的特征数量。 具体的分类结果如表 2 ~ 4 所示。 表 2 ~ 4 中数值表 示各特征选择算法选择的特征子集在相应的数据 集下使用分类器得到的分类准确率。 Avg 表示平均 分类准确率,括号内数字为平均选择的子集规模。 从表 2 中可以看出,本文提出的方法在 5 个数 据集上 均 取 得 了 最 好 的 结 果, 比 如 在 Synthetic Control数据集中,在选出相近的特征子集下,提出的 方法的平均分类准确率比其他算法的平均分类准 确率高出了平均 2.98%。 同样如表 3 和表 4 所示, 在1⁃NN和 Naïve Bayes 分类器中,对于每个数据集本 文提出的方法的平均分类准确率都比其他的算法 具有优势,在保证特征子集近似的情况下,能够得 到较好的分类效果。 ·28· 智 能 系 统 学 报 第 12 卷