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

文档序号:10471228阅读:308来源:国知局
一种基于二进制萤火虫算法的属性选择方法
【专利摘要】本发明公开了一种基于二进制萤火虫算法的属性选择方法,其特征按如下步骤进行:步骤1、利用分形维数盒计法计算高维数据集的分形维数,获得的所要选择属性的个数;步骤2、初始化萤火虫种群;步骤3、利用二进制萤火虫算法对高维数据集的多个属性进行选择,获得最优属性子集;步骤4、输出最优解。本发明使用二制萤火虫算法作为属性选择的搜索策略,以分形维数作为属性选择评估度量准则,从高维数据集的多个指标属性中选择一个较优的属性子集,这样能够降低数据处理的复杂性,提高数据处理的效率,从而满足解决实际问题的需要。
【专利说明】
-种基于二进制董火虫算法的属性选择方法
技术领域
[0001] 本发明设及数据挖掘与模式识别中的数据预处理领域,具体的说是一种基于二进 制蛋火虫算法的属性选择方法。
【背景技术】
[0002] 数据挖掘(Data Mining)指从海量的数据中通过一系列复杂的算法探索隐藏于数 据中的有效信息的行为,而数据的高维性和多属性会影响数据挖掘的性能。因此,需要对高 维数据集进行降维预处理,从而提高数据挖掘的效率。所谓数据降维就是按照一定的准则 从原始数据集的属性集中选取一个最具代表性的属性子集,又称属性选择。属性选择是W 属性变量与目标属性之间的相关关系及冗余关系测度为基础,根据事先设定的属性评估标 准或评估函数来选择数据挖掘模型所需的输入属性。属性选择的关键在于评估度量和捜索 策略运两方面。
[0003] 现有的经典属性选择算法主要从两个角度进行考虑:其一,侧重属性选择的评估 度量准则研究。Inbarani H,Arafat Η及Jing S Y等人将粗糖集理论作为待选属性子集的 评估度量准则来解决属性选择问题。随着分形理论的发展,分形维数作为评估度量准则,并 证明其有效性与可行性。其中,Traina C首次提出将分形维数应用到属性选择问题中; Camastra F研究表明所选属性子集的分形维数越接近于原始数据集的分形维数,其分类准 确率越高;Banati Η验证分形维数作为待选属性子集的评估度量准则的有效性与可行性; 其二,侧重于属性选择的捜索策略研究,具有代表性的有遗传算法及各种群智能算法。Jing S Y提出采用混合遗传算法作为属性选择捜索策略,Arafat Η与倪丽萍等提出W蚁群算法 作为属性选择捜索策略,Inbarani Η将粒子群算法作为捜索策略,化Υ,Ding L等人采用蜂 群算法作为捜索策略等。采不同的捜索策略算法导致选择的属性子集不同,其相应的分类 准确率就存在不同的差异。
[0004] 然而上述属性选择算法存在如下缺陷:
[0005] (1)使用粗糖集理论作为待选属性子集的评估度量准则,属性约简率较低,其时间 计算复杂度较高;
[0006] (2)遗传算法在寻优过程中,对初始种群的选择具有一定的依赖性,初始种群的选 择会影响优化的速度和性能,其他各种群智能算法易陷入局部最优,其收敛性难W确定,并 且遗传算法的时间复杂度较高。

【发明内容】

