CN116340839B - 基于蚁狮算法的算法选择方法及装置 - Google Patents
基于蚁狮算法的算法选择方法及装置 Download PDFInfo
- Publication number
- CN116340839B CN116340839B CN202310127816.XA CN202310127816A CN116340839B CN 116340839 B CN116340839 B CN 116340839B CN 202310127816 A CN202310127816 A CN 202310127816A CN 116340839 B CN116340839 B CN 116340839B
- Authority
- CN
- China
- Prior art keywords
- ant
- algorithm
- lion
- meta
- population
- 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.)
- Active
Links
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 324
- 241001206881 Myrmeleon inconspicuus Species 0.000 title claims abstract description 205
- 238000000034 method Methods 0.000 title claims description 67
- 230000010354 integration Effects 0.000 claims abstract description 25
- 230000002708 enhancing effect Effects 0.000 claims abstract description 19
- 238000010187 selection method Methods 0.000 claims abstract description 16
- 238000012549 training Methods 0.000 claims description 107
- 238000004364 calculation method Methods 0.000 claims description 71
- 241000282320 Panthera leo Species 0.000 claims description 51
- 238000011156 evaluation Methods 0.000 claims description 43
- 238000005457 optimization Methods 0.000 claims description 40
- 238000005295 random walk Methods 0.000 claims description 36
- 238000007635 classification algorithm Methods 0.000 claims description 25
- 241000256602 Isoptera Species 0.000 claims description 24
- 241000258923 Neuroptera Species 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 23
- 238000005070 sampling Methods 0.000 claims description 15
- 238000012360 testing method Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 4
- 241000257303 Hymenoptera Species 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 41
- 238000010586 diagram Methods 0.000 description 12
- 239000013598 vector Substances 0.000 description 9
- 230000003247 decreasing effect Effects 0.000 description 6
- 239000004973 liquid crystal related substance Substances 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000012804 iterative process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 208000001613 Gambling Diseases 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000004963 SAMO calculation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000011423 initialization method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种基于蚁狮算法的算法选择方法及装置,涉及计算机技术领域。包括:首先,构建初始蚂蚁种群,并计算每个蚂蚁个体对应的集成元算法的准确性和多样性以作为蚂蚁个体的适应度,然后通过适应度计算蚂蚁个体间的帕累托支配关系,选择蚂蚁中的帕累托解作为蚁狮从而构建初始蚁狮种群。然后,确定蚁狮种群中的精英蚁狮,并根据精英蚁狮,通过增强游走策略,生成新增蚂蚁种群。最后,迭代执行上述步骤,当满足迭代退出条件时,输出最后一次迭代得到的蚁狮种群以确定目标集成元算法,根据目标集成元算法,从备选算法中选择目标算法。在本发明中,通过选择性集成有效利用元算法的多样性,综合提升集成元算法的准确性和多样性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于蚁狮算法的算法选择方法及装置。
背景技术
在大数据时代背景下,利用数据进行分析和决策成了不同领域的重要工作,各种人工智能算法为此提供了不可忽视的助力。然而,不存在一个在所有问题上具备优越性能的“最优”算法。因此在不同的任务场景下,如何从大量可行方法中为给定任务选择满足需求的合适算法成了工程中的关键问题。
现有技术中,基于元学习的算法选择方法有灵活性高、适用范围广、计算成本低等优点,成了算法选择的主要方法。然而基于元学习的算法选择方法在元特征和元算法的选择和使用上仍存在扩展性较弱,多样性不足的问题。
发明内容
本发明实施例提供一种基于蚁狮算法的算法选择方法及装置,旨在解决或者部分解决上述背景技术中存在的问题。
为了解决上述技术问题,本发明是这样实现的:
第一方面,本发明实施例提供了一种基于蚁狮算法的算法选择方法,方法包括:
根据应用场景确定备选算法;
构建元数据集;
随机初始化多个蚂蚁个体,根据元数据集的元特征数量对蚂蚁个体进行混合编码,生成初始蚂蚁种群;
基于目标优化函数,对初始蚂蚁种群中的蚂蚁个体分别进行适应度计算,并根据蚂蚁个体的适应度计算结果,确定蚁狮种群;
确定蚁狮种群中的精英蚁狮,并根据精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群;
对新增蚂蚁种群中的个体分别进行适应度计算,然后将新增蚂蚁种群放入蚁狮种群,以实现对蚁狮种群的更新;
迭代执行根据适应度计算结果,确定更新后的蚁狮种群中的精英蚁狮,并根据精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群,将新增蚂蚁种群放入蚁狮种群,以实现对蚁狮种群的更新的步骤;
当满足迭代退出条件时,将最后一次迭代得到的蚁狮种群进行输出,得到集成元算法集合;
从集成元算法集合中选择目标集成元算法,并根据目标集成元算法,从备选算法中选择在应用场景中性能最好的算法。
可选地,构建元数据集的步骤包括:
对历史数据集进行特征提取,确定元特征的数量;
通过性能测度评估方法,产生历史数据集上的最优算法,其中,不同性能测度评估方法生成不同的最优算法;
以元特征为属性,以最优算法为标签形成元实例,并根据元实例构建元数据集。
可选地,通过性能测度评估方法,产生历史数据集上的最优算法的步骤包括:
确定性能测度评估方法的性能评价指标;
根据历史数据集,确定备选算法的性能评价指标数值;
将具有最优性能评价指标数值的备选算法,确定为最优算法。
可选地,初始蚂蚁种群中的每个蚂蚁个体对应一种集成元算法,根据元数据集的元特征数量对蚂蚁个体进行混合编码,生成初始蚂蚁种群的步骤包括:
将元数据集划分为训练元数据集和测试元数据集;
根据基分类器的数量,对训练元数据集进行自助法抽样,得到初始训练子数据集;
根据元特征的数量对蚂蚁个体进行离散型编码,并根据编码结果对初始训练子数据集进行元特征选择;
根据元特征的选择结果,对初始训练子数据集进行更新,得到第一训练子数据集;
根据基分类器的数量,对蚂蚁个体进行连续型编码,获得基分类器的权重编码,并根据基分类器的权重编码与选择阈值编码的大小关系,对第一训练子数据集进行更新,得到目标训练子数据集;
基于目标训练子数据集对基分类器进行训练,获得基分类器集合;
根据基分类器的权重编码生成基分类器集合的集成权重,并根据集成权重对基分类器进行集成,获得集成元算法。
可选地,目标优化函数包括第一目标函数和第二目标函数,基于目标优化函数,对初始蚂蚁种群中每个蚂蚁个体分别进行适应度计算,并根据适应度计算结果确定蚁狮种群的步骤包括:
将算法分类错误率最低确定为第一目标函数的优化方向;
将算法多样性指标值最优确定为第二目标函数的优化方向;
根据第一目标函数和第二目标函数,对每个蚂蚁个体分别进行适应度计算;
确定适应度计算结果相互之间的帕累托支配关系,剔除具有被支配关系的适应度计算结果对应的蚂蚁个体,并生成蚁狮种群。
可选地,根据第一目标函数和第二目标函数,对每个蚂蚁个体分别进行适应度计算的步骤包括:
根据第一目标函数,计算集成元算法的分类错误率;
根据第二目标函数,计算集成元算法的多样性指标值;
根据集成元算法的分类错误率和集成元算法的多样性指标值,确定集成元算法对应的蚂蚁个体的适应度。
可选地,确定蚁狮种群中的精英蚁狮,并根据精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群的步骤包括:
将对应的集成元算法的分类错误率最低的蚁狮个体,确定为准确性精英蚁狮,将对应的集成元算法的多样性指标值最优的蚁狮个体,确定为多样性精英蚁狮;
对蚁狮种群中每个蚁狮个体分别进行稀疏度计算;
根据蚁狮个体的稀疏度计算结果,通过轮盘赌方法从蚁狮种群中分别选择第一轮盘赌蚁狮和第二轮盘赌蚁狮;
围绕准确性精英蚁狮和第一轮盘赌蚁狮,并基于增强游走策略进行随机游走,生成第一新增蚂蚁个体;
围绕多样性精英蚁狮和第二轮盘赌蚁狮,并基于增强游走策略进行随机游走,生成第二新增蚂蚁个体;
根据第一新增蚂蚁个体和第二新增蚂蚁个体,生成新增蚂蚁种群。
可选地,对蚁狮种群中每个蚁狮个体分别进行稀疏度计算的步骤包括:
确定每个蚁狮个体对应的小生境范围;
将位于小生境范围内的其他蚁狮个体,确定为相邻蚁狮;
根据相邻蚁狮的数量,确定每个蚁狮个体的稀疏度。
本发明实施例第二方面提出一种基于蚁狮算法的算法选择装置,装置包括:
数据获取模块,用于根据应用场景确定备选算法;
编码模块,用于构建元数据集;
初始蚂蚁种群生成模块,用于随机初始化多个蚂蚁个体,根据元数据集的元特征数量对蚂蚁个体进行混合编码,生成初始蚂蚁种群;
蚁狮确定模块,用于基于目标优化函数,对初始蚂蚁种群中的蚂蚁个体分别进行适应度计算,并根据蚂蚁个体的适应度计算结果,确定蚁狮种群;
蚂蚁种群更新模块,用于确定蚁狮种群中的精英蚁狮,并根据精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群;
蚁狮种群更新模块,用于对新增蚂蚁种群中的个体分别进行适应度计算,然后将新增蚂蚁种群放入蚁狮种群,以实现对蚁狮种群的更新;
迭代模块,用于迭代执行根据适应度计算结果,确定更新后的蚁狮种群中的精英蚁狮,并根据精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群,将新增蚂蚁种群放入蚁狮种群,以实现对蚁狮种群的更新的步骤;
输出模块,用于当满足迭代退出条件时,将最后一次迭代得到的蚁狮种群进行输出,得到集成元算法集合;
算法选择模块,用于从集成元算法集合中选择目标集成元算法,并根据目标集成元算法,从备选算法中选择在应用场景中性能最好的算法。
本发明实施例包括以下优点,首先根据多个初始集成元算法集合得到由多个蚂蚁个体构成的初始蚂蚁种群,并基于目标优化函数,对初始蚂蚁种群中每个蚂蚁个体分别进行适应度计算,从而确定初始蚁狮种群。然后,确定初始蚁狮种群中的精英蚁狮,并根据精英蚁狮,通过增强随机游走策略,生成新增蚂蚁个体。最后,迭代执行上述步骤,当满足迭代退出条件时,对最后一次迭代得到的目标蚁狮种群进行解码,得到最终集成元算法集合,确定目标集成元算法,根据目标集成元算法,选择目标算法。在本发明中,通过元特征选择实现元特征的充分利用,提高了元特征的多样性,和集成元算法的准确性和多样性,以使得在进行算法选择时能够选择出与应用场景最匹配的算法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中现有的基于元学习的算法选择框架示意图;
图2是本发明实施例中集成元算法构建过程示意图;
图3是本发明实施例中一种基于蚁狮算法的算法选择方法的步骤流程图;
图4是本发明实施例中编码方式的示意图;
图5是本发明实施例中蚁狮解小生境范围的示意图;
图6是本发明实施例中基于蚁狮算法的算法选择方法的流程框图;
图7是本发明实施例中一种基于蚁狮算法的算法选择装置的模块示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,算法选择问题可以通过人工选择方法和机器学习方法解决。现有的基于元学习的算法选择框架如图1所示。首先,提取历史数据集的元特征,并通过性能测度评估获得历史数据集的最优算法,在过程中采用不同的性能测度方法可能获得不同的最优算法。然后以元特征为属性,以最优算法为标签形成元实例构建元数据集,在元数据集上对元算法进行训练。提取新数据集的元特征输入元算法后,元算法对其最优算法进行预测输出。但是在当前的方法中,元特征和元算法的选用仍存在一些问题。在元特征方面,现有方法通常根据需求选取固定的元特征,耦合性较高,可扩展性较弱;不同元特征从不同方面描述和提取数据集的抽象特征,具备一定的互补性,然而已有的方法难以有效利用。在元算法方面,现有方法或使用泛化性能较弱的单个元算法,或采用同构基学习器的集成元算法,未能充分利用不同基学习器的优势和多样性。
基于此,发明人提出了本申请的核心发明构思:同时选择元特征和构建选择性集成元算法,并以集成元算法的准确性和多样性为优化目标。通过离散型编码选择元特征子集,使用连续型编码构建集成元算法,在此基础上应用增强游走策略和偏好精英选择机制提升寻优性能。
首先,本申请提出了一种算法选择模型,从元特征和元算法两个方面提升算法选择性能,在元特征方面,选择互补性较强的元特征子集,从而有效利用各个元特征之间的互补性;在元算法方面,通过选择性集成方法,对不同类型的基分类器进行集成,构建具有较强泛化性能和多样性的集成元算法,从而充分利用不同基学习器的优势,提升集成元算法的多样性。而基于本申请的算法选择模型构建集成元算法的过程如图2所示:首先,使用自助法对训练集进行若干次抽样生成多个训练子数据集,即对应元特征的选择过程,该过程是基于混合编码机制来实现的,运用基分类器在训练子数据集上进行训练形成基分类器集合;通过选择性集成方法,从集合中选择准确性和多样性较强的基分类器并基于加权投票法策略进行组合,得到集成元算法。而通过不同的基分类器组合构成的不同的集成元算法,从而生成由不同的集成元算法构成的集成元算法集,在集成元算法集中,从算法的准确性和算法的多样性进行优化,得到最终的目标集成元算法,该过程是将多目标优化问题转化为多目标混合蚁狮优化的问题。该过程是通过如本申请图3所示的基于蚁狮算法的算法选择方法来实现的。
下面对本申请的基于蚁狮算法的算法选择方法进行说明,如图3所示,图3示出了本申请的一种基于蚁狮算法的算法选择方法的流程示意图。
S301:根据应用场景确定备选算法。
在本实施方式中,应用场景是指用户执行任务的环境,例如,若用户需要对给定的图像进行分类,则应用场景可以为图像分类场景,若用户需要根据某地区居民的信息,对居民的收入进行评估,则应用场景可以为数据预测的场景,备选算法是指可以完成应用场景所需要的算法。
作为示例的,若应用场景为图像分类场景,则对应的备选算法可以为用于图像分类的图像分类算法1、图像分类算法2以及图像分类算法3,若应用场景为数据预测的场景,则对应的备选算法可以为用于数据预测的预测算法a、预测算法b以及预测算法c。
S302:构建元数据集。
在本实施方式中,根据元数据集的元特征数和基分类器个数确定个体不同类型编码的维度数,而元数据集是通过以下步骤构建的:
S302-1:对历史数据集进行特征提取,确定元特征的数量。
在本实施方式中,若应用场景为根据某地区居民的信息,对居民的收入进行评估,作为示例的,如表1的居民收入历史数据,A-E代表的是每个居民的各类特征,例如年龄、性别等,而特征A、B、C、D是决定居民收入的特征,因此将其确定为元特征,则元特征的数量则为4,1-9分别代表9个不同的居民,即对应元实例的数量,则元特征的数量则为9,而E代表居民是实际收入,即元特征对应的目标算法标签。
表1:居民收入历史数据表
序号 | A | B | C | D | E |
1 | X | X | X | X | X |
2 | X | X | X | X | X |
3 | X | X | X | X | X |
4 | X | X | X | X | X |
5 | X | X | X | X | X |
6 | X | X | X | X | X |
7 | X | X | X | X | X |
8 | X | X | X | X | X |
9 | X | X | X | X | X |
S302-2:通过性能测度评估方法,产生历史数据集上的最优算法。
在本实施方式中,对于历史数据集来说,同样的应用场景下。评价的标准不同,确定的最优算法也不同的。
作为示例的,若对于图像分类的场景,备选算法包括:图像分类算法1、图像分类算法2以及图像分类算法3,若将分类准确率作为性能测度评估标准,则对应的最优算法可以为图像分类算法1,若将分类速度作为性能测度评估标准,则对应的最优算法可以为图像分类算法2,因此,其中,不同性能测度评估方法产生不同的最优算法。
而通过性能测度评估方法,产生历史数据集上的最优算法的步骤可以包括:
S302-2-1:确定性能测度评估方法的性能评价指标。
S302-2-2:根据历史数据集,确定备选算法的性能评价指标数值。
S302-2-3:将具有最优性能评价指标数值的备选算法,确定为最优算法。
在S302-2-1至S302-2-3的实施方式中,继续以上述实施例进行说明,性能评价指标可以为分类速度,则分类速度越高,对应的性能评价指标数值越高,然后分别计算图像分类算法1、图像分类算法2以及图像分类算法3对应的分类速度,其分别为1s,2s,3s,则分类算法1、图像分类算法2以及图像分类算法3对应的性能评价指标数值可以为100分,90分和80分,则将性能评价指标数值最高的分类算法1作为分类速度这一性能评价指标下的最优算法。
S302-3:以元特征为属性,以最优算法为标签形成元实例,并根据元实例构建元数据集。
在本实施方式中,在确定元特征的数量之后,对于任意一个元特征,其对应的一个最优算法,并将该最优算法作为该元特征的算法标签,从而构成一个元实例,并由多个元实例构建得到元数据集。
作为示例的,继续以表1为例进行说明,对于每个居民,提取其A、B、C、D四个元特征,并与其目标算法标签(对应的最优算法)进行组合,从而得到如表2所示的:居民收入元实例,而多个不同的居民收入元实例,可以构成居民收入元数据集。
表2:居民收入数据集对应的元实例
S303:随机初始化多个蚂蚁个体,根据元数据集的元特征数量对蚂蚁个体进行混合编码,生成初始蚂蚁种群。
在本实施方式中,将算法准确性和算法多样性作为不同的优化目标,对集成元算法进行优化,并将该优化过程转化为多目标蚁狮优化算法的求解过程。因此可以通过随机初始化的方法产生多个蚂蚁个体。
S303-1:将元数据集划分为训练元数据集和测试元数据集。
在本实施方式中,在确定元数据集之后,根据用户的需求对元数据集进行划分。作为示例的,若确定训练集和测试元数据集的占比为1:2,则根据训练样本的数量进行划分,若训练样本的数量为9,则用于训练的训练样本为3个,用于测试的训练样本为6个,继续以表2进行说明,则表中的数据,选择6行用于测试,选择3行用于训练。作为示例的,若选择编号为1、4、9的居民作为测试元数据集,则训练元数据集中的一个训练样本,则如表3所示。
表3:训练元数据样本
S303-2:根据基分类器的数量,对训练元数据集进行自助法抽样,得到初始训练子数据集。
在本实施方式中,自助法抽样是指在进行抽样时采用有放回的抽样,而为了利用不同基分类器的优势和多样性,采用KNN(Knearest neighbors,K最近邻)、SVM(supportvector machine,支持向量机)和CART(classificationand regression tree,分类回归树)三种类型的基分类器作为基分类器,设置每种基分类器的个数相等。基分类器的数量根据用户的设定来进行确定,以设定的基分类器的数量为5为例,则需要生成5个5x3规格的初始训练子数据样本,从而得到初始训练子数据集,通过对5x3规格的训练元数据集进行自助法抽样,从而得到初始训练子数据集。作为示例的,对于如训练元数据集中的每一个元实例,由于采用自助法抽样,因此在每一次抽样时,每个元实例被选取的概率都是相同的。在进行5次随机抽样后,生成与基分类器数量匹配的5个初始训练子数据集。其中,任意一个初始训练子数据集可以如表4所示。
表4:初始训练子数据样本
S303-3:根据元特征的数量对蚂蚁个体进行离散型编码,并根据编码结果对初始训练子数据集进行元特征选择。
S303-4:根据元特征的选择结果,对初始训练子数据集进行更新,得到第一训练子数据集。
在S303-3至S303-4的实施方式中,针对元特征选择,使用离散型编码选择元特征子集,即对于每一个元特征来说,在将其用于集成元算法的训练时,其只有两个属性,即被选择或者未被选择,因此通过对每一个元特征进行离散编码,并且离散编码的数量与元特征的数量相等。即通过每个元特征对应的离散编码是0或是1来确定每个元特征是否被选择用于基分类器的训练,即根据元特征的选择结果,对初始训练子数据集进行更新,得到第一训练子数据集。
作为示例的,若对如表4所示的居民收入初始训练子数据样本进行元特征选择,而元特征A对应的离散编号为0,元特征B对应的离散编号为1,元特征C对应的离散编号为1,元特征D对应的离散编号为0,则说明元特征B和C被选为基分类器的训练,并对初始训练子数据集进行更新,得到第一训练子数据集,第一训练子数据集中的一个训练样本如表5所示。
表5:第一训练子数据样本
S303-5:根据初始基分类器的数量,对初始训练子数据集进行连续型编码,获得基分类器的权重编码,并根据初始基分类器的权重编码与预设的选择阈值编码的大小关系,对第一训练子数据集进行更新,得到最终训练子数据集。
S303-6:基于最终训练子数据集对初始基分类器进行训练,得到目标基分类器和目标基分类器的集成权重。
S303-7:目标基分类器根据测试元数据集,获得预测结果,并根据预测结果的准确性和目标基分类器的集成权重,初始集成元算法集合。
在S303-5至S303-7的实施方式中,在进行元特征选择的同时,由于每一个基分类器都可能在任意一个初始训练子数据集进行训练,因此通过对初始训练子数据集进行连续型编码来判断每种类型的基分类器是否采用该初始训练子数据集进行训练。作为示例的,若有5个基分类器,并且每种基分类器有3个类型,则对于任意一个初始训练子数据集来说,可能会存在15个基分类器根据其进行训练。而该过程的判断是通过每个基分类器的权重编码和预设的选择阈值编码的大小关系来进行判断的。对于任意一个基分类器,若其权重编码大于或等于选择阈值编码,则说明该基分类器可以在当前的初始训练子数据集上进行训练,若其权重编码小于选择阈值编码,则说明该基分类器不可以在当前的初始训练子数据集上进行训练。通过上述方式,对于任意一个初始训练子数据集,即可同时确定该初始训练子数据集中哪些元特征可以被用于训练以及可以用于哪些基分类器的训练。
作为示例的,若存在5个基分类器,其编号分别为1-5,存在5个初始训练子数据集,其编号分别为F-L,其中,在编号为1的基分类器上,对于KNN类型的基分类器,有编号为F和编号为L的训练子数据集可以作为训练数据集,则从经过元特征选择后的编号F-L第一训练子数据集中,选择编号为F和编号为L的第一训练子数据集作为编号为1的基分类器的KNN类型基分类器的最终训练子数据集。同理,对编号1-5的每种类型的基分类器都执行上述操作,从而得到目标基分类器和目标基分类器的集成权重,然后进行归一化。
作为示例的,若有4个目标基分类器,前2个目标基分类器预测的结果为A,后2个目标基分类器预测的结果为B,而前3个目标基分类器所占的权重均为0.2,最后一个目标基分类器所占的权重为0.4,则目标基分类器的最终的预测结果为B,再将预测结果为B与最优算法标签进行比较,来确定预测结果的准确性。然后根据预测结果的准确性和目标基分类器的集成权重,初始集成元算法集合。
而利用集成权重W={w1,w2,…,wv}组合v个基分类器B={b,b2,…,bv}构建集成元算法E,其对测试元实例x进行预测的公式如下所示:
其中,E(x)示预测最优算法结果;a为A中的一个候选算法标签;bi(x)第i个基分类器对x的预测结果;I(·)为示性函数,当其中的表达式逻辑为真时,I(·)为1,否则为0。argmax函数表示取使其内部表达式最大的算法标签a;wi为第i个基分类器的集成权重。
需要说明的是,在对任意一个初始训练子数据集进行混合编码时,其示意图如图4所示,首先根据其元特征的数量对其进行离散编码,设含有M个元特征,则个体的离散型编码数为M,并且离散编码为0或者1,然后在进行混合编码,设基分类器个数为V,因此基分类器权重编码数为3V,而选择阈值编码设置在权重编码和离散编码之间,因此连续型编码数为3V+1,权重编码和选择阈值编码为0至1之间的浮点数。
作为示例的,下面是本申请的混合编码的数学实现过程:
根据混合编码机制,对个体各维度的编码值进行初始化的公式如下所示:
其中,Ai为个体第i维的编码值,个体前M维编码为离散型的元特征选择编码,通过R(rand)初化编码值的公式如下所示:
其值为1表示第i维编码对应的元特征被选中,值为0表示未被选中。个体第M+1维编码为选择阈值编码,其后的3V个编码为基分类器权重编码,前V个基分类器权重编码为kNN选择训练子数据集,公式如下所示:
其中,AM+1为选择阈值编码值,J(Ai)值为1示第i维编码对应的训练子数据集被选中,值为0表示未被选中,以此类推可得另外2种基分类器的训练子数据集。3种基分类器分别在选择的训练子数据集上独立训练,得到基分类器集合B={b1,b2,…,bv},通过基分类器权重编码值生成上述基分类器的集成权重W={w1,w2,…,wv},其公式如下所示:
其中,wi为第i个基分类器的集成权重,Ai为第i个基分类器对应的基分类器权重编码值,Aj为第j个基分类器对应的基分类器权重编码值。通过上述归一化方法,使得集成权重和为1。
S304:基于目标优化函数,对初始蚂蚁种群中的蚂蚁个体分别进行适应度计算,并根据蚂蚁个体的适应度计算结果,确定蚁狮种群。
在本实施方式中,通过将每个集成元算法的准确性和多样性作为优化目标,即通过计算集成元算法的准确性和多样性作为对应蚂蚁个体的适应度,以实现对每个蚂蚁个体进行适应度计算,并根据适应度计算的结果,通过帕累托支配关系选出帕累托解作为初始蚁狮种群,并保存至外部存档。
而对每个蚂蚁个体进行适应度计算的步骤可以为:
S304-1:将算法分类错误率最低确定为第一目标函数的优化方向;
S304-2:将算法多样性指标值最优确定为第二目标函数的优化方向;
S304-3:根据第一目标函数和第二目标函数,对初始蚂蚁种群中每个蚂蚁个体分别进行适应度计算;
S304-4:确定适应度计算结果相互之间的帕累托支配关系,剔除具有被支配关系的适应度计算结果对应的蚂蚁个体,并生成蚁狮种群。
在S304-1至S304-5的实施方式中,对于任意一个集成元算法,使用分类错误率(error rate,ER)评估集成元算法的准确性,即第一目标函数用于计算每个集成元算法的分类错误率采用不同多样性指标(diversity indicator,DI)度量集成元算法的多样性,包括Q统计量(Q statistic,QS)、K统计量(K statistic,KS)、相关系数(correlationcoefficient,CC)、一致度量(agreement measure,AM)和双错测度(double fault,DF),即第二目标函数用于计算每个集成元算法的多样性。而集成元算法的分类错误率越低,多样性指标值越优,则集成元算法对应的性能越好,即对应的蚂蚁个体的适应度就越高。需要说明的是,由于对于集成元算法,其存在分类错误率和多样性两个优化目标,因此其是一个多目标优化的问题,多目标优化是指同时优化多个目标且目标间相互矛盾的问题,该问题通常是多项式复杂程度的非确定性(Non-deterministic Polynomial,NP)难问题,即无法获取唯一最优解,而是一组次优解。而对于帕累托支配.对于x和y两个解,当满足公式如下所的示约束条件时,则称x支配y,表示为x<y。
而在确定每个蚂蚁个体适应度之后,根据蚂蚁个体的适应度计算结果之间的帕累托支配关系,来筛选出蚁狮。
作为示例的,若对于编号为A、B、C、和D蚂蚁个体,根据适应度计算结果,发现A支配B,D支配C,且A和D之间不存在支配关系,则可以将B和C蚂蚁个体剔除,将A和D个体作为蚁狮。
而在一种可行的实施方式中,根据第一目标函数和第二目标函数,对每个蚂蚁个体分别进行适应度计算的步骤包括:
S304-3-1:根据第一目标函数,计算集成元算法的分类错误率;
S304-3-2:根据第二目标函数,计算集成元算法的多样性指标值;
S304-3-3:根据集成元算法的分类错误率和集成元算法的多样性指标值,确定集成元算法对应的蚂蚁个体的适应度。
在S304-3-1至S304-3-3的实施方式中,通过测度各集成元算法的准确性和多样性作为对应蚂蚁个体的适应度,设有m个测试元实例X={x1,x2,…,xm},各个元实例对应的最优算法标签为Y={y1,y2,…,ym},且有yk∈A,1≤k≤m,其中A={a1,a2,…,al}为包含候选算法标签的集合,第一目标函数ER的计算公式如下所示:
其中,E表示集成元算法, 和yi分别表示第i个测试元实例的预测最优算法标签和真实最优算法标签。通过加权投票法,利用集成权重W={w1,w2,…,wv}组合v个基类器B={b1,b2,…,bv}构建集成元算法E。
对于m个测试元实例,基分类器bi和bj的预测结果列联表如表6所示。
表6:预测结果列联表
表中,1≤k≤m,c表示bi和bj均预测正确的元实例数;p表示bi预测正确而bj预测错误的元实例数;q表示bi预测错误而bj预测正确的元实例数;d表示bi和bj均预测错误的元实例数。根据预测结果列联表,bi和bj的QS、KS、CC、AM、DF指标的计算公式如下所示:
上述指标值越小表示基分类器多样性越强,除AM和DF指标的值域为[0,1]外,其余指标的值域均为[-1,1]。此外,上述指标均为成对指标,即满足集成元算法E的DI值为所有成对基分类器DI的平均,即第二目标函数用于计算每个蚂蚁个体的多样性指标值的计算公式如下所示:
综上,对于蚂蚁个体的适应度计算公式如下所示,即将集成元算法的准确性和多样性指标值作为蚂蚁个体的适应度:
FSAMO=min(ERE,DIE) (14)
其中,FSAMO表示模型的目标函数向量,则根据公式(14)即可计算每个蚂蚁个体的适应度。
S305:确定蚁狮种群中的精英蚁狮,并根据精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群。
在本实施方式中,根据精英蚁狮,通过增强随机游走策略,生成新增蚂蚁个体的步骤可以为:
S305-1:将初始蚁狮种群中对应的集成元算法的分类错误率最低的蚁狮个体,确定为准确性精英蚁狮,将初始蚁狮种群中对应的集成元算法的分类错误率最低的蚁狮个体,确定为准确性精英蚁狮。
S305-2:对蚁狮种群中每个蚁狮个体分别进行稀疏度计算。
S305-3:根据蚁狮个体的稀疏度计算结果,通过轮盘赌方法从蚁狮种群中分别选择第一轮盘赌蚁狮和第二轮盘赌蚁狮。
S305-4:围绕准确性精英蚁狮和第一轮盘赌蚁狮,并基于增强游走策略进行随机游走,生成第一新增蚂蚁个体。
S305-5:围绕多样性精英蚁狮和第二轮盘赌蚁狮,并基于增强游走策略进行随机游走,生成第二新增蚂蚁个体。
S305-6:根据第一新增蚂蚁个体和第二新增蚂蚁个体,生成新增蚂蚁种群。
在S305-1至S305-6的实施方式中,精英蚁狮是指蚁狮种群中适应度最高的个体,由于存在分类错误率最低和多样性指标值最优两个优化方向,由此将分类错误率最低的蚁狮个体,确定为准确性精英蚁狮,将多样性指标值最优的蚁狮个体,确定为多样性精英蚁狮,而在确定出准确性精英蚁狮和多样性精英蚁狮之后,在混合编码机制的基础上,采用增强游走策略对个体进行搜索更新,同时在该过程中引入随机性,从而增加算法的种群多样性。
作为示例的,在迭代过程中,每只初始化蚂蚁进行2次轮盘赌选择分布性较好的蚁狮,从而生成第一轮盘赌蚁狮和第二轮盘赌蚁狮,第一轮盘赌蚁狮和第二轮盘赌蚁狮是相互独立的,即根据准确性精英蚁狮进行分布性选择,生成第一轮盘赌蚁狮,根据多样性精英蚁狮进行分布性选择,生成第二轮盘赌蚁狮。然后,围绕准确性精英蚁狮和第一次选择的轮盘赌蚁狮,以及围绕多样性精英蚁狮和第二次选择的轮盘赌蚁狮,并基于增强游走策略进行随机游走,生成2只新的蚂蚁。需要说明的是,上述过程是对每一个初始蚂蚁的行为,所有初始化蚂蚁生成的第一和第二新增蚂蚁共同组成新蚂蚁种群。而随机游走策略是通过以下步骤实现的:
在迭代过程中,个体的离散型编码使用离散随机游走方法的计算公式如下所示:
其中,为第t次迭代蚂蚁的离散型编码进行离散随机游走后,所得离散向量的第i维元素值;/>为第t次迭代蚂蚁围绕游走的蚁狮第i维离散型编码值;Xt=cumsum(r(t))表)前t次迭代的随机游走步长累加和,其中r(t)=(0,r1,r2,…,rt)表)前t次迭代随机游走步长的向量,r的计算如公式如下所示:/>
其中,rand表示位于[0,1]之间均匀分布的随机数。不难计算出Xt值在[-t,t]之间,由此可知Xt/t位于[-1,1]之间,m(t)的计算公式如下所示:
其中,在[0,1]之间随着迭代次数t增加呈现非线性递减趋势,(2rand-1)的值域[-1,1],使得m(t)在[-1,1]之间随t值增加呈现具备随机性的非线性递减趋势。
随机游走后,蚂蚁离散型编码值的更新如公式如下所示:
其中,为第t次迭代蚂蚁的第i维离散型编码值,/>和/>分别为蚂蚁在第t次迭代围绕精英蚁狮和轮盘0赌蚁狮进行离散随机游走所得离散向量的第i维元素值。
对于个体的连续型编码,在其游走更新过程中引入随机性,增加算法的种群多样性,其公式如下所示:
其中,c和d表示个体各维度值的上界和下界,ct和dt分别表示第t次迭代中蚂蚁各维度值搜索范围的上界和下界,I的计算公式如下所示:
其中,w的值取决于当前迭代次数t,t≤0.1T时,w=0;t>0.1T时,w=2;t>0.5T时,w=3;t>0.75T则w=4;t>0.9T则w=5;t>0.95T则w=6。可见随着t的增加,10w和I值呈递增趋势,使得ct和dt呈递减趋势,另一方面,在[0.5,1]之间随着迭代次数t增加呈现非线性递减趋势,使得/>在[0,1.5]之间呈现具备随机性的非线性递减趋势,从而在ct和dt的变化过程中引入一定随机性,随机游走后,蚂蚁连续型编码值的更新如公式如下所示:
其中,At为第t次迭代蚂蚁的连续型编码向量,为第t次迭代蚂蚁围绕精英蚁狮进行随机游走得到的连续型向量,/>为第t次迭代蚂蚁围绕轮盘赌蚁狮进行随机游走所得连续型向量。增强游走策略对个体不同类型的编码进行搜索更新,保留了ALO模拟蚂蚁滑入陷阱的过程,即蚂蚁搜索边界的递减变化趋势,同时在该过程中引入了随机性,从而增加了算法的种群多样性。/>
通过上述增强随机游走策略,可以使得每一个蚂蚁个体a通过围绕准确性精英蚁狮和轮盘赌蚁狮进行随机游走生成第一新增蚂蚁个体a′和第二新增蚂蚁个体a″,在完成对蚂蚁种群中的每个个体都执行上述操作之后,得到的所有第一新增蚂蚁个体和第二新增蚂蚁个体构成的新增蚂蚁个体。
在一种可行的实施方式中,稀疏度的计算是通过以下步骤确定的:
S305-2-1:确定每个蚁狮个体对应的小生境范围;
S305-2-2:将位于小生境范围内的其他蚁狮个体,确定为相邻蚁狮;
S305-2-3:根据相邻蚁狮的数量,确定每个蚁狮个体的稀疏度。
在S305-2-1至S305-2-3的实施方式中,判断每个蚁狮解的稀疏度,是通过判断蚁狮解相邻区域内其他蚁狮解的数量,来进行确定的,相邻区域内其他蚁狮解的数量越少,则该蚁狮解的分布性越好,相邻区域内其他蚁狮解的数量越多,则该蚁狮解的分布性越差。
作为示例的,如图5所示的示意图,在该坐标系下,坐标系的横轴代表蚁狮解对应的集成元算法的准确性,纵轴代表蚁狮解对应的集成元算法的多样性,而蚁狮解对应的圆的范围则表征该蚁狮解的小生境范围,而求解蚁狮解的小生境范围是通过以下步骤实现的:蚁狮解的分布性通过小生境技术计算其在存档中的稀疏度进行量化,计算公式如下所示:
其中,s(x,φ))示给定半径φ的小生境范围内解x的稀疏度,y表示存档中的另一个解,半径φ的计算公式如下所示:
其中,m(m≥2)为)化目标个数,ei和ej分别表示第i个和第j个优化目标对应的精英蚁狮,||F(ei)-F(ej)||计算二者目标函数值向量的欧氏距离,c为常数;||F(x)-F(y)||计算解x和解y目标函数值向量的欧氏距离,其值小于半径时表示y是x的相邻解。给定解在存档中的相邻解越多,则该解的稀疏度越低,分布性越差。
S306:对新增蚂蚁种群中的个体分别进行适应度计算,然后将新增蚂蚁种群放入蚁狮种群,以实现对蚁狮种群的更新。
在本实施方式中,在获得本次迭代得到的新增蚂蚁种群之后,将新增蚂蚁种群放入蚁狮种群对应的外部存档中,以实现对蚁狮种群的更新。
S307:迭代执行根据适应度计算结果,确定更新后的蚁狮种群中的精英蚁狮,并根据精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群,将新增蚂蚁种群放入蚁狮种群,以实现对蚁狮种群的更新的步骤。
在本实施方式中,在获得更新后的蚁狮种群之后,对更新后的蚁狮种群的新增个体,即新增蚂蚁种群中的个体在进行适应度计算,并根据适应度计算的结果,对出准确性精英蚁狮和多样性精英蚁狮个体进行更新,并基于更新后的准确性精英蚁狮和多样性精英蚁狮个体,通过增强随机游走策略,产生新一代的新增蚂蚁种群,并基于新一代的新增蚂蚁种群,对蚁狮种群更新,并持续本过程所描述的迭代过程,直至满足相应的迭代条件。
S308:当满足迭代退出条件时,将最后一次迭代得到的蚁狮种群进行输出,得到集成元算法集合。
在本实施方式中,当达到最大迭代次数时,将储存在外部的最后一次迭代得到的蚁狮种群作为输出,该蚁狮种群中每一个蚁狮个体则对应一个集成元算法,从而得到集成元算法集合,集成元算法集合是由多个经过筛选的集成元算法构成。
S309:从集成元算法集合中选择目标集成元算法,并根据目标集成元算法,从备选算法中选择在应用场景中性能最好的算法。
在本实施方式中,在得到最终集成元算法集合之后,根据用户的需求,用户的需求可以是算法准确性、算法多样性,然后从最终集成元算法集合中选择目标集成元算法。
作为示例的,若用户的应用场景为图像分类的应用场景,而用户的希望最准确地从算法中选择用于图像分类的算法,则目标集成元算法为准确性最高的集成元算法,然后将备选算法中各个算法作为输入,输入到目标集成元算法之中,而目标集成元算法输出的结果则为用于本次执行图像分类任务的应用场景中性能最好的算法。
下面在结合图6的实际操作流程对本申请的方案进行说明,首先输入元数据集;然后根据混合编码机制初始化蚂蚁种群;计算蚂蚁的适应度,通过帕累托支配关系从中选出帕累托解作为蚁狮保存至外部存档;按照偏好精英选择机制,从蚁狮中选出准确性和多样性优化目标上的精英个体,称为多样性精英蚁狮和准确性精英蚁狮;在迭代过程中,每只初始化蚂蚁进行2次轮盘赌选择分布性较好的蚁狮,围绕准确性精英蚁狮和第一次轮盘赌蚁狮,以及围绕多样性精英蚁狮和第二次轮盘赌蚁狮,并基于增强游走策略进行随机游走,生成2只新的蚂蚁;计算新蚂蚁种群的适应度并将其加入存档,更新存档和精英蚁狮;最后,达到最大迭代时,输出蚁狮构建的集成元算法。对算法选择模型进行优化并以集成元算法的准确性和多样性指标值作为个体的适应度。
本申请实施例中的基于蚁狮算法的算法选择方法,通过元特征选择实现元特征的充分利用,使用选择性集成构建集成元算法,并以集成元算法的准确性和多样性作为优化目标;应用算法对模型进行优化,通过混合编码机制使个体同时完成元特征选择和选择性集成元算法构建,并采用增强游走策略和偏好精英选择机制增强算法的寻优能力。在迭代过程中,对于每个优化目标,每只初始化蚂蚁通过轮盘赌选择一个分布性较好的蚁狮,围绕该优化目标的精英蚁狮和轮盘赌蚁狮进行随机游走,产生新的个体解。由此可得个体数倍于初始化种群的新蚂蚁种群,将其加入外部存档,筛选保留存档中的帕累托解作为新一代蚁狮。过偏好精英选择机制,分别围绕不同优化目标上的最优个体进行迭代更新,增强算法的寻优性能;围绕轮盘赌选择的分布性较好个体进行搜索,使解的分布性更强。
本发明实施例还提供了一种基于蚁狮算法的算法选择装置,参照图7,示出了本发明一种基于蚁狮算法的算法选择装置实施例第一方面的功能模块图,装置包括:
数据获取模块701,用于根据应用场景确定备选算法;
编码模块702,用于构建元数据集;
初始蚂蚁种群生成模块703,用于随机初始化多个蚂蚁个体,根据元数据集的元特征数量对蚂蚁个体进行混合编码,生成初始蚂蚁种群;
蚁狮确定模块704,用于基于目标优化函数,对初始蚂蚁种群中的蚂蚁个体分别进行适应度计算,并根据蚂蚁个体的适应度计算结果,确定蚁狮种群;
蚂蚁种群更新模块705,用于确定蚁狮种群中的精英蚁狮,并根据精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群;
蚁狮种群更新模块706,用于对新增蚂蚁种群中的个体分别进行适应度计算,然后将新增蚂蚁种群放入蚁狮种群,以实现对蚁狮种群的更新;
迭代模块707,用于迭代执行根据适应度计算结果,确定更新后的蚁狮种群中的精英蚁狮,并根据精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群,将新增蚂蚁种群放入蚁狮种群,以实现对蚁狮种群的更新的步骤;
输出模块708,用于当满足迭代退出条件时,将最后一次迭代得到的蚁狮种群进行输出,得到集成元算法集合;
算法选择模块709,用于从集成元算法集合中选择目标集成元算法,并根据目标集成元算法,从备选算法中选择在应用场景中性能最好的算法。
在一种可行的实施方式中,编码模块702包括:
元特征确定子模块,用于对历史数据集进行特征提取,确定元特征的数量;
评估子模块,用于通过性能测度评估方法,产生历史数据集上的最优算法,其中,不同性能测度评估方法产生不同的最优算法;
元数据集构建子模块,用于以元特征为属性,以最优算法为标签形成元实例,并根据元实例构建元数据集。
在一种可行的实施方式中,评估子模块包括:
指标确定单元,用于确定性能测度评估方法的性能评价指标;
评价单元,用于根据历史数据集,确定备选算法的性能评价指标数值;
筛选单元,用于将具有最优性能评价指标数值的备选算法,确定为最优算法。
在一种可行的实施方式中,编码模块702还包括:
划分子模块,用于将元数据集划分为训练元数据集和测试元数据集;
抽样子模块,用于根据基分类器的数量,对训练元数据集进行自助法抽样,得到初始训练子数据集;
选择子模块,用于根据元特征的数量对蚂蚁个体进行离散型编码,并根据编码结果对初始训练子数据集进行元特征选择;
第一更新子模块,用于根据元特征的选择结果,对初始训练子数据集进行更新,得到第一训练子数据集;
第二更新子模块,用于根据基分类器的数量,对蚂蚁个体进行连续型编码,获得基分类器的权重编码,并根据基分类器的权重编码与选择阈值编码的大小关系,对第一训练子数据集进行更新,得到目标训练子数据集;
训练子模块,用于基于目标训练子数据集对基分类器进行训练,获得基分类器集合;
集成子模块,用于根据基分类器的权重编码生成基分类器集合的集成权重,并根据集成权重对基分类器进行集成,获得集成元算法。
在一种可行的实施方式中,蚁狮确定模块704包括:
第一优化子模块,用于将算法分类错误率最低确定为第一目标函数的优化方向;
第二优化子模块,用于将算法多样性指标值最优确定为第二目标函数的优化方向;
适应度计算子模块,用于根据第一目标函数和第二目标函数,对每个蚂蚁个体分别进行适应度计算;
初始蚁狮种群生成子模块,用于确定适应度计算结果相互之间的帕累托支配关系,剔除具有被支配关系的适应度计算结果对应的蚂蚁个体,并生成蚁狮种群。
在一种可行的实施方式中,适应度计算子模块包括:
分类错误率计算单元,用于根据第一目标函数,计算集成元算法的分类错误率;
多样性指标值计算单元,用于根据第二目标函数,计算集成元算法的多样性指标值;
应度计算单元,用于根据集成元算法的分类错误率和集成元算法的多样性指标值,确定集成元算法对应的蚂蚁个体的适应度。
在一种可行的实施方式中,蚂蚁种群更新模块705包括:
精英蚁狮确定子模块,用于将对应的集成元算法的分类错误率最低的蚁狮个体,确定为准确性精英蚁狮,将对应的集成元算法的多样性指标值最优的蚁狮个体,确定为多样性精英蚁狮;
稀疏度计算子模块,用于对蚁狮种群中每个蚁狮个体分别进行稀疏度计算;
选择子模块,用于根据稀疏度的计算结果,通过轮盘赌方法从蚁狮种群中分别选择第一轮盘赌蚁狮和第二轮盘赌蚁狮;
第一个体新增子模块,用于围绕准确性精英蚁狮和第一轮盘赌蚁狮,并基于增强游走策略进行随机游走,生成第一新增蚂蚁个体;
第二个体新增子模块,用于围绕多样性精英蚁狮和第二轮盘赌蚁狮,并基于增强游走策略进行随机游走,生成第二新增蚂蚁个体。
在一种可行的实施方式中,稀疏度计算子模块包括:
范围确定单元,用于确定每个蚁狮个体对应的小生境范围;
相邻蚁狮确定单元,用于将位于小生境范围内的其他蚁狮个体,确定为相邻蚁狮;
稀疏度确定单元,用于根据相邻蚁狮的数量,确定每个蚁狮个体的稀疏度。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用储存介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。“和/或”表示可以选择两者之中的任意一个,也可以两者都选择。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于蚁狮算法的算法选择方法及装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基于蚁狮算法的算法选择方法,其特征在于,方法包括:
根据应用场景确定备选算法,所述应用场景为图像分类场景,所述备选算法为用于图像分类的多个图像分类算法;
构建元数据集,包括:对于任意一个元特征,其对应一个最优算法,并将该最优算法作为该元特征的算法标签,构成一个元实例,并由多个所述元实例构建元数据集;其中,最优算法是:分类速度这一性能评价指标下,多个图像分类算法中性能指标数值最高的图像分类算法;
随机初始化多个蚂蚁个体,并根据所述元数据集的元特征数量对每个所述蚂蚁个体进行混合编码,生成初始蚂蚁种群,包括:对应元特征的选择过程:基于混合编码机制,使用自助法对训练集进行若干次抽样生成多个训练子数据集;运用基分类器在所述多个训练子数据集上进行训练,形成基分类器集合;通过选择性集成方法,从所述基分类器集合中选择准确性和多样性较强的基分类器并基于加权投票法策略进行组合,得到集成元算法;通过不同的基分类器组合构成的不同的集成元算法,生成由不同的集成元算法构成的集成元算法集;
基于目标优化函数,对所述初始蚂蚁种群中的蚂蚁个体分别进行适应度计算,并根据所述蚂蚁个体的适应度计算结果,确定蚁狮种群;
确定所述蚁狮种群中的精英蚁狮,并根据所述精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群;
对所述新增蚂蚁种群中的个体分别进行适应度计算,然后将所述新增蚂蚁种群放入所述蚁狮种群,以实现对所述蚁狮种群的更新;
迭代执行根据适应度计算结果,确定更新后的蚁狮种群中的精英蚁狮,并根据所述精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群,将所述新增蚂蚁种群放入所述蚁狮种群,以实现对所述蚁狮种群的更新的步骤;
当满足迭代退出条件时,将最后一次迭代得到的蚁狮种群进行输出,得到集成元算法集合;
从所述集成元算法集合中选择目标集成元算法,并根据所述目标集成元算法,从所述备选算法中选择在所述应用场景中性能最好的算法,包括:将所述多个图像分类算法作为输入,输入到所述目标集成元算法之中,所述目标集成元算法输出的结果则为用于本次执行图像分类任务的应用场景中准确性最高的算法。
2.根据权利要求1所述的一种基于蚁狮算法的算法选择方法,其特征在于,所述构建元数据集的步骤,包括:
对历史数据集进行特征提取,确定元特征的数量;
通过性能测度评估方法,产生所述历史数据集上的最优算法,其中,不同性能测度评估方法生成不同的最优算法;
以所述元特征为属性,以所述最优算法为标签形成元实例,并根据所述元实例构建所述元数据集。
3.根据权利要求2所述的一种基于蚁狮算法的算法选择方法,其特征在于,所述通过性能测度评估方法,产生所述历史数据集上的最优算法的步骤,包括:
确定所述性能测度评估方法的性能评价指标;
根据所述历史数据集,确定备选算法的性能评价指标数值;
将具有最优性能评价指标数值的所述备选算法,确定为所述最优算法。
4.根据权利要求1所述的一种基于蚁狮算法的算法选择方法,其特征在于,所述初始蚂蚁种群中的每个所述蚂蚁个体对应一种集成元算法,所述根据所述元数据集的元特征数量对所述蚂蚁个体进行混合编码,生成初始蚂蚁种群的步骤,包括:
将所述元数据集划分为训练元数据集和测试元数据集;
根据基分类器的数量,对所述训练元数据集进行自助法抽样,得到初始训练子数据集;
根据所述元特征的数量对所述蚂蚁个体进行离散型编码,并根据编码结果对所述初始训练子数据集进行元特征选择;
根据元特征的选择结果,对所述初始训练子数据集进行更新,得到第一训练子数据集;
根据所述基分类器的数量,对所述蚂蚁个体进行连续型编码,获得所述基分类器的权重编码,并根据所述基分类器的权重编码与选择阈值编码的大小关系,对所述第一训练子数据集进行更新,得到目标训练子数据集;
基于所述目标训练子数据集对所述基分类器进行训练,获得基分类器集合;
根据所述基分类器的权重编码生成所述基分类器集合的集成权重,并根据所述集成权重对所述基分类器进行集成,获得集成元算法。
5.根据权利要求1所述的一种基于蚁狮算法的算法选择方法,其特征在于,所述目标优化函数包括第一目标函数和第二目标函数,所述基于目标优化函数,对所述初始蚂蚁种群中每个所述蚂蚁个体分别进行适应度计算,并根据适应度计算结果确定蚁狮种群的步骤,包括:
将算法分类错误率最低确定为所述第一目标函数的优化方向;
将算法多样性指标值最优确定为所述第二目标函数的优化方向;
根据所述第一目标函数和所述第二目标函数,对每个所述蚂蚁个体分别进行适应度计算;
确定适应度计算结果相互之间的帕累托支配关系,剔除具有被支配关系的适应度计算结果对应的蚂蚁个体,并生成所述蚁狮种群。
6.根据权利要求5所述的一种基于蚁狮算法的算法选择方法,其特征在于,所述根据所述第一目标函数和所述第二目标函数,对每个所述蚂蚁个体分别进行适应度计算的步骤,包括:
根据所述第一目标函数,计算集成元算法的分类错误率;
根据所述第二目标函数,计算集成元算法的多样性指标值;
根据所述集成元算法的分类错误率和所述集成元算法的多样性指标值,确定所述集成元算法对应的蚂蚁个体的适应度。
7.根据权利要求1所述的一种基于蚁狮算法的算法选择方法,其特征在于,所述确定所述蚁狮种群中的精英蚁狮,并根据所述精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群的步骤,包括:
将对应的集成元算法的分类错误率最低的蚁狮个体,确定为准确性精英蚁狮,将对应的集成元算法的多样性指标值最优的蚁狮个体,确定为多样性精英蚁狮;
对所述蚁狮种群中每个蚁狮个体分别进行稀疏度计算;
根据所述蚁狮个体的稀疏度计算结果,通过轮盘赌方法从所述蚁狮种群中分别选择第一轮盘赌蚁狮和第二轮盘赌蚁狮;
围绕所述准确性精英蚁狮和所述第一轮盘赌蚁狮,并基于增强游走策略进行随机游走,生成第一新增蚂蚁个体;
围绕所述多样性精英蚁狮和所述第二轮盘赌蚁狮,并基于增强游走策略进行随机游走,生成第二新增蚂蚁个体;
根据所述第一新增蚂蚁个体和所述第二新增蚂蚁个体,生成所述新增蚂蚁种群。
8.根据权利要求7所述的一种基于蚁狮算法的算法选择方法,其特征在于,所述对所述蚁狮种群中每个蚁狮个体分别进行稀疏度计算的步骤,包括:
确定每个蚁狮个体对应的小生境范围;
将位于所述小生境范围内的其他蚁狮个体,确定为相邻蚁狮;
根据所述相邻蚁狮的数量,确定每个蚁狮个体的稀疏度。
9.一种基于蚁狮算法的算法选择装置,其特征在于,装置包括:
数据获取模块,用于根据应用场景确定备选算法,所述应用场景为图像分类场景,所述备选算法为用于图像分类的多个图像分类算法;
编码模块,用于构建元数据集,包括:对于任意一个元特征,其对应一个最优算法,并将该最优算法作为该元特征的算法标签,构成一个元实例,并由多个所述元实例构建元数据集;其中,最优算法是:分类速度这一性能评价指标下,多个图像分类算法中性能指标数值最高的图像分类算法;
初始蚂蚁种群生成模块,用于随机初始化多个蚂蚁个体,并根据所述元数据集的元特征数量对每个所述蚂蚁个体进行混合编码,生成初始蚂蚁种群,包括:对应元特征的选择过程:基于混合编码机制,使用自助法对训练集进行若干次抽样生成多个训练子数据集;运用基分类器在所述多个训练子数据集上进行训练,形成基分类器集合;通过选择性集成方法,从所述基分类器集合中选择准确性和多样性较强的基分类器并基于加权投票法策略进行组合,得到集成元算法;通过不同的基分类器组合构成的不同的集成元算法,生成由不同的集成元算法构成的集成元算法集;
蚁狮确定模块,用于基于目标优化函数,对所述初始蚂蚁种群中的蚂蚁个体分别进行适应度计算,并根据所述蚂蚁个体的适应度计算结果,确定蚁狮种群;
蚂蚁种群更新模块,用于确定所述蚁狮种群中的精英蚁狮,并根据所述精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群;
蚁狮种群更新模块,用于将所述新增蚂蚁种群放入所述蚁狮种群,以实现对所述蚁狮种群的更新;
迭代模块,用于迭代根据所述适应度计算结果,确定所述更新后的蚁狮种群中的精英蚁狮,并根据所述精英蚁狮,通过增强随机游走策略,生成新增蚂蚁种群,将所述新增蚂蚁种群放入所述蚁狮种群,以实现对所述蚁狮种群的更新的步骤;
输出模块,用于当满足迭代退出条件时,将最后一次迭代得到的蚁狮种群进行输出,得到集成元算法集合;
算法选择模块,用于从所述集成元算法集合中选择目标集成元算法,并根据所述目标集成元算法,从所述备选算法中选择在所述应用场景中性能最好的算法,包括:将所述多个图像分类算法作为输入,输入到所述目标集成元算法之中,所述目标集成元算法输出的结果则为用于本次执行图像分类任务的应用场景中准确性最高的算法。
10.根据权利要求9所述的基于蚁狮算法的算法选择装置,其特征在于,所述编码模块包括:
元特征确定子模块,用于对历史数据集进行特征提取,确定元特征的数量;
评估子模块,用于通过性能测度评估方法,产生所述历史数据集上的最优算法,其中,不同性能测度评估方法产生不同的最优算法;
元数据集构建子模块,用于以所述元特征为属性,以所述最优算法为标签形成元实例,并根据所述元实例构建所述元数据集。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310127816.XA CN116340839B (zh) | 2023-02-08 | 2023-02-08 | 基于蚁狮算法的算法选择方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310127816.XA CN116340839B (zh) | 2023-02-08 | 2023-02-08 | 基于蚁狮算法的算法选择方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116340839A CN116340839A (zh) | 2023-06-27 |
CN116340839B true CN116340839B (zh) | 2023-10-20 |
Family
ID=86886686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310127816.XA Active CN116340839B (zh) | 2023-02-08 | 2023-02-08 | 基于蚁狮算法的算法选择方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116340839B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116934119A (zh) * | 2023-07-27 | 2023-10-24 | 淮阴工学院 | 一种基于优化蚁狮算法实现厨余垃圾零碳零污的智能柔性调控***及方法 |
CN117634302B (zh) * | 2023-12-05 | 2024-05-14 | 北京大数据先进技术研究院 | 一种动态服务组合选择方法、装置和产品 |
CN117787444B (zh) * | 2024-02-27 | 2024-05-17 | 西安羚控电子科技有限公司 | 一种面向集群对抗场景的智能算法快速集成方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241576A (zh) * | 2018-08-14 | 2019-01-18 | 西安电子科技大学 | 基于蚁狮算法的稀疏天线方向图综合方法 |
CN111062515A (zh) * | 2019-11-18 | 2020-04-24 | 深圳供电局有限公司 | 一种配电网分布式电源配置方法 |
CN112085318A (zh) * | 2020-07-28 | 2020-12-15 | 河南科技大学 | 一种基于多目标蚁狮算法的客户需求模块化工艺配置方法 |
CN113240068A (zh) * | 2021-05-14 | 2021-08-10 | 江苏科技大学 | 一种基于改进蚁狮算法的rbf神经网络优化方法 |
WO2021179462A1 (zh) * | 2020-03-12 | 2021-09-16 | 重庆邮电大学 | 基于改进量子蚁群算法的Spark平台任务调度方法 |
CN114490618A (zh) * | 2022-02-15 | 2022-05-13 | 北京大数据先进技术研究院 | 基于蚁狮算法的数据填补方法、装置、设备及存储介质 |
-
2023
- 2023-02-08 CN CN202310127816.XA patent/CN116340839B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241576A (zh) * | 2018-08-14 | 2019-01-18 | 西安电子科技大学 | 基于蚁狮算法的稀疏天线方向图综合方法 |
CN111062515A (zh) * | 2019-11-18 | 2020-04-24 | 深圳供电局有限公司 | 一种配电网分布式电源配置方法 |
WO2021179462A1 (zh) * | 2020-03-12 | 2021-09-16 | 重庆邮电大学 | 基于改进量子蚁群算法的Spark平台任务调度方法 |
CN112085318A (zh) * | 2020-07-28 | 2020-12-15 | 河南科技大学 | 一种基于多目标蚁狮算法的客户需求模块化工艺配置方法 |
CN113240068A (zh) * | 2021-05-14 | 2021-08-10 | 江苏科技大学 | 一种基于改进蚁狮算法的rbf神经网络优化方法 |
CN114490618A (zh) * | 2022-02-15 | 2022-05-13 | 北京大数据先进技术研究院 | 基于蚁狮算法的数据填补方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
An Improved Ant Lion Optimization Algorithm and Its Application;Haicheng Shen等;《2022 IEEE International Conference on Networking, Sensing and Control》;1-6 * |
遗传增强蚁群优化算法;梁豪默;王智学;刘艺;;微电子学与计算机(08);107-110+114 * |
Also Published As
Publication number | Publication date |
---|---|
CN116340839A (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116340839B (zh) | 基于蚁狮算法的算法选择方法及装置 | |
Chen et al. | Efficient ant colony optimization for image feature selection | |
Grubinger et al. | evtree: Evolutionary learning of globally optimal classification and regression trees in R | |
Khaleghi et al. | Consistent algorithms for clustering time series | |
Li et al. | Max-margin deep generative models for (semi-) supervised learning | |
US20180018566A1 (en) | Finding k extreme values in constant processing time | |
Tian et al. | Learning subspace-based RBFNN using coevolutionary algorithm for complex classification tasks | |
Wen et al. | Comparision of four machine learning techniques for the prediction of prostate cancer survivability | |
Rojo et al. | Machine learning applied to wi-fi fingerprinting: The experiences of the ubiqum challenge | |
CN117391258A (zh) | 一种负碳排放的预测方法、装置、设备及存储介质 | |
Fong et al. | Gesture recognition from data streams of human motion sensor using accelerated PSO swarm search feature selection algorithm | |
Goel et al. | Learning procedural abstractions and evaluating discrete latent temporal structure | |
Saini et al. | Select wisely and explain: Active learning and probabilistic local post-hoc explainability | |
Jiang et al. | Meta-learning to cluster | |
Brunello et al. | Towards interpretability in fingerprint based indoor positioning: May attention be with us | |
CN116208399A (zh) | 一种基于元图的网络恶意行为检测方法及设备 | |
Phiwhorm et al. | A hybrid genetic algorithm with multi-parent crossover in fuzzy rule-based | |
Lu et al. | Combining multiple clusterings using fast simulated annealing | |
Canchila et al. | Hyperparameter optimization and importance ranking in deep learning–based crack segmentation | |
Ouedraogo | Interpretable Machine Learning Model Selection for Breast Cancer Diagnosis Based on K-means Clustering | |
Parraga-Alava et al. | A bi-objective model for gene clustering combining expression data and external biological knowledge | |
Du et al. | Network intrusion detection based on selective ensemble learning | |
WO2023044927A1 (zh) | Rna-蛋白质相互作用预测方法、装置、介质及电子设备 | |
Widodo et al. | Finding the Best Performance of Bayesian and Naïve Bayes Models in Fraudulent Firms Classification through Varying Threshold | |
Lander | Multi-objective graph mining algorithms for detecting and predicting communities in complex dynamic networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |