CN113591944A - 随机森林模型训练中参数选择的优化方法、系统、设备 - Google Patents
随机森林模型训练中参数选择的优化方法、系统、设备 Download PDFInfo
- Publication number
- CN113591944A CN113591944A CN202110797292.6A CN202110797292A CN113591944A CN 113591944 A CN113591944 A CN 113591944A CN 202110797292 A CN202110797292 A CN 202110797292A CN 113591944 A CN113591944 A CN 113591944A
- Authority
- CN
- China
- Prior art keywords
- quantum
- random forest
- parameter
- algorithm
- qga
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N10/00—Quantum computing, i.e. information processing based on quantum-mechanical phenomena
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Physiology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Genetics & Genomics (AREA)
- Computational Mathematics (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于模型优化技术领域,公开了一种随机森林模型训练中参数选择的优化方法、设备、终端,所述随机森林模型训练中参数选择的优化方法包括:确定随机森林的参数影响;构建基于QGA‑RF的参数优化算法;进行基于量子遗传算法的随机森林优化。本发明通过实验证明经过QGA的优化,随机森林算法的分类性能获得了提升,而且模型的训练时间也在可接受范围内;QGA相较于GA有更好的全局搜索能力,且不易陷入局部最优解。同时,本发明使用改进的QGA对随机森林分类模型进行优化,给出了随机森林中两个参数对模型分类性能的影响,并通过QGA搜索出一对最优的参数解,最后通过实验证明了该方法的有效性。
Description
技术领域
本发明属于模型优化技术领域,尤其涉及一种随机森林模型训练中参数选择的优化方法、设备、终端。
背景技术
目前,相对于机器学习中的一些基本学习算法,随机森林算法被证明了拥有更高的分类准确率,而且在非线性分类问题中同样表现出更好的分类性能。因此随机森林算法经常被国内外很多研究者使用在分类预测问题上。Zhou等人通过一个选择性集成算法组合多棵决策树构建随机森林模型,并淘汰预测性能低的决策树,提高了模型的准确率。El-Adawi R等人提出统计封锁法,使用支持向量机和随机森林来对尾点进行识别分类,结果证明在一定情况下随机森林的分类准确率要比支持向量机好很多。
除此之外,随机森林的并行化特点还被研究者们广泛使用在大数据集的处理中。Li等人提出在Spark平台上使用随机森林算法,并行化的特点使随机森林算法的执行速度大大的加快,但是并没有进行优化算法等方面的研究。刘凯等人同样在Spark平台上运行随机森林算法,并且加上了自适应的特征选择方法。在卡方检验的基础上,引入自适应稀疏约束机制来删除冗余特征,并通过实验证明了优化后的随机森林算法对分类结果的准确率有明显的提升。
从随机森林被提出,就有不少研究对随机森林进行使用、对比以及优化改进。而更多研究重点则是在随机森林算法的改进上,包含了三个方面,一是数据集上:孟海东通过敏感度的设置来增加决策树对数据集中少数类的分类能力,并利用Hadoop实现了算法的更新。杨杰明提出了一种根据类的区分度来实现K-means聚类的方法,降低了少数类的识别错误率。Jia J等人通过PCA算法对数据集进行预处理,在一定程度上消除了弱决策树。二是特征选择上:Lu等人开发了一个数据驱动的框架,用于识别复杂技术的关键组件来匹配特征选择。Marie等人将变量聚类与特征选择进行结合,最终选择相关性最高的变量组来完成随机森林的建立。Rui Yao通过路径选择建模方法来进行特征选择,并结合聚类的方法识别路径特征,实验证明该方法不仅解释力强,而且具有较高的预测精度。Kanakarajan N K等人利用随机自适应搜索方法的退火随机性来进行特征选择,提高了分类的准确性。三是参数选择上:Probst P等人提出一种参数调整策略用于参数的选择,在实际测试中该方法有效地提高了随机森林算法的分类准确率。周天宁等人首先改进了传统的网格算法,并分析了遗传算法,然后分别用这两种算法对随机森林的两个参数进行优化选择。马骊则是通过混合智能算法,通过将遗传算法,粒子群算法,人工鱼群算法与随机森林算法进行结合,然后进行随机森林的参数选择。实验证明从多个评价指标出发,结果均优于传统的参数取值。
综上所述,为了减少分类模型的复杂度和计算成本,实现大规模分布式处理的网络流量分类模型还要进一步的进行研究,这也是目前随机森林算法发展的方向。
通过上述分析,现有技术存在的问题及缺陷为:
(1)现有针对随机森林算法的技术方案,没有进行优化算法等方面的研究,量子遗传算法的实现上,根据优化目标的不同,实现的效率可能不同。
(2)单一的随机森林算法会出现过拟合的现象以及对少数类的分类不够准确,同时不好在准确率与计算开销上达到一个平衡的问题,需要进行不断地优化与改进。
解决以上问题及缺陷的意义为:对随机森林的模型构建具有一定帮助,提高准确率,而且不仅可以优化随机森林算法,还可适用于机器学习的其他算法。
发明内容
针对现有技术存在的问题,本发明提供了一种随机森林模型训练中参数选择的优化方法、系统、设备。
本发明是这样实现的,一种随机森林模型训练中参数选择的优化方法,所述随机森林模型训练中参数选择的优化方法包括以下步骤:
步骤一,确定随机森林的参数影响;掌握随机森林构建中的关键因素,以及影响随机森林分类性能的点,准确有效的对随机森林进行优化。
步骤二,构建基于QGA-RF的参数优化算法;提出一个算法的执行流程,对整个算法的介绍会更加全面。
步骤三,进行基于量子遗传算法的随机森林优化。有实验做对照,帮助进行结果的分析。
进一步,步骤一中,所述确定随机森林的参数影响,包括:
当使用随机森林算法对网络流量进行分类预测时,在原始数据集一定的情况下,影响模型分类准确率及运算时间的因素包括训练一棵决策树时需要随机选取的特征子集中的特征数量k和最终形成的随机森林模型中决策树的数量n。
进一步,使用CART决策树作为随机森林分类模型中的基本学习器,因为CART决策树在分类和回归问题上都有良好的分类性能。CART决策树使用基尼系数作为节点划分时特征选择的指标。假设样本集合为X,其中包含m个类别,第i个类在集合中所占的比例为pi(i=1,2,3...,m),则集合X的基尼系数如公式所示:
当以特征a划分节点时,在a的条件下,集合X的基尼系数可表示为:
其中,v表示a有v个取值,|Xv|表示在a=v时集合包含的样本数量。
进一步,根据随机森林分类模型的实现过程发现:
(1)在构建随机森林分类模型时,经过随机取样会得到的n个样本集,每一个样本集会对应的训练一棵决策树。在训练过程中又需要从总的特征集中随机地抽取指定数量的特征来构成决策树划分的特征子集,而k的大小就决定了单个决策树的分类性能以及两两决策树之间的相关程度。当k值越小时,单一决策树的分类能力会下降,但是随机森林的随机性提高,同时决策树之间的相关性会越低,因此整体随机森林模型的分类性能会加强。现有文献计算了几个具有代表性的k值,并得到了一个较好的分类效果。因此一个合适的k值会使算法有一个更好的表现。
(2)由于随机森林分类模型采用的是投票法进行决策,故森林规模即决策树的数量n决定票数和准确率;根据大数定理,当n增大时,模型被证明泛化误差会收敛,模型的分类性能会逐渐稳定,不会出现过训练的问题,且在一定范围内会有一对超参数组合使准确率达到最高,组合中n的值不一定是范围内的最大值,故在考虑时间空间成本的前提下寻找使分类准确率最高的超参数n。
超参(k,n)的选择成为随机森林分类模型建立中一个重要的环节,通过使用改进的量子遗传算法对超参数(k,n)进行选择与优化。
进一步,步骤二中,所述构建基于QGA-RF的参数优化算法,包括:
通过介绍量子遗传算法和随机森林算法中需要进行优化的参数,提出基于量子遗传算法的随机森林QGA-RF参数优化算法。该算法的目的是探究模型分类性能与超参数(k,n)的关系,寻找最佳的超参数组合来达到最优的分类性能。
直接使用模型的分类准确率表现最终模型的泛化能力。其中,根据对随机森林中超参数的了解与分析,以及考虑时间和空间的计算成本,将k和n的取值范围定为:[1,M]和[1,64]。M为数据集中总的特征数量,64是根据计算机的计算能力,与时间成本综合考虑下决定的。
进一步,步骤二中,所述构建基于QGA-RF的参数优化算法,还包括:
(1)确定(k,n)的取值范围,然后根据QGA使用多个单量子比特来表示一个染色体X:
其中,前i个量子位的组合表示k,后面第i+1位至t位表示n,使用正余弦的方式来编码染色体X:
(2)初始化种群:确定种群数量m,最大迭代次数maxgen和量子突变概率Pm;使用一个随机数r1(r1∈[0,1]),在初始化种群的时候不再等分种群,而是对每一个染色体X的每一个量子位上的θ乘上一个r1,即初始化的染色体X表示为:
(3)量子坍缩:在每一轮的迭代中无法直接对一个量子态进行适应度值的计算,需要一个量子坍缩的过程,设置一个随机数r2,若r2>cos2θi,则对应的第i位量子比特坍缩到1,否则为0。以此来进行进制转换得到十进制下的(k,n)。
(4)使用随机森林分类模型的分类准确率作为染色体个体的适应度值进行判断,即:
fit(X)=Accuracy(k,n);
(5)量子旋转门更新:使用自适应的旋转角对传统量子旋转门进行改进。
(6)量子突变:设置第三个随机数r3,∈[0,1],当r3<Pm时发生量子突变。
使用哈达玛门即Hadamard门进行改进,其形式为:
式中,fmax代表当代中染色体最佳的适应度值,favg代表当代中所有染色体适应度值的平均值。当公式成立时,认为种群中只有少数个体适应度高,此时需要大幅转变,因此使用量子非门进行突变,反之则使用Hadamard门。
(7)判断是否达到最大的迭代次数;是,则停止算法给出最优解;否,则进入步骤(3)进行下一轮迭代。
进一步,步骤三中,所述量子遗传算法的步骤,包括:
(1)编码:QGA最大的特点就是用量子态的形式对染色体进行编码,一个量子位上的量子态表示一个特征信息;同时每个量子态用下式表示,且|0>和|1>可作为标准正交基,表示为:
叠加态|ψ>则可用下式表示,对一个具有t个基因的染色体X进行量子态编码,其叠加态|ψ>可表示为:
其中,|αi|2+|βi|2=1,i∈{1,2,3...t},因此叠加态|ψ>也可记为:
这种编码方式只使用θ一个参数,使得算法更加简洁,并且在进行量子门旋转时也会更加直观。
(2)初始化种群:使用叠加态|ψ>公式编码时θ随机产生。
(3)量子坍缩:经过量子坍缩,即对量子态进行观测;在区间[0,1]上生成随机数r,判断,若r>|αi|2,则对应的第i位量子态坍缩到1,否则为0。
(4)适应度函数:确定一个适应度函数,并计算每一个染色体的适应度值,用于每一轮迭代的进化和最终选择。
(5)量子旋转门:利用量子旋转门对量子态进行更新,是实现二维希尔伯特空间矢量变换的一种方式。使用量子旋转门来实现个体向最优个体的转变,其形式表示为:
其中,θ′为旋转角,由公式:θ'=Δθ·S(cosθsinθ)确定;Δθ为旋转角的大小,S(cosθsinθ)决定了旋转的方向。对于任意量子位进行量子旋转门更新操作得:
其中,是第i位更新后的量子态。通常旋转角和旋转方向是定好的。通过旋转规则,可以发现若当前个体的适应度值大于当代最佳的个体时,旋转方向会向着有利于当前个体的方向旋转,反之则会向着最佳个体旋转,这确保了更新操作始终是向着最优方向去收敛的。
使用自适应方法来动态调整旋转角的大小。当需要更新的个体适应度值与当代中最佳个体的适应度值差距过大时,进行较大角度的旋转,反之则进行小角度的旋转。
自适应的Δθ调整方案如下:
其中,Δθ∈[0.01π,0.05π],θa和θb分别表示区间上的最小和最大值。Fmax表示当代最佳的适应度值,Fcur表示需要进行更新的个体的适应度值。此方案将适应度与旋转角结合在一起,自适应的调节旋转角大小,提高算法的收敛速度。
(6)量子突变:在QGA中使用一个量子非门,即Pauli-X门进行量子突变。量子非门可表示为:
对任意一个叠加态|ψ>实施突变操作可得:
量子非门的操作效果与GA中的变异基本无异,QGA中,突变后的量子位可见是对基本态概率幅的一次交换,使其被观测时得到0或1的概率进行了交换,达到突变的目的。
本发明的另一目的在于提供一种应用所述的随机森林模型训练中参数选择的优化方法的随机森林模型训练中参数选择的优化系统,所述随机森林模型训练中参数选择的优化系统包括:
参数影响确定模块,用于确定随机森林的参数影响;
参数优化算法构建模块,用于构建基于QGA-RF的参数优化算法;
随机森林优化模块,用于基于量子遗传算法进行随机森林优化。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
(1)确定随机森林的参数影响;
(2)构建基于QGA-RF的参数优化算法;
(3)进行基于量子遗传算法的随机森林优化。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的随机森林模型训练中参数选择的优化系统。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的随机森林模型训练中参数选择的优化方法,随机森林算法在机器学习中本就有着不错的分类性能,通过实验又证明了经过QGA的优化,随机森林算法的分类性能又获得了提升,而且模型的训练时间也在可接受范围内;QGA相较于GA有更好的全局搜索能力,且不易陷入局部最优解。本发明使用改进的QGA对随机森林分类模型进行优化,给出了随机森林中两个参数对模型分类性能的影响,并通过QGA搜索出一对最优的参数解,最后通过实验证明了该方法的有效性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的随机森林模型训练中参数选择的优化方法流程图。
图2是本发明实施例提供的随机森林模型训练中参数选择的优化系统结构框图;
图中:1、参数影响确定模块;2、参数优化算法构建模块;3、随机森林优化模块。
图3是本发明实施例提供的随机森林算法流程图。
图4是本发明实施例提供的CART决策树算法流程图。
图5是本发明实施例提供的GA中交叉操作示意图。
图6是本发明实施例提供的GA流程图。
图7是本发明实施例提供的QGA-RF的参数优化算法流程图。
图8是本发明实施例提供的机器学习中不同算法的对比示意图。
图9是本发明实施例提供的种群数量为10和20时QGA的迭代过程示意图。
图10是本发明实施例提供的QGA与GA对RF参数优化的迭代过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种随机森林模型训练中参数选择的优化方法、系统、设备,下面结合附图对本发明作详细的描述。
如图1所示,本发明实施例提供的随机森林模型训练中参数选择的优化方法包括以下步骤:
S101,确定随机森林的参数影响;
S102,构建基于QGA-RF的参数优化算法;
S103,进行基于量子遗传算法的随机森林优化。
如图2所示,本发明实施例提供的随机森林模型训练中参数选择的优化系统包括:
参数影响确定模块1,用于确定随机森林的参数影响;
参数优化算法构建模块2,用于构建基于QGA-RF的参数优化算法;
随机森林优化模块3,用于基于量子遗传算法进行随机森林优化。
下面结合实施例对本发明的技术方案作进一步描述。
1、概述
(1)了解了智能优化算法中遗传算法的基本概念,通过该算法的实现流程,分析其存在的问题以及可进行优化的环节。因传统遗传算法在一定情况下会出现过早收敛的问题,所以提出使用量子遗传算法来替换遗传算法。并且在量子遗传算法实现的过程中进行改进,对其编码方式,量子旋转门的更新进化策略以及量子突变过程进行优化,使量子遗传算法的性能得到进一步的提升。
(2)将改良后的量子遗传算法用于随机森林模型的训练中,对随机森林中的两个超参数进行优化选择。目的是为了减小随机森林分类模型的训练时间以及提高随机森林分类模型的分类准确率。并通过实验证明了经过量子遗传算法优化后的参数选择对随机森林分类模型的建立具有积极作用。
2、随机森林算法概述
Leo Breiman提出的随机森林算法(Random Forests,RF)是Bagging算法的一个扩充,在Bagging的基础上引入随机特征选择的方法。随机森林是将一定数目的CART决策树作为基学习器构建组成的分类模型,通过投票法根据多数原则决定分类结果。一般随机森林算法执行的流程图如图3所示。
2.1决策树
决策树(Decision Tree)作为随机森林模型中的一个基学习器,是机器学习中常用的一个算法。决策树是一个树形结构,通过从根节点向下传递完成决策,这恰好是研究者们在处理某些问题时,一种很平常的处理方式。决策树的生长中最关键的环节就在于如何去决定节点最佳的划分特征,使末端叶节点上所包含的样本尽量是同一种类别,也就是说决策树中内部节点的纯度会随着分裂程度的加深而越来越高。常用的划分依据有信息熵(Information Entropy)、信息增益(Gain Ratio)和基尼指数(Gini Index),依次对应常用的决策树生成算法ID3、C4.5和CART。
本发明使用CART决策树作为随机森林分类模型中的基本学习器,因为CART决策树在分类和回归问题上都有良好的分类性能。CART决策树使用基尼系数作为节点划分时特征选择的指标。假设样本集合为X,其中包含m个类别,第i个类在集合中所占的比例为pi(i=1,2,3...,m),则集合X的基尼系数如公式所示:
当以特征a划分节点时,在a的条件下,集合X的基尼系数可表示为:
其中,v表示a有v个取值,|Xv|表示在a=v时集合包含的样本数量。
CART决策树构造简单,计算量小,且具有可读性。同时在很多情况下CART决策树比一般统计方法构造的分类标准更为准确。特别是当数据集十分复杂,特征又很多的情况下该算法越能体现其良好的分类性能。CART决策树的实现步骤见表1所示。
表1 CART决策树算法
CART决策树算法具体的实现流程图如图4所示。
但是CART决策树也存在一定的问题,在分类过程中决策树会容易受噪声的干扰,从而导致错误的分类,而且该算法稳定性不高。这些也都是单一学习器共有的问题。因此,研究者们在单一决策树算法的基础上提出集成学习的思想,以进一步优化算法的稳定性和准确率。
2.2随机森林模型
集成学习的出现解决了单一学习器所固有的缺陷,通过组合更多的学习器,可以吸收单一学习器的优势,突破自身的局限性。随机森林算法就是集成学习方法下的成果,通过组合任意个随机的基学习器,无限收敛分类问题的泛化误差,提高模型的分类能力。由一定数量的CART决策树组成的随机森林,在随机选择特征子集后以投票法完成分类任务。随机森林中较为重要的内容有随机采样、特征选择、袋外误差率。
随机采样:指的是对一个包含有n个数据样本的初始数据集进行有放回的bootstrap随机抽样,即每轮抽样中每个样本被选中的概率都是相同的。经过n次抽取后,可以组成一个新的仍包含n个样本的样本集。通过这样的采样方式,当n趋向于无穷大时,经过计算原始数据集中约有63.2%的数据会出现在新的样本集中。
特征选择:体现了随机森林的另一个随机性。在每一棵CART决策树的每一个节点上,从原始特征集中随机选取一个只含有k个特征的子集,然后再从这个子集中挑选最佳的特征进行划分。这个参数k就代表了随机森林随机性的程度。一般情况下k=log2 M,或1,M为原始特征集的大小。
袋外误差率:随机森林算法使用有放回的bootstrap随机采样,这就意味数据集中有大约36.8%的样本没有参加过学习器的训练。而在随机森林模型中的每一棵CART决策树上,每棵树都会有约36.8%的样本数据未参与到该树的训练过程中,这些为参与该树训练的样本就被称为“袋外数据”(Out of Bag,OOB),可以利用这些“袋外数据”来检验模型的泛化能力和预测效果。而袋外误差率(ErrorOOB)就是随机森林进行自我检验的度量标准。使用袋外误差率的一个明显优势就在于无需重复训练,只需要找出这些袋外数据即可,而且可以作为随机森林的无偏估计直接使用。
2.3存在问题及优化
随机森林算法被认为是“代表集成学习技术水平的算法”,具有简洁、易操作等众多优势,在很多现实分类任务中都展现出强大的性能,但也存在一些问题。比如:当训练集中存在部分噪音干扰时,随机森林算法也会出现过拟合的问题;当训练集中的数据不够平衡时,随机森林算法无法对样本数量较小的类进行很好的预测;随机森林要想达到很高的分类准确率就需要扩大森林的规模,但同时也增加了模型的训练时间和不必要的计算开销。这些问题都使得随机森林算法在处理一些现实问题中受到很大的限制。
针对训练数据不够均衡的问题,通常从两个方面去解决,一是数据层面,二是算法层面。研究者们一般从数据层面入手,使用重采样的方法来平衡数据集。现有文献通过结合K-means聚类算法和SMOTE过采样技术,在不均衡的数据集上训练随机森林模型,并获得了良好的分类效果。现有文献通过改进模糊C均值算法(Fuzzy C-means,FCM),改变度量方式以增加FCM算法的鲁棒性。再结合SMOTE过采样技术提出AFCM-SMOTE算法对不平衡数据集进行处理,随机森林的分类性能同样取得了不错的提升。现有文献则选择利用深度学习的生成式对抗网络对数据集进行处理,生成一定数量的少数类样本然后组合原始数据集形成一个分布均匀的数据子集。针对随机森林规模的问题,现有文献提出一种主动随机森林模型构建的方法,通过特定条件来排除精度较低的决策树,以达到降低森林规模的目的。该方法能够平均减少37.5%的随机森林处理时间。现有文献提出一种自适应随机森林算法,该算法可以通过并行操作完成决策树的替换以应对可能发生的概念漂移等问题,在不扩充随机森林规模的前提下保持了良好的分类性能和较少的运算时间。
3、量子遗传算法概述
本发明详细阐述了遗传算法和量子遗传算法的原理及实现过程,分析了各自的优势和存在的问题,并在量子遗传算法的基础上加以改进。
3.1遗传算法
遗传算法(Genetic Algorithm,GA)是于上个世纪六十年代由John Holland提出,GA能够模拟自然环境中生物的进化过程,通过“适者生存”的进化理念以及“优胜劣汰”的遗传机理,来建立一种计算模型用于搜索最优解。GA通过多种编码方式将所有的解转化成一条条染色体,这些染色体在进化过程中经过选择(Selection)、交叉(Crossover)、变异(Mutation)的操作不断进化,最终收敛到最佳的群体形态,得到问题的最优解或次优解。
GA作为一种智能优化方法包含下面几个特点:一是能直接处理结构化的数据;二是GA的搜索过程是可以并行运算的,而且还能够主动调整搜索方向,具有一定的全局搜寻能力;三是通过染色体的适应度值来进行评价,而且适应度函数不会受连续性函数的影响。同时GA还是一种非线性的智能优化算法,可以运用到机器学习等多个领域。
3.1.1遗传算法基本原理和关键环节
1.遗传算法基本原理
GA的基本思路是将优化问题的所有解比作自然环境下的一个种群,算法的执行过程就是模拟种群在自然环境下的遗传繁衍过程,通过不断地进化形成最优的种群。
在GA中,通过不同的编码方式将染色体进行编码用来表现特征,用适应度值进行评价,这样就构造了染色体编码方式和适应度的映射关系。编码工作实现后,初始化的种群会根据每个染色体的适应度值来进行选择,把每一轮迭代中最适合的基因传递给下一轮,这样优质基因得以留存。染色体的交叉、变异保证了种群的多样性,通过不同的交叉、变异概率能够在一定情况下产生新的染色体,增加GA的全局搜寻能力。经过一定时间的进化,种群会发展到最适合当下环境的一代,此时种群中适应度最佳的染色体就是解决问题的答案,通过解码就可以获得问题对应的最优解或较好的解。
2.GA实现的关键环节
GA的实现主要包含以下几个关键环节:
1)编码
GA的种群由染色体构成,每条染色体代表优化问题中的一个解。对于染色体的处理根据实际情况选择合适的编码方式,不同的编码方式会影响后续的运算模式。一般情况下使用二进制编码来简化此过程。除此之外,还有格雷码,浮点数编码等各种形式。一个好的编码方式应具备完整性、鲁棒性和非冗余性等特点。
2)确定适应度函数
染色体的表现即解的质量由一个适应度函数确定,将解码后的值输入适应度函数,得到的适应度值就代表染色体的适应程度。当优化的问题需求不同时,选择一个恰当适应度函数对算法的执行效率有明显的影响。对于分类问题,可以选择计算交叉验证率和泛化能力作为适应度函数。
3)选择(Selection)
从种群中选择出对环境适应性最好的染色体,并将其优秀基因传递给下一代的过程就是选择。选择的第一步是统计种群中所有染色体的适应度值,以此为基础,适应度较差的被选中的概率就会变小,适应度好的基因会被大概率选中并传递给下一代。常用的选择算子有:轮盘赌方法、随机抽样法、部分选择法等。
4)交叉(Crossover)
类似生物遗传基因的重组,两个随机选择的染色体通过指定的方式和概率进行基因片段的交换,生成两个新的染色体。通过交叉操作可以保证种群的多样性和适应性,GA的搜索能力也得到巨大提升。
5)变异(Mutation)
通过设置的变异概率,某一个染色体会进行变异。染色体上某一基因位的数值会行改变,就相当于发生了基因突变,进而产生一个新的染色体。一般情况下变异概率是比较低的。通过变异可以在保证GA向最优收敛的同时,增加少量新的个体,扩大搜索范围。
3.1.2遗传算法实现步骤及流程图
1.实现步骤
以优化随机森林中特征子集的特征数量k和决策树数量n为例:
(a).使用二进制编码方式,例如k=3,n=100时对(k,n)进行二进制编码得到染色体串为[00111100100],串的长度由k和n的最大值决定。
(b).初始化种群,设定种群大小pop,以及选择算子,交叉概率Pc,变异概率Pm。然后对种群中所有染色体进行编码。确定一个适应度函数,随机森林中一般可使用袋外误差率来作为适应度函数。
(c).计算种群中每一个个体的适应度值,并记录。
(d).选择。在适应度计算完成后,根据确定的选择算子挑选作为父代的个体,例如:轮盘赌选择,染色体基因的适应度值越大,则该染色体个体被选中的几率就越大。
(e).交叉。随机选择两个个体和一个[0,1]之间的随机数r1,当r1<Pc时发生交叉,交叉位也是随机的。例如:两个染色体a和b分为(3,100)和(2,150),编码后的形式为[001101100100]和[001010010110],交叉后会产生的新染色体a’和b’,过程如图5所示。
(f).变异。与交叉一样,生成一个随机数r2,当r2<Pm时发生变异。变异就是在随机的基因位上将数值进行改变,进而产生一个新的个体。
(g).判断算法是否达到停止的条件。可以使用最大的迭代次数作为终止条件,也可以当种群中最佳个体的适应度值达到预期作为条件。输出当代中适应度值最优的个体。若都不成立就进入(c)开始下一轮。
(2)遗传算法流程图
在图6中给出了实现GA的流程图。
3.1.3存在问题及优化
GA作为一种优化算法,通过自身优秀的全局能力可以使一般的迭代算法避免陷入局部最优的情况,而且适用范围广,扩展性强。但是在实际使用中,GA自身也不可避免地存在一些问题,比如:编码及解码的过程使算法的实现变得复杂,算法自身包含过多的参数会影响执行效果,在求解复杂问题时也会出现陷入局部最优的情况。
针对这些问题对GA进行了不少改进,现有文献在传统GA中引入Climbing算法,改进了GA的初始权值和部分阈值,引导和调整GA的搜索方向直到获得全局最优解。现有文献采用精英保留策略,并改进了交叉、变异算子,实验证明该方法提高了求解的精度和效率。现有文献提出了一种基于有效重启和贪心策略的自适应GA,在遗传的不同阶段对交叉、变异算子进行动态调整,并利用重新启动策略克服早熟问题。而Mark和Ajit二人将量子计算的原理引入GA,形成QGA,该算法继承了GA的优势,又增添了量子计算的特点,使得GA得到了更进一步的优化。
3.2量子遗传算法
上个世纪80年代,美国科学家提出了量子力学以及计算概念,通过利用量子力学的原理进行计算机的仿真,可以突破一些经典计算陷入的困境。随着量子计算的不断发展,充分利用其叠加的特性、相干性等特征可以更好的发挥量子计算的性能。量子计算也被应用到问题优化方面,将量子计算的基本原理通过一定方式融入到遗传算法中就形成了量子遗传算法(Quantum Genetic Algorithm,QGA)。
3.2.1量子遗传算法原理
量子遗传算法中最主要的就是量子计算原理。量子计算中包含量子态、概率幅等概念。信息的载体被具有双态系统的量子位所表示。借助于量子力学,可以使一个量子位不仅处在0或1的任意状态,还能处于二者的叠加态之中。通过量子计算的各种特性,理论上量子计算在解决某些问题上会比经典计算要快。
量子计算中量子比特有很多形式。以单量子比特为例,一个有n个单量子比特的系统,可以表示2n种量子态,在量子理论中使用狄拉克符号“| >”来标记量子态。|0>和|1>两个基本态就对应0和1。单量子比特就是这两个基本态的组合,即叠加态|ψ>,可以表示为:
|ψ>=α|0>+β|1> (3)
其中,α和β满足下列条件:
|α|2+|β|2=1 (4)
除了两个基本态以外,量子位均处于叠加态,用向量形式表示为:
因为概率幅α和β满足归一化要求,因此叠加态|ψ>也可以表示为式(6),θ是相位角。
本发明使用的QGA是将量子计算与遗传算法进行组合,通过综合发挥各自的优势可以获得较好的成果。QGA是建立在量子计算上的一种新兴的概率优化算法,具备快速收敛,性能强,全局搜索能力强等优点。
3.2.2量子遗传算法步骤
QGA与GA不同点在于,使用量子态对染色体进行编码,然后初始化种群,在迭代过程中使用量子门对染色体进行更新,突变等操作,直到触发终止条件,输出适应度最佳的染色体,即问题的最优解。接下来将阐述QGA的具体实现步骤。
第一步:编码。QGA最大的特点就是用量子态的形式对染色体进行编码,一个量子位上的量子态表示一个特征信息。同时每个量子态用式(3)表示,且|0>和|1>可作为标准正交基,表示为:
叠加态|ψ>则可用式(5)表示。因此对一个具有t个基因的染色体X进行量子态编码,其叠加态|ψ>可表示为:
其中,|αi|2+|βi|2=1,i∈{1,2,3...t},因此叠加态|ψ〉也可记为:
这种编码方式只使用θ一个参数,使得算法更加简洁,并且在进行量子门旋转时也会更加直观。
第二步:初始化种群。GA在保证种群多样性的情况下需要增大种群的规模,这就会导致巨大的计算开销,QGA则通过使用量子态表示种群中的染色体,在保持多样性的前提下大大减小了种群的规模。使用式(9)编码时θ是随机产生的,因此保证了染色体的多样性,也避免了因概率幅过于平均而导致测量结果集中于某一区域。
第三步:量子坍缩。经过量子坍缩,即对量子态进行观测。需要在区间[0,1]上生成一个随机数r,然后做判断,若r>|αi|2,则对应的第i位量子态坍缩到1,否则为0。
第四步:适应度函数。这里与GA相似,确定一个适应度函数,并计算每一个染色体的适应度值,用于每一轮迭代的进化和最终选择。
第五步:量子旋转门。QGA中最关键的一个环节,利用量子旋转门对量子态进行更新,是实现二维希尔伯特空间矢量变换的一种方式。一个好的量子旋转门可以完成少量的判断和快速的计算,并完成叠加态的改变。QGA中量子位上的概率幅决定进化方向。使用量子旋转门来实现个体向最优个体的转变,其形式表示为:
其中,θ′为旋转角,由公式:θ'=Δθ·S(cosθsinθ)确定。Δθ为旋转角的大小,S(cosθsinθ)决定了旋转的方向。对于任意量子位进行量子旋转门更新操作可得:
其中,是第i位更新后的量子态。通常旋转角和旋转方向是定好的。通过旋转规则,可以发现若当前个体的适应度值大于当代最佳的个体时,旋转方向会向着有利于当前个体的方向旋转,反之则会向着最佳个体旋转,这确保了更新操作始终是向着最优方向去收敛的。
一般情况下的量子旋转门的旋转角度在整个迭代过程中是固定不变的,这样对旋转角的选择就有很高的要求,角度过大可能会造成早熟,过小会影响算法的收敛速度,导致不能发挥QGA的最佳性能。因此本发明使用一种自适应方法来动态调整旋转角的大小。当需要更新的个体适应度值与当代中最佳个体的适应度值差距过大时,进行较大角度的旋转,反之则进行小角度的旋转,这样既优于寻找最佳个体又可提高收敛速度。
自适应的Δθ调整方案如下:
其中,Δθ∈[0.01π,0.05π],θa和θb分别表示区间上的最小和最大值。Fmax表示当代最佳的适应度值,Fcur表示需要进行更新的个体的适应度值。此方案将适应度与旋转角结合在一起,自适应的调节旋转角大小,提高算法的收敛速度。
第六步:量子突变。量子突变与GA中变异操作的目的相同,都是为了保持种群的多样性,同时提高算法的局部搜寻能力。在QGA中使用一个量子非门(Pauli-X门)来进行量子突变。量子非门可表示为:
对任意一个叠加态|ψ>实施突变操作可得:
量子非门的操作效果与GA中的变异基本无异,QGA中,突变后的量子位可见是对基本态概率幅的一次交换,使其被观测时得到0或1的概率进行了交换,达到突变的目的。
3.2.3量子遗传算法应用
随着Han等人第一次将量子编码添加进GA中,各方研究者们开始对QGA进行大量的研究。QGA也开始被广泛地应用到各种实际研究情况中。
2018年马莹等人将一种自适应的策略应用到QGA中,将实数和量子比特进行组合来完成编码,同时使用自适应旋转角策略,让算法在收敛性和精度上有不错的表现。
2019年张秋艳等人提出一种“灾变”概念,当QGA在某个局部已经寻找到最优解时,仅通过交叉和突变无法跳出这个局部范围,因此会陷入早熟的可能。通过这个“灾变”思想,使最优染色体包留,其余的全部重新生成,以较大的几率得到远离该局部的新染色体,极大的提高了QGA的全局能力,并通过实验证明了该方法在连续空间优化的有效性。
2020年刘岩松等人,针对算法可能出现早熟及陷入局部最优的问题,在云环境下采用X条件云发生器来优化量子染色体的交叉和突变方式,并且规定了一个新的算法收敛准则。将QGA应用在桥式起重机主梁的设计中。
现有文献提出了一种基于QGA优化SVM的旋转机械故障诊断方法。使用QGA来对SVM的核函数参数和惩罚系数进行优化,实验证明使用QGA优化SVM的参数,提高了SVM训练的收敛效率和SVM的泛化能力。
现有文献在能源管理的电力预测方面,结合混沌函数和QGA来优化支持向量回归(Support Vector Regression,SVR)模型。通过提出的CQGA对SVR中的损失函数和核函数中的三个参数进行优化选择,提高了模型的分类精度,并为继续探索量子计算概念与混沌映射技术的结合提供了支持。
现有文献同样是在QGA的基础上优化SVR模型,对惩罚因子,核参数以及松弛系数进行选择优化,实现了对SVR的深度寻优。并对股票的收益率进行预测,为投资者提供了有效的投资预测模型。
综上所述,QGA已经在很多领域得到了充分利用,并且在优化机器学习模型方面也得到了认可,所以本发明使用QGA来对随机森林算法进行参数的优化。
3.3本发明首先具体的介绍了智能算法中GA的基本内容。包括基本原理,实现过程以及实现步骤中的具体细节。然后给出了传统GA中所存在的问题,并介绍一些优化的方法。接着通过量子计算的概念引出QGA,并详细阐述了QGA对于GA的改进。同时给出QGA的实现步骤及应用,为本发明涉及的算法优化概念提供了理论支撑。
4、基于量子遗传算法的随机森林优化方法
本发明主要介绍使用QGA对随机森林分类模型进行优化,选取了随机森林算法中较为重要的两个参数,经过QGA的优化选择,使随机森林分类模型的分类性能得以提高。
4.1随机森林的参数影响
当使用随机森林算法对网络流量进行分类预测时,在原始数据集一定的情况下,影响模型分类准确率及运算时间的因素主要有两个:训练一棵决策树时需要随机选取的特征子集中的特征数量k,和最终形成的随机森林模型中决策树的数量n。根据随机森林分类模型的实现过程可以发现:
1.在构建随机森林分类模型时,经过随机取样会得到的n个样本集,每一个样本集会对应的训练一棵决策树。在训练过程中又需要从总的特征集中随机地抽取指定数量的特征来构成决策树划分的特征子集,而k的大小就决定了单个决策树的分类性能以及两两决策树之间的相关程度。当k值越小时,单一决策树的分类能力会下降,但是随机森林的随机性提高,同时决策树之间的相关性会越低,因此整体随机森林模型的分类性能会加强。现有文献计算了几个具有代表性的k值,并得到了一个较好的分类效果。因此一个合适的k值会使算法有一个更好的表现。
2.因为随机森林分类模型采用的是投票法进行决策,因此森林的规模即决策树的数量n决定了票数和准确率。根据John提出的大数定理,当n增大时,模型被证明了泛化误差会收敛,模型的分类性能会逐渐稳定,所以不会出现过训练的问题。但是这并不意味着n越大,模型的准确率就会越高,而是在一定范围内会有一对超参数组合使准确率达到最高,组合中n的值不一定是范围内的最大值。所以应该在考虑时间空间成本的前提下寻找使分类准确率最高的超参数n。
于是,超参(k,n)的选择成为随机森林分类模型建立中一个重要的环节。传统的取值只能获得有限的分类性能,而对于超参数的优化方法常见的有:网格法、智能算法等。现有文献通过使用上下两层优化问题来解决超参数的选择。文献首先对类别进行K-means分解,然后使用改进的GA对超参数对进行选择。文献提出了一种经过二次划分,然后进行贪心选择的网格搜索算法。本发明则是通过第三章对量子遗传算法概念的研究,使用改进的量子遗传算法对超参数(k,n)进行选择与优化。
4.2基于QGA-RF的参数优化算法
本发明通过介绍量子遗传算法和随机森林算法中需要进行优化的参数,提出了基于量子遗传算法的随机森林(QGA-RF)参数优化算法。该算法的目的是探究模型分类性能与超参数(k,n)的关系,寻找最佳的超参数组合来达到最优的分类性能。
一般情况下进行算法验证会使用K折交叉验证,将数据集等分成K份,然后使用其中的一份作为训练集,剩余的作为验证集,重复K次,可以得到K个结果,平均之后的数值就代表模型的泛化能力。但是该方法的计算时间复杂度较高,不适合规模较大的数据集。在随机森林中由于随机采样的方法产生的“袋外数据”恰好解决了这个问题,使用袋外误差率可以很好在模型训练中自主的提升泛化能力,因此直接使用模型的分类准确率(Accuracy)来表现最终模型的泛化能力即可。
其中,根据4.1节对随机森林中超参数的了解与分析,以及考虑时间和空间的计算成本,将k和n的取值范围定为:[1,M]和[1,64]。M为数据集中总的特征数量,64是根据计算机的计算能力,与时间成本综合考虑下决定的。因此,QGA-RF的参数优化算法的流程图如图7所示。
具体执行步骤设计如下:
Step1.确定(k,n)的取值范围,然后根据QGA使用多个单量子比特来表示一个染色体X:
其中前i个量子位的组合表示k,后面第i+1位至t位表示n。因为α和β符合归一化要求,且为了使算法更简洁,本发明使用正余弦的方式来编码染色体X:
Step2.初始化种群。确定种群数量m,最大迭代次数maxgen和量子突变概率Pm。为了使种群可以更加均衡地分布在解空间中,一般QGA会将种群进行等分,然后不同子种群的染色体X中量子基础态的概率幅是不一样的。但是同一染色体中每一个量子位上的概率幅是相同的。因此本发明使用一个随机数r1(r1∈[0,1]),在初始化种群的时候不再等分种群,而是对每一个染色体X的每一个量子位上的θ乘上一个r1。即初始化的染色体X表示为:
这样既保证种群的均匀分布,又增加了种群的随机多样性,提升收敛速度。
Step3.量子坍缩。在每一轮的迭代中无法直接对一个量子态进行适应度值的计算,需要一个量子坍缩的过程,设置一个随机数r2,若r2>cos2θi,则对应的第i位量子比特坍缩到1,否则为0。以此来进行进制转换得到十进制下的(k,n)。
Step4.使用随机森林分类模型的分类准确率作为染色体个体的适应度值进行判断。即:
fit(X)=Accuracy(k,n) (18)
Step5.量子旋转门更新。本发明使用自适应的旋转角对传统量子旋转门进行改进,具体方法描述在3.2.2中的第五步。通过自适应的旋转角可以有效提高收敛速度,同时避免算法对优质解偏离提高局部搜索性能。
Step6.量子突变。首先这里需要设置第三个随机数r3,∈[0,1],当r3<Pm时会发生量子突变。
传统QGA仅使用量子非门,即式(14)对量子位进行突变,但是这样做会增加算法早熟的可能。因此本发明使用哈达玛门(Hadamard门)进行改进,其形式为:
式中,fmax代表当代中染色体最佳的适应度值,favg代表当代中所有染色体适应度值的平均值。当式(20)成立时,认为种群中只有少数个体适应度高,此时需要大幅转变,因此使用量子非门进行突变,反之则使用Hadamard门。这样做的目的可以保证种群的稳定性,不会对优秀个体发生巨大的偏移。
Step7.判断是否达到最大的迭代次数。是,则停止算法给出最优解。否,则进入Step3进行下一轮迭代。
4.3仿真实验与分析
使用量子遗传算法对随机森林的参数选择进行优化,实现网络流量分类模型的建立,实验环境为Windows操作系统,在一台Win10 pro的PC机上,内存大小为16g,规格为DDR4,使用GTX1050的显卡,七代i57300hq的处理器,使用MinGW+g++的模式完成在Windows下对代码的编译。
4.3.1实验数据与参数设置
首先本发明使用剑桥大学在文献上发布的数据集进行随机森林模型的训练与验证。该数据集是从两个站点的三个不同时间段进行收集的,其中包含总共11个小时的TCP和UDP网络流量,并且有来自812k个流的107M个包。本发明从这个数据集中综合选取第一天的一个数据子集作为训练集D1,来训练随机森林模型。然后从第二天和第三天的数据集中各选取一个子集作为验证集D2,D3,来验证模型的分类性能。本发明通过对文献的研究以及对数据集的分析,挑选了7个应用程序的类型,这7个类别基本涵盖了网络用户日常所使用的全部应用程序,具体见表2。然后通过对Moore等人提取的248个特征进行分析,并参考各类研究中使用的特征子集以及特征选择方法,本发明挑选了12个特征组成训练集中的特征子集。这12个特征与流量在网络中的位置无关,且容易通过直接读取或简单计算获得,几乎完全依赖于终端主机上的实际应用程序,表3列出这个特征子集。
表2训练集包含的类别及对应的应用程序和数量
表3特征选择后的特征子集
在基于随机森林算法的网络流量分类模型训练中,先使用固定的参数k=4和n=10,近似于一般随机森林算法的默认参数,进行随机森林分类模型的训练,然后使用量子遗传算法对(k,n)进行优化选择,量子遗传算法中的部分参数见表4。
表4量子遗传算法的参数设置
同时为了验证量子遗传算法的有效性,将种群的数量进行了调整,又分别对10和20的种群做了测试。并且通过实现遗传算法来完成算法的对比,遗传算法中的相关参数见表5。
表5遗传算法的参数设置
4.3.2实验结果与分析
在使用固定参数k=4和n=10进行训练的随机森林分类模型中,实验使用数据集D1作为训练集,并使用另外两个数据集D2,D3作为验证集。在这种情况下随机森林分类模型的平均准确率为92.812%。
为了验证随机森林分类模型相较于其它机器学习算法具有更好的分类性能。实验在python编程中又建立了支持向量机,KNN,朴素贝叶斯和决策树的分类模型。各模型中参数为默认值,得到的平均分类准确率见表6,实验过程如图8所示。
表6不同分类算法的准确率
首先在对比实验中,每一次测试各算法的训练集和测试集是一样的,但各次之间由于划分时的随机性,训练集和测试集又是变化的。在表6和图8中可以发现,SVM和NaiveBayes算法的分类准确率较低,且波动较大。KNN与决策树准确率较高,且决策树的准确率十分接近随机森林算法。
量子遗传算法的种群参数为50时,对随机森林模型进行优化后可以得到一对最佳的参数解,其中k=12,n=46。使用这对参数解来进行训练的随机森林分类模型,其分类准确率最高可达97.845%。
在种群数量不同时,量子遗传算法中最佳适应度值的迭代过程如图9所示。
从图9中可以发现,当种群数量为10,最佳适应度值在第23次迭代时收敛到一个最优解,当种群数为20,则在第15代作左右便收敛到一个最优解。可见当种群数量增加时,算法的全局搜索能力会加强,并能快速收敛到一个最优解。
另外,实验又使用种群数为50的GA作为对比,对随机森林进行了优化选择,在GA中,当k=3,n=48时,随机森林的分类模型准确率可达:96.817%。两种优化算法QGA和GA在种群数为50的实验中迭代过程如图10所示。
由图10可以清晰地发现,在两个算法的优化过程中,二者的最佳适应度值都在向着一个方向收敛。其中GA_RF的优化过程中,平均适应度在前七次迭代中快速向最佳适应度值靠近,但是在之后平均适应度与最佳适应度之间还存在较大的波动,表明GA在一般情况下会缺乏稳定性。在QGA_RF的优化过程中,最佳适应度基本收敛在97.8%左右,并且平均适应度基本在均匀的上升。这说明了QGA在保证种群多样性的同时,完成了全局最优解的探索,同时最大限度地将算法避开了陷入局部最优的问题。
综上所述,随机森林算法在机器学习中本就有着不错的分类性能,通过实验又证明了经过QGA的优化,随机森林算法的分类性能又获得了提升,而且模型的训练时间也在可接受范围内。QGA相较于GA有更好的全局搜索能力,且不易陷入局部最优解。
本发明综合了对于随机森林算法和QGA的基本原理的研究,使用改进的QGA对随机森林分类模型进行优化,给出了随机森林中两个参数对模型分类性能的影响,并通过QGA搜索出一对最优的参数解,最后通过实验证明了该方法的有效性。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘SolidState Disk(SSD))等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种随机森林模型训练中参数选择的优化方法,其特征在于,所述随机森林模型训练中参数选择的优化方法包括:
确定随机森林的参数影响;
构建基于QGA-RF的参数优化算法;
进行基于量子遗传算法的随机森林优化。
2.如权利要求1所述的随机森林模型训练中参数选择的优化方法,其特征在于,所述确定随机森林的参数影响,包括:当使用随机森林算法对网络流量进行分类预测时,在原始数据集一定的情况下,影响模型分类准确率及运算时间的因素包括训练一棵决策树时需要随机选取的特征子集中的特征数量k和最终形成的随机森林模型中决策树的数量n。
4.如权利要求2所述的随机森林模型训练中参数选择的优化方法,其特征在于,根据随机森林分类模型的实现过程发现:
(1)在构建随机森林分类模型时,经过随机取样会得到的n个样本集,每一个样本集会对应的训练一棵决策树;在训练过程中又需要从总的特征集中随机地抽取指定数量的特征来构成决策树划分的特征子集,而k的大小就决定了单个决策树的分类性能以及两两决策树之间的相关程度;当k值越小时,单一决策树的分类能力会下降,但是随机森林的随机性提高,同时决策树之间的相关性会越低,因此整体随机森林模型的分类性能会加强;
(2)由于随机森林分类模型采用的是投票法进行决策,故森林规模即决策树的数量n决定票数和准确率;根据大数定理,当n增大时,模型被证明泛化误差会收敛,模型的分类性能会逐渐稳定,不会出现过拟合的问题,且在一定范围内会有一对超参数组合使准确率达到最高,组合中n的值不一定是范围内的最大值,在考虑时间空间成本的前提下寻找使分类准确率最高的超参数n;
超参树(k,n)的选择成为随机森林分类模型建立中一个重要的环节,通过使用改进的量子遗传算法对超参数(k,n)进行选择与优化。
5.如权利要求1所述的随机森林模型训练中参数选择的优化方法,其特征在于,所述构建基于QGA-RF的参数优化算法,包括:通过介绍量子遗传算法和随机森林算法中需要进行优化的参数,提出基于量子遗传算法的随机森林QGA-RF参数优化算法;该算法的目的是探究模型分类性能与超参数(k,n)的关系,寻找最佳的超参数组合来达到最优的分类性能;
直接使用模型的分类准确率表现最终模型的泛化能力;其中,根据对随机森林中超参数的了解与分析,以及考虑时间和空间的计算成本,将k和n的取值范围定为:[1,M]和[1,64];M为数据集中总的特征数量,64是根据计算机的计算能力,与时间成本综合考虑下决定的。
6.如权利要求1所述的随机森林模型训练中参数选择的优化方法,其特征在于,所述构建基于QGA-RF的参数优化算法,还包括:
(1)确定(k,n)的取值范围,然后根据QGA使用多个单量子比特来表示一个染色体X:
其中,前i个量子位的组合表示k,后面第i+1位至t位表示n,使用正余弦的方式来编码染色体X:
(2)初始化种群:确定种群数量m,最大迭代次数maxgen和量子突变概率Pm;使用一个随机数r1(r1∈[0,1]),在初始化种群的时候不再等分种群,而是对每一个染色体X的每一个量子位上的θ乘上一个r1,即初始化的染色体X表示为:
(3)量子坍缩:在每一轮的迭代中无法直接对一个量子态进行适应度值的计算,需要一个量子坍缩的过程,设置一个随机数r2,若r2>cos2θi,则对应的第i位量子比特坍缩到1,否则为0,以此来进行进制转换得到十进制下的(k,n);
(4)使用随机森林分类模型的分类准确率作为染色体个体的适应度值进行判断,即:
fit(X)=Accuracy(k,n);
(5)量子旋转门更新:使用自适应的旋转角对传统量子旋转门进行改进;
(6)量子突变:设置第三个随机数r3,∈[0,1],当r3<Pm时发生量子突变;
使用哈达玛门即Hadamard门进行改进,其形式为:
式中,fmax代表当代中染色体最佳的适应度值,favg代表当代中所有染色体适应度值的平均值;当公式成立时,认为种群中只有少数个体适应度高,此时需要大幅转变,因此使用量子非门进行突变,反之则使用Hadamard门;
(7)判断是否达到最大的迭代次数;是,则停止算法给出最优解;否,则进入步骤(3)进行下一轮迭代。
7.如权利要求1所述的随机森林模型训练中参数选择的优化方法,其特征在于,所述量子遗传算法的步骤,包括:
(1)编码:QGA最大的特点就是用量子态的形式对染色体进行编码,一个量子位上的量子态表示一个特征信息;同时每个量子态用下式表示,且|0>和|1>可作为标准正交基,表示为:
叠加态|ψ>则可用下式表示,对一个具有t个基因的染色体X进行量子态编码,其叠加态|ψ>可表示为:
其中,|αi|2+|βi|2=1,i∈{1,2,3...t},因此叠加态|ψ>也可记为:
只使用θ一个参数;
(2)初始化种群:使用叠加态|ψ>公式编码时θ随机产生;
(3)量子坍缩:经过量子坍缩,即对量子态进行观测;在区间[0,1]上生成随机数r,判断,若r>|αi|2,则对应的第i位量子态坍缩到1,否则为0;
(4)适应度函数:确定一个适应度函数,并计算每一个染色体的适应度值,用于每一轮迭代的进化和最终选择;
(5)量子旋转门:利用量子旋转门对量子态进行更新,是实现二维希尔伯特空间矢量变换的一种方式;使用量子旋转门来实现个体向最优个体的转变,其形式表示为:
其中,θ′为旋转角,由公式:θ'=Δθ·S(cosθsinθ)确定;Δθ为旋转角的大小,S(cosθsinθ)决定旋转的方向;对于任意量子位进行量子旋转门更新操作得:
使用自适应方法来动态调整旋转角的大小;当需要更新的个体适应度值与当代中最佳个体的适应度值差距过大时,进行较大角度的旋转,反之则进行小角度的旋转;
自适应的Δθ调整方案如下:
其中,Δθ∈[0.01π,0.05π],θa和θb分别表示区间上的最小和最大值;Fmax表示当代最佳的适应度值,Fcur表示需要进行更新的个体的适应度值;
(6)量子突变:在QGA中使用一个量子非门,即Pauli-X门进行量子突变;量子非门可表示为:
对任意一个叠加态|ψ>实施突变操作可得:
量子非门的操作效果与GA中的变异基本无异,QGA中,突变后的量子位可见是对基本态概率幅的一次交换,使其被观测时得到0或1的概率进行了交换,达到突变的目的。
8.一种实施权利要求1~7任意一项所述的随机森林模型训练中参数选择的优化方法的随机森林模型训练中参数选择的优化系统,其特征在于,所述随机森林模型训练中参数选择的优化系统包括:
参数影响确定模块,用于确定随机森林的参数影响;
参数优化算法构建模块,用于构建基于QGA-RF的参数优化算法;
随机森林优化模块,用于基于量子遗传算法进行随机森林优化。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
(1)确定随机森林的参数影响;
(2)构建基于QGA-RF的参数优化算法;
(3)进行基于量子遗传算法的随机森林优化。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求8所述的随机森林模型训练中参数选择的优化系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110797292.6A CN113591944A (zh) | 2021-07-14 | 2021-07-14 | 随机森林模型训练中参数选择的优化方法、系统、设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110797292.6A CN113591944A (zh) | 2021-07-14 | 2021-07-14 | 随机森林模型训练中参数选择的优化方法、系统、设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113591944A true CN113591944A (zh) | 2021-11-02 |
Family
ID=78247529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110797292.6A Pending CN113591944A (zh) | 2021-07-14 | 2021-07-14 | 随机森林模型训练中参数选择的优化方法、系统、设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113591944A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114330486A (zh) * | 2021-11-18 | 2022-04-12 | 河海大学 | 基于改进Wasserstein GAN的电力系统不良数据辨识方法 |
CN115469851A (zh) * | 2022-10-20 | 2022-12-13 | 晞德软件(北京)有限公司 | 一种编译器自动调参方法 |
CN115903652A (zh) * | 2022-11-09 | 2023-04-04 | 苏州富邦机械链传动制造有限公司 | 一种用于零件加工的对位冲孔方法及系统 |
CN116308183A (zh) * | 2023-03-23 | 2023-06-23 | 黄河勘测规划设计研究院有限公司 | 水利水电工程人工砂石加工系统关键指标智能设计方法 |
CN116796326A (zh) * | 2023-08-21 | 2023-09-22 | 北京遥感设备研究所 | 一种sql注入检测方法 |
CN117555287A (zh) * | 2024-01-12 | 2024-02-13 | 中国机械总院集团云南分院有限公司 | 一种基于cae的数控机床加工动态性能监控方法及系统 |
CN117909886A (zh) * | 2024-03-18 | 2024-04-19 | 南京海关工业产品检测中心 | 一种基于优化随机森林模型的锯齿棉品级分类方法及系统 |
-
2021
- 2021-07-14 CN CN202110797292.6A patent/CN113591944A/zh active Pending
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114330486A (zh) * | 2021-11-18 | 2022-04-12 | 河海大学 | 基于改进Wasserstein GAN的电力系统不良数据辨识方法 |
CN115469851A (zh) * | 2022-10-20 | 2022-12-13 | 晞德软件(北京)有限公司 | 一种编译器自动调参方法 |
CN115903652A (zh) * | 2022-11-09 | 2023-04-04 | 苏州富邦机械链传动制造有限公司 | 一种用于零件加工的对位冲孔方法及系统 |
CN115903652B (zh) * | 2022-11-09 | 2023-10-27 | 苏州富邦机械链传动制造有限公司 | 一种用于零件加工的对位冲孔方法及系统 |
CN116308183A (zh) * | 2023-03-23 | 2023-06-23 | 黄河勘测规划设计研究院有限公司 | 水利水电工程人工砂石加工系统关键指标智能设计方法 |
CN116796326A (zh) * | 2023-08-21 | 2023-09-22 | 北京遥感设备研究所 | 一种sql注入检测方法 |
CN116796326B (zh) * | 2023-08-21 | 2023-11-14 | 北京遥感设备研究所 | 一种sql注入检测方法 |
CN117555287A (zh) * | 2024-01-12 | 2024-02-13 | 中国机械总院集团云南分院有限公司 | 一种基于cae的数控机床加工动态性能监控方法及系统 |
CN117555287B (zh) * | 2024-01-12 | 2024-04-09 | 中国机械总院集团云南分院有限公司 | 一种基于cae的数控机床加工动态性能监控方法及系统 |
CN117909886A (zh) * | 2024-03-18 | 2024-04-19 | 南京海关工业产品检测中心 | 一种基于优化随机森林模型的锯齿棉品级分类方法及系统 |
CN117909886B (zh) * | 2024-03-18 | 2024-05-24 | 南京海关工业产品检测中心 | 一种基于优化随机森林模型的锯齿棉品级分类方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113591944A (zh) | 随机森林模型训练中参数选择的优化方法、系统、设备 | |
Nguyen et al. | A survey on swarm intelligence approaches to feature selection in data mining | |
CN110263227B (zh) | 基于图神经网络的团伙发现方法和系统 | |
Wang et al. | Evolutionary extreme learning machine ensembles with size control | |
Liu et al. | Computational approaches for de novo drug design: past, present, and future | |
Li et al. | Research of multi-population agent genetic algorithm for feature selection | |
Zhang et al. | PS-Tree: A piecewise symbolic regression tree | |
Xue et al. | A feature selection approach based on NSGA-II with ReliefF | |
Fu et al. | Construction of EBRB classifier for imbalanced data based on Fuzzy C-Means clustering | |
Li et al. | Automatic design of machine learning via evolutionary computation: A survey | |
Yan | Weighted K-nearest neighbor classification algorithm based on Genetic Algorithm | |
Ren et al. | Oversampling technique based on fuzzy representativeness difference for classifying imbalanced data | |
CN113627471A (zh) | 一种数据分类方法、系统、设备及信息数据处理终端 | |
Yang et al. | Constructing anfis with sparse data through group-based rule interpolation: an evolutionary approach | |
Mu et al. | Auto-CASH: A meta-learning embedding approach for autonomous classification algorithm selection | |
Szwarcman et al. | Quantum-inspired evolutionary algorithm applied to neural architecture search | |
Bai et al. | A joint multiobjective optimization of feature selection and classifier design for high-dimensional data classification | |
Yuan et al. | A genetic algorithm with tree-structured mutation for hyperparameter optimisation of graph neural networks | |
Han et al. | Locating multiple equivalent feature subsets in feature selection for imbalanced classification | |
Tian et al. | A multi-granularity clustering based evolutionary algorithm for large-scale sparse multi-objective optimization | |
Teji et al. | Predicting missing links in gene regulatory networks using network embeddings: A qualitative assessment of selective embedding techniques | |
Hu et al. | Differential evolution based on network structure for feature selection | |
Roshan et al. | Development of ensemble learning classification with density peak decomposition-based evolutionary multi-objective optimization | |
Li et al. | Many-objective coevolutionary learning algorithm with extreme learning machine auto-encoder for ensemble classifier of feedforward neural networks | |
Han et al. | A survey of multi-class imbalanced data classification methods |
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 |