[0007] 本发明为克服现有技术存在的不足之处,提出一种基于二进制蛋火虫算法的属性 选择方法,W期能使用离散型蛋火虫算法二制蛋火虫算法作为属性选择的捜索策略,W分 形维数作为属性选择评估度量准则,从高维数据集的多个属性中选择一个具有代表性的属 性子集,从而能提高数据处理的效率,降低时间复杂度。
[000引为解决上述技术问题,本发明所采用的技术方案是:
[0009] 本发明一种基于二进制蛋火虫算法的属性选择方法的特点是按如下步骤进行:
[0010] 步骤1、利用分形维数盒计法计算维度为d的高维数据集的分形维数,获得的计算 结果山,并向上取整后作为选择属性的个数m ;m<d;
[0011] 步骤2、初始化蛋火虫种群X;
[0012]初始化第i 只蛋火虫为Xi,并有Xi = (Xii,Xi2,.. ·,Xik,.. ·,Xid),i = 1,2,.. .η; Xi读示 第i只蛋火虫的第k位;并有X化=1表示第i只蛋火虫的第k个属性被选择;并有X化=0表示第 i只蛋火虫的第k个属性未被选择;且
从而初始化蛋火虫种群X={X1,X2,···, 义1,一,^};^第1只蛋火虫为义1作为属性选择的第1个解;
[0013] 定义第i只蛋火虫XI的巧光素挥发因子为P、巧光素更新率为丫、动态决策域更新 率为β、感知半径为Θ、邻域集内包含的蛋火虫数目的阔值为ω、初始巧光素值为li(〇)、初始 动态决策域半径为/別0)、初始位置为xi(〇) = {xii(O),xi2(0),…,xik(O),…,xid(O)};
[0014] 步骤3、在所述高维数据集上利用二进制蛋火虫算法对d个属性进行选择,获得由m 个属性构成的最优属性子集。
[0015] 本发明所述的基于二进制蛋火虫算法的属性选择方法的特点也在于,
[0016] 所述步骤3是按如下过程进行:
[001 7]步骤3.1、定义迭代次数为t、最大迭代次数Nmax ;
[0018] 初始化t = 0;则第t次迭代时第i个蛋火虫xi的巧光素值为li(t)、第t次迭代时第i 个蛋火虫XI的动态决策域半径为新句、第t次迭代时第i个蛋火虫XI的邻域集Ni(t);第t次迭 代时第i个蛋火虫XI的位置为xi(t);
[0019] 步骤3.2、巧光素更新阶段:
[0020] 步骤3.2.1、通过式(1)计算第t次迭代时第i个蛋火虫XI的适应度函数值J(Xi(t)):
[0021] J(xi(t))=-(打 ac(xi(t) )-di) (1)
[0022] 步骤3.2.2、通过公式(2)计算第*+1次迭代时第1个蛋火虫义1的巧光素值11(*+1):
[0023] li(t+l) = (l-p) Xli(t)+y XJ(xi(t)) (2)
[0024] 式(2)表示将第i个蛋火虫xi在第t次迭代的位置xi(t)对应的适应度函数值J(xi (t))转换为巧光素值li(t+l);
[0025] 步骤3.3、蛋火虫个体位置更新阶段:
[00%]步骤3.3.1、利用式(3)获得第t次迭代时第i只蛋火虫XI与第j只蛋火虫为Xj在第k 位上的距离巧(7 J),j = 1,2,.. .η,i辛j:
[0027]
贷)
[0028] 步骤3.3.2、利用式(4)计算第t次迭代时第i个蛋火虫XI到第j只蛋火虫之间的海 明距离Dt(iJ):
[0029]
(4)
[0030] 步骤3.3.3、在第i个蛋火虫XI的动态决策域半径/:;(〇内,选择巧光素值比自己大的 所有个体构成第t次迭代时第i个蛋火虫XI的邻域集Ni(t);且所述邻域集Ni(t)中蛋火虫总 数表示为 |Ni(t)|,0</;;(〇<^;
[0031]步骤3.3.4、通过式(5)计算第t次迭代时第i个蛋火虫Xi移向邻域集内Ni(t)中第s 个蛋火虫Xs的概率Pis(t):
[00创

[0033] 式(3)表示第t次迭代时第i个蛋火虫xi移向具有最大概率的第S个蛋火虫xs;s = l, 2..-.|Ni(t)|、v=l,2..-.|Ni(t)| ;
[0034] 步骤3.3.5、利用式(6)获得第i个蛋火虫xi在第k位的位移Mik:
[0035] Μ化= yXcXrX (Xsii-Xik) (6)
[0036] 式(4)中,μ为移动步长;c为学习因子;r为[0,1]区间的随机数;
[0037] 步骤3.3.6、利用式(7)和式(8)所示的sigmoid函数获得第i个蛋火虫XI在第k位取 "Γ的概率S(Mik),从而在解空间内进行全局捜索:
[0040]步骤3.3.7、利用式(7)和式(8)所示的改进sigmoid函数获得第i个蛋火虫XI在第k 位取"Γ的概率S/(Mik),从而在解空间内进行局部捜索:
[0043] 步骤3.4、动态决策域更新阶段:
[0044] 利用式(11)获得第t+1次迭代时第i个蛋火虫XI的动态决策域半径;:冶+ 1):
[0045]
(11)
[0046] 步骤4、输出最优解:
[0047] 判断t+l>Nmax是否成立,若成立,则算法结束,输出最优属性子集;否则,将t + 1赋 值给t,并返回步骤3顺序执行。
[004引步骤3.3的蛋火虫个体位置更新阶段中还包括:
[0049] 当所获得的第t次迭代时第i个蛋火虫xi的位置xi(t) = {xii(t),Xi2(t),…,xik (t),…,xid(t)}中取值为"Γ的个数不为m时,则表示第i个蛋火虫xi的位置xi(t)为不可行 解;并随机分配包含m个"Γ的d维二进制串作为第t次迭代时的初始解。
[0050] 步骤3.3的蛋火虫个体位置更新阶段中还包括:
[0化1] 定义局部与全局捜索平衡因子为('):^^^|^),!;:
[0052] 当时,利用式(5)和式(6)在解空间内进行全局捜索;
[0053] 当心口 χΛ?肘,利用式(7)和式(8)在解空间内进行局部捜索。
[0054] 与已有技术相比,本发明的有益效果体现在:
[0055] 1、本发明将离散型二进制蛋火虫算法应用于属性选择中,使用二进制蛋火虫算法 作为属性选择捜索策略,W分形维数作为属性选择评估度量准则,降低了数据处理的复杂 性,提高了数据处理的效率,从而满足了解决实际问题的需要。
[0056] 2、本发明借鉴海明距离的思想计算蛋火虫个体间的距离:将属性选择看作是离散 组合优化问题,其解向量中仅含有〇,1两个值,重新定义了海明距离来度量蛋火虫个体间的 距离,即两个等长字符串对应位置的字符不同的个数,克服了传统的欧式距离不适合计算 蛋火虫个体间距离的问题。
[0057] 3、本发明借鉴化6'}1曰的和1(611116(17的离散二进制粒子群算法的速度与位置更新思 想,提出一种基于二进制编码的新型离散型的蛋火虫算法,将蛋火虫进行二进制编码,重新 定义了蛋火虫个体位移方式,并引入sigmoid函数将个体位移值映射到[0,1]区间,即将个 体位移的值转换为蛋火虫个体相应二进制位取1的概率,W此作为蛋火虫个体的位置更新 策略,从而能保证了算法的效率及收敛性。
[0058] 4、本发明可W对不可行解进行修正:在每次迭代中解更新后某些二进制蛋火虫编 码串有可能偏离可行解,即二进制串中"Γ的个数不等于m,其成为不可行解。对于运种情 况,可W在一个循环迭代结束后,对所有非可行解重新随机分配初始解,即对每个非可行解 随机分配包含m个"Γ'的d维二进制串,运样使得每一次循环迭代都能保证捜索空间中的解 均为可行解,保证了种群多样性,同时提高了捜索效率。
[0059] 5、本发明能解决算法早熟问题:对于领域集Ni(t)的个体进行局部捜索,采用改进 sigmoid概率映射函数,算法会很快收敛于局部最优解。为了避免算法早熟,陷入局部最优 解,根据启发式算法原理,算法初始应该进行全局捜索,后期需要增强局部捜索能力,所W, 解决算法早熟问题,需要先采用sigmoid概率映射函数进行全局捜索,再利用改进sigmoid 概率映射函数进行局部捜索。运样既保证了算法的全局收敛性,又避免了算法陷入局部最 优解。
【附图说明】
[0060] 图1为现有技术中Sigmoid概率映射函数图;
[0061 ]图2为本发明位移与位变化概率之间关系图;
[0062] 图3为本发明深入分析位变化的概率与位移之间的关系图;
[0063] 图4为本发明改进Sigmoid概率映射函数图。
【具体实施方式】
[0064] 本实施例中,一种基于二进制蛋火虫算法的属性选择方法,是将离散型二进制蛋 火虫算法应用于属性选择中,并按如下步骤进行:
[0065] 步骤1、利用分形维数盒计法计算维度为d的高维数据集的分形维数,获得的计算 结果山,并向上取整后作为选择属性的个数m ;m<d;
[0066] -个数据集通常包含嵌入维与分形维等两个维度,其中,嵌入维又称欧氏维,它是 指数据点所嵌入的欧氏空间的维数,即数据集中包含属性指标的个数;本征维亦称分形维, 它反映表达一个数据集所需要的关键属性指标个数。在现实应用中,一般用分形维数来近 似数据集的本征维数,分形维数的上界即数据集中关键属性的个数。属性选择是W属性变 量与目标属性之间的相关关系及冗余关系测度为基础,根据事先设定的属性评估标准或评 估函数来选择数据挖掘模型所需的输入属性,因此,属性选择的关键在于评估度量和捜索 策略运两方面。同时根据所要处理的数据集,利用分形维数盒计法计算数据的分形维数,假 设计算出原始数据集的分形维数为山,则最优属性子集所包含的属性个数为w =「4]。
[0067]步骤2、初始化蛋火虫种群X;
[00側初始化第i只蛋火虫为Xi,并有Xi = (Xii, Xi2,…,Xik,· · ·,Xid),i = 1,2,…η; X化表示 第i只蛋火虫的第k位;并有X化=1表示第i只蛋火虫的第k个属性被选择;并有X化=0表示第 i只蛋火虫的第k个属性未被选择;且
从而初始化蛋火虫种群X={X1,X2,···, Xi,···,Xn} ; W第i只蛋火虫为Xi作为属性选择的第i个解;
[0069] 假设一个蛋火虫种群中有η个蛋火虫,第i个蛋火虫个体记为xi,i = l,···,n,并有XI = [xii,xi2,…,Xik,…,Xid],其中X化化=1,2,…d)在解向量中所处位置与数据集中属性的 序号相对应,如^=(0,0,0,0,1,0,1,0,0,1),表示原始数据集中第5、7、10位属性是被选中 的,构成一个候选属性子集,其中d = 10,m=3。
[0070] 使用随机函数对第i个蛋火虫Xi的初始位置Xi(0) = Ixii(O),xi2(0),…,xik(0),…, Xid(o)}进行设置,对d维解向量中随机分配为m个1使之成为可行解,该设置方法具有较大随 机性W体现算法不依赖初始值设定,运样可满足初始解的多样性,又可提高算法的精度。同 时,若第t次迭代后第i个蛋火虫XI的位置成为不可行解,则对所有非可行解重新随机分配 初始解,即对每个非可行解随机分配包含m个"Γ的d维二进制串,运样使得每一次循环迭代 都能保证捜索空间中的解均为可行解。
[0071] 二进制蛋火虫的每位的取值为1或0,分别表示该相应属性被选择或者不被选择; 该方法克服了传统的连续型蛋火虫算法无法解决离散组合优化问题,而且运样二进制蛋火 虫编码对属性选择问题的表述简单直观,并且降低了计算的复杂度,提高了数据处理的效 率。
[0072] 步骤3、在所述高维数据集上利用二进制蛋火虫算法对d个属性进行选择,获得由m 个属性构成的最优属性子集。
[0073] 其中,步骤3是按如下过程进行:
[0074] 步骤3.1、定义迭代次数为t、最大迭代次数Nmax ;
[0075] 初始化t = 0;则第t次迭代时第i个蛋火虫XI的巧光素值为li(t)、第t次迭代时第i 个蛋火虫χι的动态决策域半径为/;;(/)、第t次迭代时第i个蛋火虫xi的邻域集Ni(t);第t次迭 代时第i个蛋火虫xi的位置为xi(t);
[0076] 步骤3.2、巧光素更新阶段:
[0077] 步骤3.2.1、通过式(1)计算第t次迭代时第i个蛋火虫XI的适应度函数值J(xi(t)):
[007引 J(xi(t))=-(打 ac(Xi(t))-di) (1)
[0079]步骤3.2.2、通过公式(2)计算第*+1次迭代时第1个蛋火虫^1的巧光素值11(*+1):
[0080] li(t+l) = (l-p) Xli(t)+y XJ(xi(t)) (2)
[0081] 式(2)表示将第i个蛋火虫xi在第t次迭代的位置xi(t)对应的适应度函数值J(xi (t))转换为巧光素值li(t+l);
[0082] 适应度函数的定义:已知数据集的嵌入维数为d,分形维数为di,对其进行属性选 择,得到一个原数据集的最优属性子集,其分形维数与原始数据集的分形维数山差值最小, 该属性子集包含的属性指标个数为说=「41,可定义适应度函数为:j(xi(t)) = (frac(xi (t))-di),其中,打ac(xi(t))表示第i只蛋火虫得到的属性子集分形维数。由于蛋火虫XI在 领域中向比自己巧光素比较大的蛋火虫Xj移动,而其适应度函数值为分形维数与原始数据 集的分形维数山差值最小,因此J(Xi(t))不适宜作为目标函数,需将其加 W改进,如式(1)所 示:
[0083] 步骤3.3、蛋火虫个体位置更新阶段:
[0084] 步骤3.3.1、利用式(3)获得第t次迭代时第i只蛋火虫XI与第j只蛋火虫为xj在第k 位上的距离巧(/,./) :,j = 1,2,.. .η,i 辛 j:
[0085]

[0086] 步骤3.3.2、利用式(4)计算第t次迭代时第i个蛋火虫XI到第j只蛋火虫之间的海 明距离Dt(iJ):
[0087]
(4)
[0088] 由于解向量中仅含有0,1两个值,采用汉明距离来度量蛋火虫个体间的距离,即两 个等长字符串对应位置的字符不同的个数,克服了传统的欧式距离不适合计算蛋火虫个体 间距离的问题。
[0089] 步骤3.3.3、在第i个蛋火虫xi的动态决策域半径/別0内,选择巧光素值比自己大 的所有个体构成第t次迭代时第i个蛋火虫XI的邻域集Ni(t);且所述邻域集Ni(t)中蛋火虫 总数表示为|Ni(t)|,0</^;的< 软;
[0090] 领域感知半径的确定:二进制蛋火虫算法中初始感知半径Θ与种群规模n,二进制 蛋火虫编码长度d及邻域集蛋火虫数目阔值ω有着密切的关系。若种群规模η与蛋火虫编码 长度加角定时,则当ω值变大时,领域感知半径Θ也随之也变大。根据个体间距离公式(1)与 (2)可知,两个个体间最大距离为d。因此,本文中的领域感知半径Θ及邻域集蛋火虫数目阔 值ω确定为:
[0091] 步骤3.3.4、通过式(5)计算第t次迭代时第i个蛋火虫XI移向邻域集内Ni(t)中第S 个蛋火虫Xs的概率Pis(t):
[0092]
(5)
[0093] 式(3)表示第t次迭代时第i个蛋火虫XI移向具有最大概率的第S个蛋火虫xs;s = l, 2....|Ni(t)|、v=l,2....|Ni(t)| ;
[0094] 步骤3.3.5、利用式(6)获得第i个蛋火虫xi在第k位的位移Mik:
[0095] Μ化= yXcXrX (Xsk-Xik) (6)
[0096] 式(4)中,μ为移动步长;c为学习因子;r为[0,1]区间的随机数;
[0097] 步骤3.3.6、利用式(7)和式(8)所示的sigmoid函数(其函数图像如图1所示)获得 第i个蛋火虫XI在第k位取"Γ的概率S(Mik),从而在解空间内进行全局捜索:
[0100] 运里S(Mik)为位移Xik取1的概率,蛋火虫个体则通过公式(8)改变自身的值,其中 randO是从[0,1]的统一分布中产生的一个随机值,由于randO需要与S(Mik)进行比较来确 定Xik的取值。参考相关文献定义一个最大位移值Mmax来限制Mik的范围,通常Mik的取值范围 为[-6,6 ],对位移的限制也就是限制了二进制位取0或1的概率,相应概率限制在[0.0025, 0.9975]。
[0101] 由公式(7)概率映射函数可知二进制蛋火虫移动轨迹是一种概率变化,而二进制 编码的蛋火虫单维位移转换为位取1的概率。由于二进制位取值情况只有0和1两种情况,若 蛋火虫i第k位为1的概率为S(Mik),则位为0概率就是l-S(Mik)。若当前二进制位的值是1,则 其发生改变的概率就是l-S(Mik)。;若当前二进制位的值是0,则其发生改变的概率就是S(Mik)。 所W位发生变化的绝对概率如公式P( Ω ) = S(Mik)(l-S(Mik))所示,其表示为二进制位给定 一个位移Mik值,其发生变化的绝对概念。因此,Mik值变化就是二进制位变化的概率变化。将 公式(7)代入到公式P( Ω ) = S(Mik)(l-S(Mik))可得
其表示二进制位的位移与位的变化绝对概率之间的关系,其关系图如图2所示:由图2可知 当二进制位位移为0时,位变化的绝对概率值最大为0.25。但运种分析结果不够全面和客 观,因为二进制位变化不仅与位移及当前值有关,而且还会受到上一代位值的影响。因此需 对蛋火虫二进制位进行深入分析,设Mik(t)为第i只蛋火虫的第t代在k维的位移,第t代二进 制位为1的概率为S(Mik(t)),则位为0概率是l-S(Mik(t))。另外,若第t-1代位值是0,则第t 将发生改变的概率为S(Mik(t));同理,若第t-1代位值是1,则第t代将发生改变概率为1-S (Mik(t))。因为第t-1代位值为0的概率是l-S(Mik(t-l)),第t-1代位值为1的概率亦是S(Mik (*-1))。可知第*代二进制位发生变化的绝对概率9(〇就为:9(〇 = (1-5(1^^(*-1)))5(111^ (t))+S(Mik(t-l))(l-S(Mik(t)))。假设 Mik(t)=Mik(t-l),则得公式:p(t) = 2(l-S(Mik(t))) S(Mik(t)),将公式(7)代入公式p(t) = 2( l-S(Mik(t) ) )S(Mik(t))得公式:
,其表示二进制位变化的概率与位移的关 系,如图3所示,图中抛物线的最高点在位移Mik(t)为0时,最大值为0.5。运也就表示蛋火虫 的位发生改变的概率为0.5。故当蛋火虫的位置都收敛到全局最优位置,蛋火虫的二进制位 改变概率为0.5,达到了位变化概率的最高值。由此可W得到运样的结论:属性选择算法的 蛋火虫不可能收敛于全局最优值,若其收敛到全局最优值,则其位移为ο,运反而二进制位 发生变化率最大,即为0.5。此时,具有随机性更强的捜索,故算法具有全局性,其随机性更 强,不具有全局收敛性。运应该就是算法的缺点,需要通过修正蛋火虫位移与二进制位改变 之间的关系来克服运个缺陷。
[0102]步骤3.3.7、利用式(7)和式(8)所示的改进sigmoid函数(其函数图像如图4所示) 获得第i个蛋火虫XI在第k位取"Γ的概率S(Mik),从而在解空间内进行局部捜索:
[010引由位移公式Mik = yXcXrX (Xsk-Xik)可知,Xsk-X化的可能取值为一1,0和1,其中0 表示Xsk与X化位的值相等;一1表示Xsk为0,而X化的值为1; 1表示Xsk为1,而X化的值为0。因此, 位移Mik的值可W理解为,当位移为0时,意味着领域最优蛋火虫和自身位置相等,二进制位 不需要变化;而当位移为负时,领域最优蛋火虫位置可能为0,而当前蛋火虫的二进制位可 能为1,故二进制位需要最大可能转变为0;而位移为正,领域内最优蛋火虫位置可能为1,而 蛋火虫的二进制位可能为0,故二进制位最大可能转换为1。为了让蛋火虫位移与二进制位 变化的关系上面分析一致,对公式(7)进行修正,当蛋火虫位移为0,期望新的概率映射函数 值为0,即体现其收敛性;当位移小于0与大于加寸,概率映射函数为偶函数,则映射函数关于 Y轴对称,现对位移与概率映射函数修改为公式(9),其函数图像如图4所示:
[0106] 运里S(mik)为位移Xik取1的概率,若采用sigmoid函数作为概率映射函数,则蛋火 虫个体通过公式(7)与(8)来改变自身的值,运样算法的全局捜索能力较强,但算法不易于 收敛;若采用改进sigmoid函数作为概率映射函数,则蛋火虫个体通过公式(9)与(10)来更 新自身的值,运样算法的局部捜索能力较强,但算法易于陷入局部最优解。由启发式的捜索 算法的原理可知,算法在初始时需要具有全局捜索能力,到了后期需要更强的局部捜索能 力。因此,方法将全局捜索与局部捜索结合起来,定义一个全局捜索与局部捜索平衡因子終, 其取值为[0,1]区间的实数,t为当前运行的迭代次数,Nmax为最大迭代次数。当t小于等于 知V·,。。时,算法采用公式(9)的概率映射函数,位更新机制采用公式(11);当t大于口W,。。、,算 法采用公式(10)概率映射函数,位更新机制采用公式(12)。经大量实验分析,.皆一般在[0.6- 0.引之间取值。
[0107] 经过步骤3.3后产生的解可能会出现解向量中元素为1个数不是m的情况,即出现 了不可行解,则对所有非可行解重新随机分配初始解,即对每个非可行解随机分配包含m个 "Γ的d维二进制串,运样使得每一次循环迭代都能保证捜索空间中的解均为可行解,保证 了种群的多样性,提高捜索效率。
[0108] 步骤3.4、动态决策域更新阶段:
[0109] 利用式(11)获得第t+1次迭代时第i个蛋火虫XI的动态决策域半径均'(/ + 1);
[0110] +1) = min.供max(0 + /?x(似} (II)
[0111] 采用自适应动态决策域半径,可W根据邻域集内的蛋火虫数目来调节决策域半 径,若邻域集内的蛋火虫数目小于阔值,则增大决策域半径,扩大捜索范围,避免陷入局部 最优;若邻域集内的蛋火虫数目大于阔值,则减小决策域半径,缩小捜索范围,提高收敛速 度。
[0112] 步骤4、输出最优解:
[0113] 判断t+l>Nmax是否成立,若成立,则算法结束,输出最优属性子集;否则,将t + 1赋 值给t,并返回步骤3顺序执行。
[0114] 利用10个UCI标准数据集对提出的属性选择算法进行实验验证,结合10-fold交叉 验证和SVM对属性选择前后的分类准确率进行分析,并进行捜索策略和评估度量准则间的 性能对比及详细的参数分析,实验结果表明该方法具有较高的可行性和有效性。
【主权项】
1. 一种基于二进制萤火虫算法的属性选择方法,其特征是按如下步骤进行: 步骤1、利用分形维数盒计法计算维度为d的高维数据集的分形维数,获得的计算结果 di,并向上取整后作为选择属性的个数 步骤2、初始化萤火虫种群X; 初始化第i只萤火虫为xi,并有xi = (xu,xi2,…,xik,…,xid),i = 1,2,…η;xik表示第i只 萤火虫的第k位;并有xik=l表示第i只萤火虫的第k个属性被选择;并有xik = 0表示第i只萤 火虫的第k个属性未被选择;;从而初始化萤火虫种群X= {xi,X2,···,xi,···,xn}; 以第i只萤火虫为Xl作为属性选择的第i个解; 定义第i只萤火虫xi的荧光素挥发因子为p、荧光素更新率为γ、动态决策域更新率为β、 感知半径为Θ、邻域集内包含的萤火虫数目的阈值为ω、初始荧光素值为li(0)、初始动态决 策域半径为心〇)、初始位置为xi(〇) = Uii(〇),xi2(〇),…,xik(O),…,xid(O)}; 步骤3、在所述高维数据集上利用二进制萤火虫算法对d个属性进行选择,获得由m个属 性构成的最优属性子集。2. 根据权利要求1所述的基于二进制萤火虫算法的属性选择方法,其特征是所述步骤3 是按如下过程进行: 步骤3.1、定义迭代次数为t、最大迭代次数Nmax; 初始化t = 0;则第t次迭代时第i个萤火SXl的焚光素值为h(t)、第t次迭代时第i个萤 火虫xi的动态决策域半径为你)、第t次迭代时第i个萤火虫Xi的邻域集Ni(t);第t次迭代时 第i个萤火虫xi的位置为&(1:); 步骤3.2、荧光素更新阶段: 步骤3.2.1、通过式(1)计算第t次迭代时第i个萤火虫^的适应度函数值J(Xl(t)): J(xi(t))=-(frac(xi(t))-di) (1) 步骤3.2.2、通过公式(2)计算第1+1次迭代时第1个萤火虫11的荧光素值11(1+1): li(t+l) = (l-p) Xli(t)+y XJ(xi(t)) (2) 式(2)表示将第i个萤火虫^在第t次迭代的位置Xl(t)对应的适应度函数值J(Xl(t))转 换为荧光素值ii(t+i); 步骤3.3、萤火虫个体位置更新阶段: 步骤3.3.1、利用式(3)获得第t次迭代时第i只萤火虫xi与第j只萤火虫为xj在第k位上 的距离 A:0_,./),j = 1,2,...11,i 关 j :步骤3.3.2、利用式(4)计算第t次迭代时第i个萤火SXl到第j只萤火虫之间的海明距离步骤3.3.3、在第i个萤火*Χι的动态决策域半径rj(〇内,选择荧光素值比自己大的所有 个体构成第t次迭代时第i个萤火虫Xi的邻域集Ni(t);且所述邻域集Ni(t)中萤火虫总数表 示为 |Ni(t) |,() < "";(;〇< 沒.; 步骤3.3.4、通过式(5)计算第t次迭代时第i个萤火虫Xi移向邻域集内Ni(t)中第s个萤 火虫Xs的概率Pis(t):式(3)表示第t次迭代时第i个萤火虫Xi移向具有最大概率的第s个萤火虫^;8 = 1,2.- |Ni(t) |、v=l,2···· |Ni(t) | ; 步骤3.3.5、利用式(6)获得第i个萤火虫Xi在第k位的位移Mik: Mik=yXcXrX (xsk-xik) (6) 式(4)中,μ为移动步长;c为学习因子;r为[0,1]区间的随机数; 步骤3.3.6、利用式(7)和式(8)所示的sigmoid函数获得第i个萤火SXl在第k位取"Γ的 概率S(Mlk),从而在解空间内进行全局搜索:步骤3.3.7、利用式(7)和式(8)所示的改进sigmoid函数获得第i个萤火虫^在第k位取 "Γ的概率f (Mlk),从而在解空间内进行局部搜索:步骤3.4、动态决策域更新阶段: 利用式(11)获得第t+Ι次迭代时第i个萤火虫Xi的动态决策域半径你+ ]):步骤4、输出最优解: 判断t+Ι >仏^是否成立,若成立,则算法结束,输出最优属性子集;否则,将t+Ι赋值给 t,并返回步骤3顺序执行。3.根据权利要求1所述的基于二进制萤火虫算法的属性选择方法,其特征是,步骤3.3 的萤火虫个体位置更新阶段中还包括: 当所获得的第t次迭代时第i个萤火虫Xi的位置Xi(t) = {xil(t),Xi2(t),…,Xik(t),···, Xld(t)}中取值为"Γ的个数不为m时,则表示第i个萤火虫^的位置Xl(t)为不可行解;并随 机分配包含m个"Γ的d维二进制串作为第t次迭代时的初始解。4.根据权利要求1所述的基于二进制萤火虫算法的属性选择方法,其特征是,步骤3.3 的萤火虫个体位置更新阶段中还包括: 定义局部与全局搜索平衡因子为W P e fOJ]: 当,利用式(5)和式(6)在解空间内进行全局搜索; 当〃 胃时,利用式⑴和式⑶在解空间内进行局部搜索。
【文档编号】G06F17/30GK105824937SQ201610157896
【公开日】2016年8月3日
【申请日】2016年3月17日
【发明人】倪志伟, 李敬明, 张琛, 朱旭辉, 金飞飞, 伍章俊
【申请人】合肥工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1