CN105824937A - 一种基于二进制萤火虫算法的属性选择方法 - Google Patents

一种基于二进制萤火虫算法的属性选择方法 Download PDF

Info

Publication number
CN105824937A
CN105824937A CN201610157896.3A CN201610157896A CN105824937A CN 105824937 A CN105824937 A CN 105824937A CN 201610157896 A CN201610157896 A CN 201610157896A CN 105824937 A CN105824937 A CN 105824937A
Authority
CN
China
Prior art keywords
lampyridea
formula
attribute
time iteration
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201610157896.3A
Other languages
English (en)
Inventor
倪志伟
李敬明
张琛
朱旭辉
金飞飞
伍章俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Priority to CN201610157896.3A priority Critical patent/CN105824937A/zh
Publication of CN105824937A publication Critical patent/CN105824937A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于二进制萤火虫算法的属性选择方法,其特征按如下步骤进行:步骤1、利用分形维数盒计法计算高维数据集的分形维数,获得的所要选择属性的个数;步骤2、初始化萤火虫种群;步骤3、利用二进制萤火虫算法对高维数据集的多个属性进行选择,获得最优属性子集;步骤4、输出最优解。本发明使用二制萤火虫算法作为属性选择的搜索策略,以分形维数作为属性选择评估度量准则,从高维数据集的多个指标属性中选择一个较优的属性子集,这样能够降低数据处理的复杂性,提高数据处理的效率,从而满足解决实际问题的需要。

Description

