林秀麗, 李均利, 田竟民, 程小帆
(四川師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院, 四川 成都 610101)
受自然界生物進(jìn)化機(jī)制和群體行為的啟發(fā),許多元啟發(fā)式算法在過(guò)去幾十年中得到了廣泛的發(fā)展和應(yīng)用,如遺傳算法[1-2]、模擬退火算法[3]、差分進(jìn)化算法[4]、粒子群算法[5]、人工魚(yú)群算法[6]、人工蜂群算法[7]、蟻群算法[8]、灰狼優(yōu)化算法[9]和螢火蟲(chóng)算法[10]等.以上這些算法是不依賴(lài)于問(wèn)題特征的高級(jí)算法,在解決各種復(fù)雜的優(yōu)化問(wèn)題上能達(dá)到優(yōu)異的效果.然而,正如“沒(méi)有免費(fèi)的午餐定理”[11]中所提到的:并不存在一個(gè)與具體無(wú)關(guān)的、普遍適用的通用型算法能夠解決所有的優(yōu)化問(wèn)題.因此,對(duì)于不同類(lèi)型的問(wèn)題,仍然需要不同的算法.這時(shí),人們開(kāi)始針對(duì)特定問(wèn)題研發(fā)合適的算法[12-13].但是專(zhuān)用的算法設(shè)計(jì)需要不同領(lǐng)域的知識(shí),很難為不同領(lǐng)域的問(wèn)題開(kāi)發(fā)新的算法.另外,通過(guò)進(jìn)行大量實(shí)驗(yàn)來(lái)選擇現(xiàn)有的最佳算法是也不切實(shí)際的,因?yàn)樵S多工業(yè)優(yōu)化問(wèn)題計(jì)算成本很高[14-15].目前最為常見(jiàn)的算法選擇方法是基于經(jīng)驗(yàn)進(jìn)行的[16],實(shí)際上,算法選擇問(wèn)題仍沒(méi)有根本解決.
為了解決算法選擇問(wèn)題,Rice[17]提出了算法選擇概念框架,通過(guò)研究問(wèn)題特征與算法之間的關(guān)系,從給定問(wèn)題中獲取問(wèn)題特征,找到特征與算法之間的映射關(guān)系.在此理論基礎(chǔ)之上,研究者們將算法選擇看作是一個(gè)學(xué)習(xí)的過(guò)程,并應(yīng)用在機(jī)器學(xué)習(xí)領(lǐng)域,形成了元學(xué)習(xí)基本思想.元學(xué)習(xí)的基本思想是由Vilalta和Drissi[18]提出的,描述了分類(lèi)問(wèn)題的特征并驗(yàn)證其特征對(duì)算法的影響.Smith-Miles[19]提出了基于元學(xué)習(xí)的算法選擇框架,將該方案快速拓展到了其他領(lǐng)域,其中包括時(shí)間序列的預(yù)測(cè)問(wèn)題、回歸問(wèn)題、排序問(wèn)題、約束問(wèn)題和優(yōu)化問(wèn)題等.Hutter等[20]提出適用于NP難題的算法選擇和配置的自動(dòng)化技術(shù).崔建雙等[21]基于Rice模型和元學(xué)習(xí)推薦的優(yōu)化算法提出了組合優(yōu)化問(wèn)題算法自動(dòng)選擇框架.在元學(xué)習(xí)思想基礎(chǔ)框架下,研究者們將算法選擇作為一個(gè)算法分類(lèi)任務(wù),并在機(jī)器學(xué)習(xí)算法上進(jìn)行驗(yàn)證,其中,Koch等[22]采用單側(cè)的支持向量回歸的方法幫助算法選擇.最近,深度學(xué)習(xí)的方法在各個(gè)領(lǐng)域興起[23],當(dāng)然也有研究者采用深度學(xué)習(xí)方法解決算法選擇問(wèn)題.如Kerschke等[24]將機(jī)器學(xué)習(xí)與探索性景觀特征相結(jié)合,提出自動(dòng)構(gòu)建優(yōu)化問(wèn)題的算法選擇模型,但該方法只針對(duì)單目標(biāo)的連續(xù)黑盒優(yōu)化問(wèn)題.在此基礎(chǔ)之上,He等[25]提出從優(yōu)化問(wèn)題中提取特征信息并保存為二維圖像的方法,利用卷積神經(jīng)網(wǎng)絡(luò)(VGG)對(duì)黑盒測(cè)試問(wèn)題進(jìn)行分類(lèi)和選擇.Muoz等[26]試圖利用神經(jīng)網(wǎng)絡(luò)來(lái)預(yù)測(cè)協(xié)方差自適應(yīng)進(jìn)化策略算法(CMA-ES)的性能,但是由于輸入的大小和能夠訓(xùn)練參數(shù)的數(shù)量都比較小,該方法不能完全體現(xiàn)深度神經(jīng)網(wǎng)絡(luò)的性能.雖然對(duì)約束滿足問(wèn)題的算法選擇已經(jīng)做了很多研究,但在單目標(biāo)的無(wú)約束優(yōu)化問(wèn)題上卻很少有工作關(guān)注將深度學(xué)習(xí)模型應(yīng)用于算法選擇問(wèn)題.為了填補(bǔ)這一空白,本文將提出從優(yōu)化問(wèn)題中提取景觀信息的方法,并使用卷積神經(jīng)網(wǎng)絡(luò)來(lái)學(xué)習(xí)這些景觀特征信息.
針對(duì)以上問(wèn)題,本文提出了基于深度學(xué)習(xí)的算法選擇框架,即一個(gè)可以將深度學(xué)習(xí)應(yīng)用于算法選擇問(wèn)題的整體框架.在本框架中利用卷積神經(jīng)網(wǎng)絡(luò)方法作為算法選擇問(wèn)題的訓(xùn)練和預(yù)測(cè)工具.
本文的安排如下:第2部分提出基于深度學(xué)習(xí)的算法選擇框架;第3部分介紹產(chǎn)生問(wèn)題實(shí)例樣本的基準(zhǔn)問(wèn)題生成器;第4部分介紹基于卷積神經(jīng)網(wǎng)絡(luò)算法選擇問(wèn)題模型和設(shè)計(jì);第5部分對(duì)算法選擇問(wèn)題進(jìn)行實(shí)驗(yàn),并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析;最后,對(duì)本文工作進(jìn)行簡(jiǎn)要總結(jié)以及對(duì)未來(lái)工作的展望.
2.1 基于Rice的算法選擇算法選擇解決的主要問(wèn)題是:對(duì)于待解決的問(wèn)題,在已知算法上進(jìn)行搜索,尋找效果最好的算法,即最佳匹配算法.1976年Rice首次提出了算法選擇問(wèn)題的抽象模型,具體模型如圖1所示.
圖1 Rice算法選擇抽象模型
2.2 基于深度學(xué)習(xí)的算法選擇框架以Rice提出的算法選擇抽象模型為原型,本文提出基于深度學(xué)習(xí)的算法選擇框架,如圖2所示,其中算法選擇框架主要包含:?jiǎn)栴}域(P)、算法域(A)和表現(xiàn)域(Y).由于“特征域”是最難定義、最難選擇、最難提取的,而卷積神經(jīng)網(wǎng)絡(luò)相較于傳統(tǒng)手工特征提取的方法最大的優(yōu)點(diǎn)是它在學(xué)習(xí)過(guò)程中自動(dòng)提取數(shù)據(jù)的主要特征,所以本文采用卷積神經(jīng)網(wǎng)絡(luò)對(duì)問(wèn)題特征進(jìn)行自動(dòng)提取,跳過(guò)了特征域的問(wèn)題.
圖2 基于深度學(xué)習(xí)的算法選擇框架
基于深度學(xué)習(xí)的算法選擇過(guò)程如下:首先利用基準(zhǔn)問(wèn)題生成器,產(chǎn)生大量的問(wèn)題實(shí)例樣本,將這些問(wèn)題實(shí)例集作為訓(xùn)練集.然后,采用深度學(xué)習(xí)中的學(xué)習(xí)方法進(jìn)行特征學(xué)習(xí),獲取問(wèn)題特征與算法性能相對(duì)應(yīng)的表現(xiàn)域.
基于深度學(xué)習(xí)的算法選擇過(guò)程實(shí)現(xiàn)步驟如下:
1) 通過(guò)收集或生成問(wèn)題實(shí)例數(shù)據(jù)集;
2) 設(shè)計(jì)神經(jīng)網(wǎng)絡(luò)模型;
3) 利用神經(jīng)網(wǎng)絡(luò)訓(xùn)練出算法選擇模型;
4) 將訓(xùn)練好的算法選擇神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)新的數(shù)據(jù)集,驗(yàn)證準(zhǔn)確率并做出評(píng)價(jià).
由于本文采用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)算法選擇問(wèn)題,需要大量數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練.基準(zhǔn)問(wèn)題生成器能夠產(chǎn)生大量的基準(zhǔn)優(yōu)化問(wèn)題.基準(zhǔn)問(wèn)題是標(biāo)準(zhǔn)優(yōu)化的問(wèn)題,應(yīng)用于優(yōu)化算法的估計(jì)、表現(xiàn)特征和性能度量.一般情況下,常用的基準(zhǔn)問(wèn)題有4類(lèi):
2) 在有影響力的文章中所使用的知名基準(zhǔn)問(wèn)題,如文獻(xiàn)[29];
3) 可調(diào)基準(zhǔn)生成器,如最大集合高斯(MSG)景觀生成器[30];
4) 現(xiàn)實(shí)中優(yōu)化問(wèn)題[31].
本文采用Lou等[32-34]提出的基于層次適應(yīng)度的基準(zhǔn)問(wèn)題生成器(HFEBG)生成滿足本實(shí)驗(yàn)要求的訓(xùn)練樣本.HFEBG的目的是找到在算法A1上表現(xiàn)最佳的問(wèn)題實(shí)例(UE-A1),其中算法
A1∈SA={A1,A2,…,An}.
圖3 HFEBG產(chǎn)生問(wèn)題實(shí)例流程
HFEBG通過(guò)輸入一組算法集合,可調(diào)基準(zhǔn)問(wèn)題生成器和進(jìn)化問(wèn)題實(shí)例的進(jìn)化算法.最后輸出滿足條件的結(jié)果,即問(wèn)題實(shí)例.HFEBG中采用最大集合高斯測(cè)試問(wèn)題生成器(MSG)作為基準(zhǔn)問(wèn)題生成器.問(wèn)題實(shí)例I由5個(gè)參數(shù)組成,分別是問(wèn)題維度(d)、局部最優(yōu)值的數(shù)量(n)、每個(gè)局部最優(yōu)值的標(biāo)準(zhǔn)差σ(n*1)、在局部最優(yōu)值的每個(gè)維度下的壓縮率Q(n*d)和局部最優(yōu)值與全局最優(yōu)值的比值r.通常問(wèn)題維數(shù)d=d0和局部最優(yōu)值個(gè)數(shù)n=n0都是固定的,于是問(wèn)題實(shí)例I可以表示為
I=MSG(d0,n0)(x),
其中
x={σ,Q,r}.
I*=HFEBGDE(MSG(d0,n0)(x*)).
于是本文的問(wèn)題實(shí)例的由3部分組成,分別是標(biāo)準(zhǔn)差、壓縮率和全局最優(yōu)值和局部最優(yōu)值的比值.
4.1 卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)[35]主要由3部分組成,分別是卷積層、池化層和全連接層.卷積層提取特征,池化層進(jìn)行降維操作,全連接層完成分類(lèi)輸出.具體操作如下:
1) 卷積層.卷積層主要是通過(guò)卷積核對(duì)輸入數(shù)據(jù)進(jìn)行特征提取操作.卷積核的大小和數(shù)量對(duì)整個(gè)網(wǎng)絡(luò)的性能起著關(guān)鍵性的作用.卷積核的個(gè)數(shù)與網(wǎng)絡(luò)的整體性能是成正比的,但是一旦卷積核的個(gè)數(shù)增加(同時(shí)也在增加計(jì)算的規(guī)模)到一定的值后,性能的提升就微乎其微.因此,卷積核數(shù)量的設(shè)計(jì)對(duì)于不同的分類(lèi)任務(wù)就會(huì)設(shè)置不同的參數(shù).卷積計(jì)算公式為
i=1,2,…,q,
(1)
通常在卷積操作過(guò)后,會(huì)使用激活函數(shù)實(shí)現(xiàn)函數(shù)的非線性變換.常用的激活函數(shù)有Sigmoid、Tanh、ReLU和Maxout.卷積神經(jīng)網(wǎng)絡(luò)中使用頻率最多的激活函數(shù)為ReLU,其表達(dá)式為
y(i)=f(g(i))=max{0,g(i)},
i=1,2,…,q.
(2)
該激活函數(shù)的作用是將所有非零數(shù)值都映射為0,將大于0的數(shù)值不變,其中g(shù)(i)表示ReLU的輸入數(shù)據(jù),f(g(i))是ReLU的輸出數(shù)據(jù).
2) 池化層.在卷積層后采用池化層(也稱(chēng)采樣層),不僅降低了提取的特征的維數(shù),也降低計(jì)算規(guī)模,還對(duì)特征提供基本的平移不變性.雖然池化層有以上這些好處,但池化的比例要適中,若池化的比例過(guò)大,大量的數(shù)據(jù)特征丟失,也會(huì)迫使網(wǎng)絡(luò)性能下降.常見(jiàn)的池化方法包括均值池化、最大池化等.具體池化計(jì)算公式為
p
j=1,2,…,q,
(3)
3) 全連接層.在卷積層和池化層之后,最后采用全連接層來(lái)完成分類(lèi)任務(wù).全連接層通常和激活函數(shù)一起使用.在處理兩分類(lèi)問(wèn)題時(shí),輸出層一般采用Sigmod函數(shù)作為激活函數(shù);處理多分類(lèi)問(wèn)題時(shí)采用Softmax函數(shù).本實(shí)驗(yàn)采用Softmax函數(shù),函數(shù)將多個(gè)神經(jīng)元的輸出映射到[0,1]區(qū)間內(nèi),輸出概率作為分類(lèi)的結(jié)果.具體激活函數(shù)為
σ(z)
(4)
4.2 基于卷積神經(jīng)網(wǎng)絡(luò)的算法選擇問(wèn)題模型設(shè)計(jì)用于解決算法選擇問(wèn)題的卷積神經(jīng)網(wǎng)絡(luò)的整體架構(gòu)由6個(gè)卷積層、6個(gè)歸一化層、一個(gè)池化層、一個(gè)輸出層(Dropout)和一個(gè)全連接層組成.考慮到本文中問(wèn)題實(shí)例結(jié)構(gòu)為向量形式,故卷積核大小設(shè)置為向量,總體框架設(shè)計(jì)如圖4所示,具體網(wǎng)絡(luò)參數(shù)設(shè)置如表1所示.
圖4 算法選擇問(wèn)題神經(jīng)網(wǎng)絡(luò)模型
表1 算法選擇問(wèn)題模型結(jié)構(gòu)參數(shù)
為了使分類(lèi)的效果達(dá)到最佳,特地對(duì)卷積神經(jīng)網(wǎng)絡(luò)模型中參數(shù)的設(shè)置以及層次的安排做出一些調(diào)整.
首先,在每個(gè)卷積操作之后添加ReLU作為激活函數(shù).另外,也在每一個(gè)卷積層后采用了批處理歸一化(BN)操作.批處理歸一化操作通過(guò)規(guī)范化使得每一個(gè)層的網(wǎng)絡(luò)輸入數(shù)據(jù)的均值和方差都在一定的范圍內(nèi),允許每一個(gè)層進(jìn)行獨(dú)立的學(xué)習(xí),提高整個(gè)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)速度.當(dāng)學(xué)習(xí)率參數(shù)更新過(guò)大時(shí),使用批處理歸一化操作就不會(huì)受到參數(shù)值大小的影響.另外還能夠有效緩解梯度消失等問(wèn)題.
其次,還添加了Dropout層、L2歸一化方法和最大池化層.池化層用于減少輸出特征圖的大小和加快模型訓(xùn)練的速度,而Dropout層能夠讓一維卷積神經(jīng)網(wǎng)絡(luò)模型避免出現(xiàn)過(guò)度擬合的情況.
最后,利用Softmax函數(shù)將分類(lèi)問(wèn)題輸出.Softmax層的輸出數(shù)目等于分類(lèi)個(gè)數(shù).例如,如果是從3個(gè)算法組成的算法集中為給定的問(wèn)題推薦一個(gè)合適的算法,那么該任務(wù)中Softmax層的輸出數(shù)應(yīng)該是3.Softmax層采用交叉熵?fù)p失對(duì)分類(lèi)誤差進(jìn)行評(píng)估.交叉熵?fù)p失公式為
Losslog
(1-pi)log
(5)
5.1 數(shù)據(jù)集在實(shí)驗(yàn)中,采用基準(zhǔn)問(wèn)題生成器生成足夠多的訓(xùn)練樣本集,作為卷積神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù).HFEBG基準(zhǔn)問(wèn)題生成器的輸入包含:
1) 建立好的一組算法集合
S={A1,A2,…,A};
2) 可調(diào)基準(zhǔn)問(wèn)題生成器;
3) 優(yōu)化問(wèn)題實(shí)例的算法.
輸出:與目標(biāo)算法所對(duì)應(yīng)的最佳問(wèn)題實(shí)例.
SA={ABC,CoDE,CMA-ES}.
將集合中的算法依次設(shè)置為目標(biāo)算法.選用最大集合高斯景觀生成器(MSG)作為問(wèn)題生成器.選擇差分算法(DE)進(jìn)化最佳問(wèn)題實(shí)例,具體參數(shù)設(shè)置參照文獻(xiàn)[37].最后設(shè)置問(wèn)題維數(shù)d0=10,局部最優(yōu)值個(gè)數(shù)n0=10和重復(fù)迭代次數(shù)r=20,并且所有問(wèn)題實(shí)例的搜索范圍在[-1,1]d0,最大評(píng)估數(shù)為d0×n0×103次.
通過(guò)以上參數(shù)設(shè)置運(yùn)行程序后,分別產(chǎn)生了3類(lèi)最佳的問(wèn)題實(shí)例集,其中包含UE-ABC、UE-CoDE和UE-CMA-ES問(wèn)題實(shí)例集,并為這3類(lèi)問(wèn)題進(jìn)行標(biāo)注標(biāo)簽.詳細(xì)標(biāo)簽值與問(wèn)題的對(duì)應(yīng)見(jiàn)表2.
表2 問(wèn)題實(shí)例結(jié)構(gòu)和問(wèn)題實(shí)例標(biāo)簽值
5.2 實(shí)驗(yàn)設(shè)置本實(shí)驗(yàn)環(huán)境配置如表3所示.
表3 實(shí)驗(yàn)環(huán)境配置
實(shí)驗(yàn)1中,將訓(xùn)練迭代次數(shù)(epoch)設(shè)置為150,其中一輪迭代表示整個(gè)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)一次.將批量(batch size)設(shè)置為16,即每次訓(xùn)練的實(shí)例數(shù).使用Adam優(yōu)化器來(lái)優(yōu)化神經(jīng)網(wǎng)絡(luò),并將學(xué)習(xí)速率設(shè)置為3E-4.Adam優(yōu)化器的第一動(dòng)量(β1)、第二動(dòng)量(β2)和ε分別設(shè)置為0.9、0.999和10E-8,遵循Tensorflow 2.0框架庫(kù)中的推薦設(shè)置.在每個(gè)時(shí)期結(jié)束時(shí),使用驗(yàn)證實(shí)例來(lái)測(cè)試網(wǎng)絡(luò)的性能.其參數(shù)在驗(yàn)證實(shí)例上表現(xiàn)最好(即具有最高精度)的網(wǎng)絡(luò)將被保存.在訓(xùn)練之后,使用測(cè)試實(shí)例來(lái)評(píng)估訓(xùn)練有素的網(wǎng)絡(luò)的性能,并通過(guò)HFEBG共產(chǎn)生25 455個(gè)問(wèn)題實(shí)例,讓其在3個(gè)優(yōu)化算法(人工蜂群、復(fù)合差分進(jìn)化算法和協(xié)方差自適應(yīng)調(diào)整進(jìn)化策略)獨(dú)立運(yùn)行,并選擇最佳算法作為標(biāo)簽.樣本實(shí)例按照6∶2∶2進(jìn)行劃分,60%的實(shí)例用于訓(xùn)練,20%的實(shí)例用于測(cè)試集和20%的實(shí)例用于驗(yàn)證集,各類(lèi)實(shí)例詳細(xì)樣本個(gè)數(shù)見(jiàn)表4.在這個(gè)實(shí)驗(yàn)中,只研究了在維度為10的(D=10)問(wèn)題實(shí)例在3個(gè)優(yōu)化算法上的性能,于是只有3種可能的預(yù)測(cè)輸出,因此本實(shí)驗(yàn)的基線精度應(yīng)為1/3≈33.33%.為了獲得可靠的結(jié)果,重復(fù)訓(xùn)練和測(cè)試過(guò)程5次,并記錄預(yù)測(cè)的3類(lèi)問(wèn)題實(shí)例的平均準(zhǔn)確率.
表4 樣本數(shù)據(jù)集
實(shí)驗(yàn)2中,將本文的算法選擇問(wèn)題卷積神經(jīng)網(wǎng)絡(luò)模型與傳統(tǒng)的機(jī)器學(xué)習(xí)的分類(lèi)算法進(jìn)行比較.傳統(tǒng)機(jī)器學(xué)習(xí)的數(shù)據(jù)預(yù)處理操作和訓(xùn)練參數(shù)與卷積神經(jīng)網(wǎng)絡(luò)中的設(shè)置相同,將算法選擇問(wèn)題模型分別替換為:貝葉斯(Bayes)、邏輯回歸(Logistic Regression)、支持向量機(jī)(SVM).為保證實(shí)驗(yàn)結(jié)果切實(shí)可信,重復(fù)執(zhí)行5次操作.
5.3 分類(lèi)指標(biāo)依照常見(jiàn)的分類(lèi)指標(biāo)對(duì)算法選擇模型進(jìn)行比較,其中包含精準(zhǔn)率(Precision)、召回率(Recall)、F1分?jǐn)?shù)值(F1-score)、準(zhǔn)確率(Accuracy)和混淆矩陣等指標(biāo).在計(jì)算以上指標(biāo)時(shí),會(huì)使用到參數(shù)TP、FP、TN、FN.TP表示樣本真實(shí)類(lèi)別為正值,預(yù)測(cè)樣本類(lèi)別也為正值;FP表示預(yù)測(cè)類(lèi)別為正值,真實(shí)類(lèi)別為負(fù)值;FN表示預(yù)測(cè)類(lèi)別為負(fù)值,但是真實(shí)類(lèi)別為正值;TN預(yù)測(cè)類(lèi)別為負(fù)值,真實(shí)類(lèi)別為負(fù)值.
準(zhǔn)確率是預(yù)測(cè)正確的樣本數(shù)量占總樣本量的百分比,計(jì)算公式為
Accuracy
(6)
精準(zhǔn)率是模型預(yù)測(cè)為正樣本時(shí)結(jié)果中真實(shí)正樣本所占的百分比,計(jì)算公式為
Precision
(7)
召回率與精準(zhǔn)率不同,是在實(shí)際為正樣本中被預(yù)測(cè)為正樣本所占的百分比,計(jì)算公式為
Recall
(8)
F
(9)
另外,還采可以用混淆矩陣,對(duì)分類(lèi)模型進(jìn)行評(píng)估.
5.4 實(shí)驗(yàn)結(jié)果表5記錄了預(yù)測(cè)3類(lèi)問(wèn)題準(zhǔn)確率結(jié)果.平均準(zhǔn)確率為90.01%,完全優(yōu)于基線準(zhǔn)確率.對(duì)于大多數(shù)問(wèn)題類(lèi),準(zhǔn)確率都在90%以上.圖5記錄了算法選擇模型混淆矩陣結(jié)果.從圖5中可以觀察到,該模型能夠正確預(yù)測(cè)較多的第0類(lèi)問(wèn)題,是能夠幫助絕大部分的UE-CMA-ES問(wèn)題實(shí)例準(zhǔn)確找到最佳算法協(xié)方差自適應(yīng)調(diào)整進(jìn)化策略(CMA-ES).另外,相較于第0類(lèi)問(wèn)題,該模型將第1類(lèi)和第2類(lèi)問(wèn)題錯(cuò)誤分類(lèi)的數(shù)量較多,但是也能為大部分的UE-ABC和UE-CoDE問(wèn)題實(shí)體推薦最佳算法人工蜂群那和復(fù)雜差分.造成這兩類(lèi)問(wèn)題數(shù)據(jù)的錯(cuò)誤分類(lèi),最有可能的原因是第1類(lèi)和第2問(wèn)題的相似特征比較多,所以導(dǎo)致了該結(jié)果.從表5和圖5的結(jié)果可以看出,該方法能夠?yàn)榇蠖鄶?shù)優(yōu)化問(wèn)題實(shí)例推薦最合適的優(yōu)化算法.
表5 預(yù)測(cè)實(shí)例準(zhǔn)確率
圖5 算法選擇問(wèn)題模型混淆矩陣
在表6中,算法選擇問(wèn)題模型的準(zhǔn)確率可以達(dá)到90.01%,而貝葉斯的準(zhǔn)確率僅僅只有54.51%,邏輯回歸和支持向量機(jī)中最高的準(zhǔn)確率也只達(dá)到81.33%.很顯然這樣的結(jié)果是完全小于CNN的結(jié)果.另外,在精準(zhǔn)率、召回率、F1分?jǐn)?shù)值分類(lèi)指標(biāo)下CNN模型優(yōu)于貝葉斯、邏輯回歸、支持向量機(jī)分類(lèi)方法.該結(jié)果證明,在本文數(shù)據(jù)集上采用分類(lèi)模型比傳統(tǒng)的機(jī)器學(xué)習(xí)方法更適合解決算法選擇問(wèn)題.其原因在于淺層模型特征學(xué)習(xí)能力有限,學(xué)習(xí)到的特征不具備較好的分類(lèi)特性.另外,從該實(shí)驗(yàn)結(jié)果中還可以得出,無(wú)論是傳統(tǒng)的機(jī)器學(xué)習(xí)分類(lèi)算法還是本文提出的基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)分類(lèi)模型的結(jié)果都是遠(yuǎn)遠(yuǎn)高于這3類(lèi)算法的試驗(yàn)基線精度,這些方法都能夠有效的解決算法選擇問(wèn)題,只是每種算法針對(duì)的這3類(lèi)問(wèn)題達(dá)到的準(zhǔn)確率結(jié)果不同.
表6 分類(lèi)模型算法性能比較
從以上實(shí)驗(yàn)結(jié)果得出,本文提出的方法可以為大多數(shù)優(yōu)化問(wèn)題實(shí)例推薦最合適的優(yōu)化算法.
算法選擇問(wèn)題是一個(gè)重要的課題,因?yàn)椴煌?lèi)型的優(yōu)化問(wèn)題需要不同的優(yōu)化算法.近年來(lái),研究人員將算法選擇視為分類(lèi)或回歸任務(wù),并提出了許多解決方法.另外,神經(jīng)網(wǎng)絡(luò)特別是卷積神經(jīng)網(wǎng)絡(luò)在處理分類(lèi)和回歸任務(wù)方面表現(xiàn)出很強(qiáng)的能力.然而,將深度學(xué)習(xí)應(yīng)用于算法選擇的研究還比較少,而將深度學(xué)習(xí)應(yīng)用于無(wú)約束的連續(xù)優(yōu)化問(wèn)題的算法選擇的研究就更少.
本文提出了基于深度學(xué)習(xí)的算法選擇模型,并利用卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)算法選擇的方法進(jìn)行驗(yàn)證.實(shí)驗(yàn)利用訓(xùn)練有素的卷積神經(jīng)網(wǎng)絡(luò)來(lái)推薦優(yōu)化算法,并采用預(yù)測(cè)的算法來(lái)優(yōu)化給定的問(wèn)題.比較實(shí)驗(yàn)結(jié)果表明,深度學(xué)習(xí)方法中的卷積神經(jīng)網(wǎng)絡(luò)可以有效地解決優(yōu)化問(wèn)題.
對(duì)于下一步的工作,首先,本文只是把算法選擇問(wèn)題當(dāng)作分類(lèi)任務(wù),其實(shí)將其作為回歸任務(wù)也是可行的.其次,本文的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)也可以替換成深度學(xué)習(xí)算法中更新的架構(gòu),這也是合理的.此外,還需要提高提取有效數(shù)據(jù)集的問(wèn)題特征,查找能夠反映問(wèn)題難度的問(wèn)題特征,能夠更進(jìn)一步探討算法性能與問(wèn)題特征的關(guān)系.最后,不僅僅要關(guān)注低維問(wèn)題特征,還應(yīng)該從高維度問(wèn)題對(duì)算法性能進(jìn)行評(píng)估.