一种基于二进制萤火虫算法的属性选择方法
技术领域
本发明涉及数据挖掘与模式识别中的数据预处理领域,具体的说是一种基于二进制萤火虫算法的属性选择方法。
背景技术
数据挖掘(DataMining)指从海量的数据中通过一系列复杂的算法探索隐藏于数据中的有效信息的行为,而数据的高维性和多属性会影响数据挖掘的性能。因此,需要对高维数据集进行降维预处理,从而提高数据挖掘的效率。所谓数据降维就是按照一定的准则从原始数据集的属性集中选取一个最具代表性的属性子集,又称属性选择。属性选择是以属性变量与目标属性之间的相关关系及冗余关系测度为基础,根据事先设定的属性评估标准或评估函数来选择数据挖掘模型所需的输入属性。属性选择的关键在于评估度量和搜索策略这两方面。
现有的经典属性选择算法主要从两个角度进行考虑:其一,侧重属性选择的评估度量准则研究。InbaraniH,ArafatH及JingSY等人将粗糙集理论作为待选属性子集的评估度量准则来解决属性选择问题。随着分形理论的发展,分形维数作为评估度量准则,并证明其有效性与可行性。其中,TrainaC首次提出将分形维数应用到属性选择问题中;CamastraF研究表明所选属性子集的分形维数越接近于原始数据集的分形维数,其分类准确率越高;BanatiH验证分形维数作为待选属性子集的评估度量准则的有效性与可行性;其二,侧重于属性选择的搜索策略研究,具有代表性的有遗传算法及各种群智能算法。JingSY提出采用混合遗传算法作为属性选择搜索策略,ArafatH与倪丽萍等提出以蚁群算法作为属性选择搜索策略,InbaraniH将粒子群算法作为搜索策略,HuY,DingL等人采用蜂群算法作为搜索策略等。采不同的搜索策略算法导致选择的属性子集不同,其相应的分类准确率就存在不同的差异。
然而上述属性选择算法存在如下缺陷:
(1)使用粗糙集理论作为待选属性子集的评估度量准则,属性约简率较低,其时间计算复杂度较高;
(2)遗传算法在寻优过程中,对初始种群的选择具有一定的依赖性,初始种群的选择会影响优化的速度和性能,其他各种群智能算法易陷入局部最优,其收敛性难以确定,并且遗传算法的时间复杂度较高。
发明内容
本发明为克服现有技术存在的不足之处,提出一种基于二进制萤火虫算法的属性选择方法,以期能使用离散型萤火虫算法二制萤火虫算法作为属性选择的搜索策略,以分形维数作为属性选择评估度量准则,从高维数据集的多个属性中选择一个具有代表性的属性子集,从而能提高数据处理的效率,降低时间复杂度。
为解决上述技术问题,本发明所采用的技术方案是:
本发明一种基于二进制萤火虫算法的属性选择方法的特点是按如下步骤进行:
步骤1、利用分形维数盒计法计算维度为d的高维数据集的分形维数,获得的计算结果d1,并向上取整后作为选择属性的个数m;m<d;
步骤2、初始化萤火虫种群X;
初始化第i只萤火虫为xi,并有xi=(xi1,xi2,…,xik,…,xid),i=1,2,…n;xik表示第i只萤火虫的第k位;并有xik=1表示第i只萤火虫的第k个属性被选择;并有xik=0表示第i只萤火虫的第k个属性未被选择;且从而初始化萤火虫种群X={x1,x2,…,xi,…,xn};以第i只萤火虫为xi作为属性选择的第i个解;
定义第i只萤火虫xi的荧光素挥发因子为ρ、荧光素更新率为γ、动态决策域更新率为β、感知半径为θ、邻域集内包含的萤火虫数目的阈值为ω、初始荧光素值为li(0)、初始动态决策域半径为初始位置为xi(0)={xi1(0),xi2(0),…,xik(0),…,xid(0)};
步骤3、在所述高维数据集上利用二进制萤火虫算法对d个属性进行选择,获得由m个属性构成的最优属性子集。
本发明所述的基于二进制萤火虫算法的属性选择方法的特点也在于,
所述步骤3是按如下过程进行:
步骤3.1、定义迭代次数为t、最大迭代次数Nmax
初始化t=0;则第t次迭代时第i个萤火虫xi的荧光素值为li(t)、第t次迭代时第i个萤火虫xi的动态决策域半径为第t次迭代时第i个萤火虫xi的邻域集Ni(t);第t次迭代时第i个萤火虫xi的位置为xi(t);
步骤3.2、荧光素更新阶段:
步骤3.2.1、通过式(1)计算第t次迭代时第i个萤火虫xi的适应度函数值J(xi(t)):
J(xi(t))=-(frac(xi(t))-d1)(1)
步骤3.2.2、通过公式(2)计算第t+1次迭代时第i个萤火虫xi的荧光素值li(t+1):
li(t+1)=(1-ρ)×li(t)+γ×J(xi(t))(2)
式(2)表示将第i个萤火虫xi在第t次迭代的位置xi(t)对应的适应度函数值J(xi(t))转换为荧光素值li(t+1);
步骤3.3、萤火虫个体位置更新阶段:
步骤3.3.1、利用式(3)获得第t次迭代时第i只萤火虫xi与第j只萤火虫为xj在第k位上的距离j=1,2,…n,i≠j:
D k t ( i , j ) = 1 x j k ( t ) - x i k ( t ) ≠ 0 0 x j k ( t ) - x i k ( t ) = 0 - - - ( 3 )
步骤3.3.2、利用式(4)计算第t次迭代时第i个萤火虫xi到第j只萤火虫之间的海明距离Dt(i,j):
D t ( i , j ) = Σ k = 1 d | D k t ( i , j ) | - - - ( 4 )
步骤3.3.3、在第i个萤火虫xi的动态决策域半径内,选择荧光素值比自己大的所有个体构成第t次迭代时第i个萤火虫xi的邻域集Ni(t);且所述邻域集Ni(t)中萤火虫总数表示为|Ni(t)|,
步骤3.3.4、通过式(5)计算第t次迭代时第i个萤火虫xi移向邻域集内Ni(t)中第s个萤火虫xs的概率pis(t):
p i s ( t ) = l s ( t ) - l i ( t ) Σ v = 1 | N i ( t ) | l v ( t ) - l i ( t ) - - - ( 5 )
式(3)表示第t次迭代时第i个萤火虫xi移向具有最大概率的第s个萤火虫xs;s=1,2.…|Ni(t)|、v=1,2.…|Ni(t)|;
步骤3.3.5、利用式(6)获得第i个萤火虫xi在第k位的位移Mik
Mik=μ×c×r×(xsk-xik)(6)
式(4)中,μ为移动步长;c为学习因子;r为[0,1]区间的随机数;
步骤3.3.6、利用式(7)和式(8)所示的sigmoid函数获得第i个萤火虫xi在第k位取“1”的概率S(Mik),从而在解空间内进行全局搜索:
S ( m i k ) = 1 1 + exp ( - M i k ) - - - ( 7 )
x i k = 1 i f r a n d ( ) ≤ S ( M i k ) 0 o t h e r w i s e - - - ( 8 )
步骤3.3.7、利用式(7)和式(8)所示的改进sigmoid函数获得第i个萤火虫xi在第k位取“1”的概率S′(Mik),从而在解空间内进行局部搜索:
S ′ ( M i k ) = 2 × | 1 1 + exp ( - M i k ) - 0.5 | - - - ( 9 )
x i k = 0 i f r a n d ( ) ≤ S ′ ( M i k ) x i k o t h e r w i s e x i k = 1 i f r a n d ( ) > S ′ ( M i k ) x i k o t h e r w i s e - - - ( 10 )
步骤3.4、动态决策域更新阶段:
利用式(11)获得第t+1次迭代时第i个萤火虫xi的动态决策域半径
r d i ( t + 1 ) = m i n { θ , m a x { 0 , r d i ( t ) + β × ( ω - | N i ( t ) | ) } } - - - ( 11 )
步骤4、输出最优解:
判断t+1>Nmax是否成立,若成立,则算法结束,输出最优属性子集;否则,将t+1赋值给t,并返回步骤3顺序执行。
步骤3.3的萤火虫个体位置更新阶段中还包括:
当所获得的第t次迭代时第i个萤火虫xi的位置xi(t)={xi1(t),xi2(t),…,xik(t),…,xid(t)}中取值为“1”的个数不为m时,则表示第i个萤火虫xi的位置xi(t)为不可行解;并随机分配包含m个“1”的d维二进制串作为第t次迭代时的初始解。
步骤3.3的萤火虫个体位置更新阶段中还包括:
定义局部与全局搜索平衡因子为
时,利用式(5)和式(6)在解空间内进行全局搜索;
时,利用式(7)和式(8)在解空间内进行局部搜索。
与已有技术相比,本发明的有益效果体现在:
1、本发明将离散型二进制萤火虫算法应用于属性选择中,使用二进制萤火虫算法作为属性选择搜索策略,以分形维数作为属性选择评估度量准则,降低了数据处理的复杂性,提高了数据处理的效率,从而满足了解决实际问题的需要。
2、本发明借鉴海明距离的思想计算萤火虫个体间的距离:将属性选择看作是离散组合优化问题,其解向量中仅含有0,1两个值,重新定义了海明距离来度量萤火虫个体间的距离,即两个等长字符串对应位置的字符不同的个数,克服了传统的欧式距离不适合计算萤火虫个体间距离的问题。
3、本发明借鉴Eberhart和Kennedy的离散二进制粒子群算法的速度与位置更新思想,提出一种基于二进制编码的新型离散型的萤火虫算法,将萤火虫进行二进制编码,重新定义了萤火虫个体位移方式,并引入sigmoid函数将个体位移值映射到[0,1]区间,即将个体位移的值转换为萤火虫个体相应二进制位取1的概率,以此作为萤火虫个体的位置更新策略,从而能保证了算法的效率及收敛性。
4、本发明可以对不可行解进行修正:在每次迭代中解更新后某些二进制萤火虫编码串有可能偏离可行解,即二进制串中“1”的个数不等于m,其成为不可行解。对于这种情况,可以在一个循环迭代结束后,对所有非可行解重新随机分配初始解,即对每个非可行解随机分配包含m个“1“的d维二进制串,这样使得每一次循环迭代都能保证搜索空间中的解均为可行解,保证了种群多样性,同时提高了搜索效率。
5、本发明能解决算法早熟问题:对于领域集Ni(t)的个体进行局部搜索,采用改进sigmoid概率映射函数,算法会很快收敛于局部最优解。为了避免算法早熟,陷入局部最优解,根据启发式算法原理,算法初始应该进行全局搜索,后期需要增强局部搜索能力,所以,解决算法早熟问题,需要先采用sigmoid概率映射函数进行全局搜索,再利用改进sigmoid概率映射函数进行局部搜索。这样既保证了算法的全局收敛性,又避免了算法陷入局部最优解。
附图说明
图1为现有技术中Sigmoid概率映射函数图;
图2为本发明位移与位变化概率之间关系图;
图3为本发明深入分析位变化的概率与位移之间的关系图;
图4为本发明改进Sigmoid概率映射函数图。
具体实施方式
本实施例中,一种基于二进制萤火虫算法的属性选择方法,是将离散型二进制萤火虫算法应用于属性选择中,并按如下步骤进行:
步骤1、利用分形维数盒计法计算维度为d的高维数据集的分形维数,获得的计算结果d1,并向上取整后作为选择属性的个数m;m<d;
一个数据集通常包含嵌入维与分形维等两个维度,其中,嵌入维又称欧氏维,它是指数据点所嵌入的欧氏空间的维数,即数据集中包含属性指标的个数;本征维亦称分形维,它反映表达一个数据集所需要的关键属性指标个数。在现实应用中,一般用分形维数来近似数据集的本征维数,分形维数的上界即数据集中关键属性的个数。属性选择是以属性变量与目标属性之间的相关关系及冗余关系测度为基础,根据事先设定的属性评估标准或评估函数来选择数据挖掘模型所需的输入属性,因此,属性选择的关键在于评估度量和搜索策略这两方面。同时根据所要处理的数据集,利用分形维数盒计法计算数据的分形维数,假设计算出原始数据集的分形维数为d1,则最优属性子集所包含的属性个数为
步骤2、初始化萤火虫种群X;
初始化第i只萤火虫为xi,并有xi=(xi1,xi2,…,xik,…,xid),i=1,2,…n;xik表示第i只萤火虫的第k位;并有xik=1表示第i只萤火虫的第k个属性被选择;并有xik=0表示第i只萤火虫的第k个属性未被选择;且从而初始化萤火虫种群X={x1,x2,…,xi,…,xn};以第i只萤火虫为xi作为属性选择的第i个解;
假设一个萤火虫种群中有n个萤火虫,第i个萤火虫个体记为xi,i=1,…,n,并有xi=[xi1,xi2,…,xik,…,xid],其中xik(k=1,2,…d)在解向量中所处位置与数据集中属性的序号相对应,如x=(0,0,0,0,1,0,1,0,0,1),表示原始数据集中第5、7、10位属性是被选中的,构成一个候选属性子集,其中d=10,m=3。
使用随机函数对第i个萤火虫xi的初始位置xi(0)={xi1(0),xi2(0),…,xik(0),…,xid(0)}进行设置,对d维解向量中随机分配为m个1使之成为可行解,该设置方法具有较大随机性以体现算法不依赖初始值设定,这样可满足初始解的多样性,又可提高算法的精度。同时,若第t次迭代后第i个萤火虫xi的位置成为不可行解,则对所有非可行解重新随机分配初始解,即对每个非可行解随机分配包含m个“1”的d维二进制串,这样使得每一次循环迭代都能保证搜索空间中的解均为可行解。
二进制萤火虫的每位的取值为1或0,分别表示该相应属性被选择或者不被选择;该方法克服了传统的连续型萤火虫算法无法解决离散组合优化问题,而且这样二进制萤火虫编码对属性选择问题的表述简单直观,并且降低了计算的复杂度,提高了数据处理的效率。
步骤3、在所述高维数据集上利用二进制萤火虫算法对d个属性进行选择,获得由m个属性构成的最优属性子集。
其中,步骤3是按如下过程进行:
步骤3.1、定义迭代次数为t、最大迭代次数Nmax
初始化t=0;则第t次迭代时第i个萤火虫xi的荧光素值为li(t)、第t次迭代时第i个萤火虫xi的动态决策域半径为第t次迭代时第i个萤火虫xi的邻域集Ni(t);第t次迭代时第i个萤火虫xi的位置为xi(t);
步骤3.2、荧光素更新阶段:
步骤3.2.1、通过式(1)计算第t次迭代时第i个萤火虫xi的适应度函数值J(xi(t)):
J(xi(t))=-(frac(xi(t))-d1)(1)
步骤3.2.2、通过公式(2)计算第t+1次迭代时第i个萤火虫xi的荧光素值li(t+1):
li(t+1)=(1-ρ)×li(t)+γ×J(xi(t))(2)
式(2)表示将第i个萤火虫xi在第t次迭代的位置xi(t)对应的适应度函数值J(xi(t))转换为荧光素值li(t+1);
适应度函数的定义:已知数据集的嵌入维数为d,分形维数为d1,对其进行属性选择,得到一个原数据集的最优属性子集,其分形维数与原始数据集的分形维数d1差值最小,该属性子集包含的属性指标个数为可定义适应度函数为:J(xi(t))=(frac(xi(t))-d1),其中,frac(xi(t))表示第i只萤火虫得到的属性子集分形维数。由于萤火虫xi在领域中向比自己荧光素比较大的萤火虫xj移动,而其适应度函数值为分形维数与原始数据集的分形维数d1差值最小,因此J(xi(t))不适宜作为目标函数,需将其加以改进,如式(1)所示:
步骤3.3、萤火虫个体位置更新阶段:
步骤3.3.1、利用式(3)获得第t次迭代时第i只萤火虫xi与第j只萤火虫为xj在第k位上的距离j=1,2,…n,i≠j:
D k t ( i , j ) = 1 x j k ( t ) - x i k ( t ) ≠ 0 0 x j k ( t ) - x i k ( t ) = 0 - - - ( 3 )
步骤3.3.2、利用式(4)计算第t次迭代时第i个萤火虫xi到第j只萤火虫之间的海明距离Dt(i,j):
D t ( i , j ) = Σ k = 1 d | D k t ( i , j ) | - - - ( 4 )
由于解向量中仅含有0,1两个值,采用汉明距离来度量萤火虫个体间的距离,即两个等长字符串对应位置的字符不同的个数,克服了传统的欧式距离不适合计算萤火虫个体间距离的问题。
步骤3.3.3、在第i个萤火虫xi的动态决策域半径内,选择荧光素值比自己大的所有个体构成第t次迭代时第i个萤火虫xi的邻域集Ni(t);且所述邻域集Ni(t)中萤火虫总数表示为|Ni(t)|,
领域感知半径的确定:二进制萤火虫算法中初始感知半径θ与种群规模n,二进制萤火虫编码长度d及邻域集萤火虫数目阈值ω有着密切的关系。若种群规模n与萤火虫编码长度d确定时,则当ω值变大时,领域感知半径θ也随之也变大。根据个体间距离公式(1)与(2)可知,两个个体间最大距离为d。因此,本文中的领域感知半径θ及邻域集萤火虫数目阈值ω确定为:
步骤3.3.4、通过式(5)计算第t次迭代时第i个萤火虫xi移向邻域集内Ni(t)中第s个萤火虫xs的概率pis(t):
p i s ( t ) = l s ( t ) - l i ( t ) Σ v = 1 | N i ( t ) | l v ( t ) - l i ( t ) - - - ( 5 )
式(3)表示第t次迭代时第i个萤火虫xi移向具有最大概率的第s个萤火虫xs;s=1,2.…|Ni(t)|、v=1,2.…|Ni(t)|;
步骤3.3.5、利用式(6)获得第i个萤火虫xi在第k位的位移Mik
Mik=μ×c×r×(xsk-xik)(6)
式(4)中,μ为移动步长;c为学习因子;r为[0,1]区间的随机数;
步骤3.3.6、利用式(7)和式(8)所示的sigmoid函数(其函数图像如图1所示)获得第i个萤火虫xi在第k位取“1”的概率S(Mik),从而在解空间内进行全局搜索:
S ( M i k ) = 1 1 + exp ( - M i k ) - - - ( 7 )
x i k = 1 i f r a n d ( ) ≤ S ( M i k ) 0 o t h e r w i s e - - - ( 8 )
这里S(Mik)为位移xik取1的概率,萤火虫个体则通过公式(8)改变自身的值,其中rand()是从[0,1]的统一分布中产生的一个随机值,由于rand()需要与S(Mik)进行比较来确定xik的取值。参考相关文献定义一个最大位移值Mmax来限制Mik的范围,通常Mik的取值范围为[-6,6],对位移的限制也就是限制了二进制位取0或1的概率,相应概率限制在[0.0025,0.9975]。
由公式(7)概率映射函数可知二进制萤火虫移动轨迹是一种概率变化,而二进制编码的萤火虫单维位移转换为位取1的概率。由于二进制位取值情况只有0和1两种情况,若萤火虫i第k位为1的概率为S(Mik),则位为0概率就是1-S(Mik)。若当前二进制位的值是1,则其发生改变的概率就是1-S(Mik)。;若当前二进制位的值是0,则其发生改变的概率就是S(Mik)。所以位发生变化的绝对概率如公式P(Ω)=S(Mik)(1-S(Mik))所示,其表示为二进制位给定一个位移Mik值,其发生变化的绝对概念。因此,Mik值变化就是二进制位变化的概率变化。将公式(7)代入到公式P(Ω)=S(Mik)(1-S(Mik))可得:其表示二进制位的位移与位的变化绝对概率之间的关系,其关系图如图2所示:由图2可知当二进制位位移为0时,位变化的绝对概率值最大为0.25。但这种分析结果不够全面和客观,因为二进制位变化不仅与位移及当前值有关,而且还会受到上一代位值的影响。因此需对萤火虫二进制位进行深入分析,设Mik(t)为第i只萤火虫的第t代在k维的位移,第t代二进制位为1的概率为S(Mik(t)),则位为0概率是1-S(Mik(t))。另外,若第t-1代位值是0,则第t将发生改变的概率为S(Mik(t));同理,若第t-1代位值是1,则第t代将发生改变概率为1-S(Mik(t))。因为第t-1代位值为0的概率是1-S(Mik(t-1)),第t-1代位值为1的概率亦是S(Mik(t-1))。可知第t代二进制位发生变化的绝对概率p(t)就为:p(t)=(1-S(Mik(t-1)))S(Mik(t))+S(Mik(t-1))(1-S(Mik(t)))。假设Mik(t)=Mik(t-1),则得公式:p(t)=2(1-S(Mik(t)))S(Mik(t)),将公式(7)代入公式p(t)=2(1-S(Mik(t)))S(Mik(t))得公式:其表示二进制位变化的概率与位移的关系,如图3所示,图中抛物线的最高点在位移Mik(t)为0时,最大值为0.5。这也就表示萤火虫的位发生改变的概率为0.5。故当萤火虫的位置都收敛到全局最优位置,萤火虫的二进制位改变概率为0.5,达到了位变化概率的最高值。由此可以得到这样的结论:属性选择算法的萤火虫不可能收敛于全局最优值,若其收敛到全局最优值,则其位移为0,这反而二进制位发生变化率最大,即为0.5。此时,具有随机性更强的搜索,故算法具有全局性,其随机性更强,不具有全局收敛性。这应该就是算法的缺点,需要通过修正萤火虫位移与二进制位改变之间的关系来克服这个缺陷。
步骤3.3.7、利用式(7)和式(8)所示的改进sigmoid函数(其函数图像如图4所示)获得第i个萤火虫xi在第k位取“1”的概率S(Mik),从而在解空间内进行局部搜索:
S ( M i k ) = 2 × | 1 1 + exp ( - M i k ) - 0.5 | - - - ( 9 )
x i k = 1 i f r a n d ( ) ≤ S ( M i k ) x i k o t h e r w i s e x i k = 1 i f r a n d ( ) > S ′ ( M i k ) x i k o t h e r w i s e - - - ( 10 )
由位移公式Mik=μ×c×r×(xsk-xik)可知,xsk-xik的可能取值为-1,0和1,其中0表示xsk与xik位的值相等;-1表示xsk为0,而xik的值为1;1表示xsk为1,而xik的值为0。因此,位移Mik的值可以理解为,当位移为0时,意味着领域最优萤火虫和自身位置相等,二进制位不需要变化;而当位移为负时,领域最优萤火虫位置可能为0,而当前萤火虫的二进制位可能为1,故二进制位需要最大可能转变为0;而位移为正,领域内最优萤火虫位置可能为1,而萤火虫的二进制位可能为0,故二进制位最大可能转换为1。为了让萤火虫位移与二进制位变化的关系上面分析一致,对公式(7)进行修正,当萤火虫位移为0,期望新的概率映射函数值为0,即体现其收敛性;当位移小于0与大于0时,概率映射函数为偶函数,则映射函数关于Y轴对称,现对位移与概率映射函数修改为公式(9),其函数图像如图4所示:
这里S(mik)为位移xik取1的概率,若采用sigmoid函数作为概率映射函数,则萤火虫个体通过公式(7)与(8)来改变自身的值,这样算法的全局搜索能力较强,但算法不易于收敛;若采用改进sigmoid函数作为概率映射函数,则萤火虫个体通过公式(9)与(10)来更新自身的值,这样算法的局部搜索能力较强,但算法易于陷入局部最优解。由启发式的搜索算法的原理可知,算法在初始时需要具有全局搜索能力,到了后期需要更强的局部搜索能力。因此,方法将全局搜索与局部搜索结合起来,定义一个全局搜索与局部搜索平衡因子其取值为[0,1]区间的实数,t为当前运行的迭代次数,Nmax为最大迭代次数。当t小于等于时,算法采用公式(9)的概率映射函数,位更新机制采用公式(11);当t大于算法采用公式(10)概率映射函数,位更新机制采用公式(12)。经大量实验分析,一般在[0.6-0.8]之间取值。
经过步骤3.3后产生的解可能会出现解向量中元素为1个数不是m的情况,即出现了不可行解,则对所有非可行解重新随机分配初始解,即对每个非可行解随机分配包含m个“1”的d维二进制串,这样使得每一次循环迭代都能保证搜索空间中的解均为可行解,保证了种群的多样性,提高搜索效率。
步骤3.4、动态决策域更新阶段:
利用式(11)获得第t+1次迭代时第i个萤火虫xi的动态决策域半径
r d i ( t + 1 ) = m i n { θ , m a x { 0 , r d i ( t ) + β × ( ω - | N i ( t ) | ) } } - - - ( 11 )
采用自适应动态决策域半径,可以根据邻域集内的萤火虫数目来调节决策域半径,若邻域集内的萤火虫数目小于阈值,则增大决策域半径,扩大搜索范围,避免陷入局部最优;若邻域集内的萤火虫数目大于阈值,则减小决策域半径,缩小搜索范围,提高收敛速度。
步骤4、输出最优解:
判断t+1>Nmax是否成立,若成立,则算法结束,输出最优属性子集;否则,将t+1赋值给t,并返回步骤3顺序执行。
利用10个UCI标准数据集对提出的属性选择算法进行实验验证,结合10-fold交叉验证和SVM对属性选择前后的分类准确率进行分析,并进行搜索策略和评估度量准则间的性能对比及详细的参数分析,实验结果表明该方法具有较高的可行性和有效性。

Claims (4)

1.一种基于二进制萤火虫算法的属性选择方法,其特征是按如下步骤进行:
步骤1、利用分形维数盒计法计算维度为d的高维数据集的分形维数,获得的计算结果d1,并向上取整后作为选择属性的个数m;m<d;
步骤2、初始化萤火虫种群X;
初始化第i只萤火虫为xi,并有xi=(xi1,xi2,…,xik,…,xid),i=1,2,…n;xik表示第i只萤火虫的第k位;并有xik=1表示第i只萤火虫的第k个属性被选择;并有xik=0表示第i只萤火虫的第k个属性未被选择;且从而初始化萤火虫种群X={x1,x2,…,xi,…,xn};以第i只萤火虫为xi作为属性选择的第i个解;
定义第i只萤火虫xi的荧光素挥发因子为ρ、荧光素更新率为γ、动态决策域更新率为β、感知半径为θ、邻域集内包含的萤火虫数目的阈值为ω、初始荧光素值为li(0)、初始动态决策域半径为初始位置为xi(0)={xi1(0),xi2(0),…,xik(0),…,xid(0)};
步骤3、在所述高维数据集上利用二进制萤火虫算法对d个属性进行选择,获得由m个属性构成的最优属性子集。
2.根据权利要求1所述的基于二进制萤火虫算法的属性选择方法,其特征是所述步骤3是按如下过程进行:
步骤3.1、定义迭代次数为t、最大迭代次数Nmax
初始化t=0;则第t次迭代时第i个萤火虫xi的荧光素值为li(t)、第t次迭代时第i个萤火虫xi的动态决策域半径为第t次迭代时第i个萤火虫xi的邻域集Ni(t);第t次迭代时第i个萤火虫xi的位置为xi(t);
步骤3.2、荧光素更新阶段:
步骤3.2.1、通过式(1)计算第t次迭代时第i个萤火虫xi的适应度函数值J(xi(t)):
J(xi(t))=-(frac(xi(t))-d1)(1)
步骤3.2.2、通过公式(2)计算第t+1次迭代时第i个萤火虫xi的荧光素值li(t+1):
li(t+1)=(1-ρ)×li(t)+γ×J(xi(t))(2)
式(2)表示将第i个萤火虫xi在第t次迭代的位置xi(t)对应的适应度函数值J(xi(t))转换为荧光素值li(t+1);
步骤3.3、萤火虫个体位置更新阶段:
步骤3.3.1、利用式(3)获得第t次迭代时第i只萤火虫xi与第j只萤火虫为xj在第k位上的距离j=1,2,…n,i≠j:
D k t ( i , j ) = 1 x j k ( t ) - x i k ( t ) ≠ 0 0 x j k ( t ) - x i k ( t ) = 0 - - - ( 3 )
步骤3.3.2、利用式(4)计算第t次迭代时第i个萤火虫xi到第j只萤火虫之间的海明距离Dt(i,j):
D t ( i , j ) = Σ k = 1 d | D k t ( i , j ) | - - - ( 4 )
步骤3.3.3、在第i个萤火虫xi的动态决策域半径内,选择荧光素值比自己大的所有个体构成第t次迭代时第i个萤火虫xi的邻域集Ni(t);且所述邻域集Ni(t)中萤火虫总数表示为|Ni(t)|,
步骤3.3.4、通过式(5)计算第t次迭代时第i个萤火虫xi移向邻域集内Ni(t)中第s个萤火虫xs的概率pis(t):
p i s ( t ) = l s ( t ) - l i ( t ) Σ v = 1 | N i ( t ) | l v ( t ) - l i ( t ) - - - ( 5 )
式(3)表示第t次迭代时第i个萤火虫xi移向具有最大概率的第s个萤火虫xs;s=1,2.…|Ni(t)|、v=1,2.…|Ni(t)|;
步骤3.3.5、利用式(6)获得第i个萤火虫xi在第k位的位移Mik
Mik=μ×c×r×(xsk-xik)(6)
式(4)中,μ为移动步长;c为学习因子;r为[0,1]区间的随机数;
步骤3.3.6、利用式(7)和式(8)所示的sigmoid函数获得第i个萤火虫xi在第k位取“1”的概率S(Mik),从而在解空间内进行全局搜索:
S ( m i k ) = 1 1 + exp ( - M i k ) - - - ( 7 )
x i k = 1 i f r a n d ( ) ≤ S ( M i k ) 0 o t h e r w i s e - - - ( 8 )
步骤3.3.7、利用式(7)和式(8)所示的改进sigmoid函数获得第i个萤火虫xi在第k位取“1”的概率S′(Mik),从而在解空间内进行局部搜索:
S ′ ( M i k ) = 2 × | 1 1 + exp ( - M i k ) - 0.5 | - - - ( 9 )
x i k = 0 i f r a n d ( ) ≤ S ′ ( M i k ) x i k o t h e r w i s e x i k = 1 i f r a n d ( ) ≤ S ′ ( M i k ) x i k o t h e r w i s e - - - ( 10 )
步骤3.4、动态决策域更新阶段:
利用式(11)获得第t+1次迭代时第i个萤火虫xi的动态决策域半径
r d i ( t + 1 ) = m i n { θ , m a x { 0 , r d i ( t ) + β × ( ω - | N i ( t ) | ) } } - - - ( 11 )
步骤4、输出最优解:
判断t+1>Nmax是否成立,若成立,则算法结束,输出最优属性子集;否则,将t+1赋值给t,并返回步骤3顺序执行。
3.根据权利要求1所述的基于二进制萤火虫算法的属性选择方法,其特征是,步骤3.3的萤火虫个体位置更新阶段中还包括:
当所获得的第t次迭代时第i个萤火虫xi的位置xi(t)={xi1(t),xi2(t),…,xik(t),…,xid(t)}中取值为“1”的个数不为m时,则表示第i个萤火虫xi的位置xi(t)为不可行解;并随机分配包含m个“1”的d维二进制串作为第t次迭代时的初始解。
4.根据权利要求1所述的基于二进制萤火虫算法的属性选择方法,其特征是,步骤3.3的萤火虫个体位置更新阶段中还包括:
定义局部与全局搜索平衡因子为
时,利用式(5)和式(6)在解空间内进行全局搜索;
时,利用式(7)和式(8)在解空间内进行局部搜索。
CN201610157896.3A 2016-03-17 2016-03-17 一种基于二进制萤火虫算法的属性选择方法 Pending CN105824937A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610157896.3A CN105824937A (zh) 2016-03-17 2016-03-17 一种基于二进制萤火虫算法的属性选择方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610157896.3A CN105824937A (zh) 2016-03-17 2016-03-17 一种基于二进制萤火虫算法的属性选择方法

Publications (1)

Publication Number Publication Date
CN105824937A true CN105824937A (zh) 2016-08-03

Family

ID=56523559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610157896.3A Pending CN105824937A (zh) 2016-03-17 2016-03-17 一种基于二进制萤火虫算法的属性选择方法

Country Status (1)

Country Link
CN (1) CN105824937A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106846269A (zh) * 2017-01-05 2017-06-13 南京信息工程大学 基于dna萤火虫优化的盲均衡与图像盲恢复方法
CN106991283A (zh) * 2017-03-31 2017-07-28 电子科技大学 一种基于分形技术的病案库构建方法
CN107219858A (zh) * 2017-04-26 2017-09-29 西北工业大学 一种改进萤火虫算法的多无人机协同耦合任务分配方法
CN116662859A (zh) * 2023-05-31 2023-08-29 西安工程大学 非遗文化数据特征选择方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106846269A (zh) * 2017-01-05 2017-06-13 南京信息工程大学 基于dna萤火虫优化的盲均衡与图像盲恢复方法
CN106991283A (zh) * 2017-03-31 2017-07-28 电子科技大学 一种基于分形技术的病案库构建方法
CN106991283B (zh) * 2017-03-31 2020-07-17 电子科技大学 一种基于分形技术的病案库构建方法
CN107219858A (zh) * 2017-04-26 2017-09-29 西北工业大学 一种改进萤火虫算法的多无人机协同耦合任务分配方法
CN116662859A (zh) * 2023-05-31 2023-08-29 西安工程大学 非遗文化数据特征选择方法
CN116662859B (zh) * 2023-05-31 2024-04-19 西安工程大学 非遗文化数据特征选择方法

Similar Documents

Publication Publication Date Title
Haixiang et al. BPSO-Adaboost-KNN ensemble learning algorithm for multi-class imbalanced data classification
Liu et al. Uncertainty and confidence in land cover classification using a hybrid classifier approach
Zhuo et al. A genetic algorithm based wrapper feature selection method for classification of hyperspectral images using support vector machine
Lobato et al. Multi-objective genetic algorithm for missing data imputation
CN103116762B (zh) 一种基于自调制字典学习的图像分类方法
CN104298873B (zh) 一种基于遗传算法和粗糙集的属性约简方法及精神状态评估方法
CN107578061A (zh) 基于最小化损失学习的不平衡样本分类方法
CN105824937A (zh) 一种基于二进制萤火虫算法的属性选择方法
CN102542288B (zh) 一种高光谱数据多特征空间构建与融合分类方法
Yang et al. Variational co-embedding learning for attributed network clustering
CN104199923B (zh) 基于最优k均值哈希算法的大规模图像库检索方法
Miranda et al. A hybrid meta-learning architecture for multi-objective optimization of SVM parameters
CN109165672A (zh) 一种基于渐进式学习的集成分类方法
Sefidian et al. Estimating missing data using novel correlation maximization based methods
CN104794496A (zh) 一种改进mRMR算法的遥感特征优选算法
Khodadadi et al. BAOA: binary arithmetic optimization algorithm with K-nearest neighbor classifier for feature selection
CN104268629A (zh) 一种基于先验信息和网络固有信息的复杂网络社区检测方法
Hanczar Performance visualization spaces for classification with rejection option
CN103903072A (zh) 一种基于决策者偏好的高维多目标集合进化优化方法
Xiong et al. Recursive learning for sparse Markov models
Utkin et al. A new adaptive weighted deep forest and its modifications
Hoxha et al. Prediction of transportation energy demand in Türkiye using stacking ensemble models: Methodology and comparative analysis
Sainin et al. Ensemble meta classifier with sampling and feature selection for data with imbalance multiclass problem
CN105740949A (zh) 一种基于随机性best策略的群体全局优化方法
Kalifullah et al. Retracted: Graph‐based content matching for web of things through heuristic boost algorithm

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160803