嚴(yán)愛軍,丁 凱
(1.北京工業(yè)大學(xué)信息學(xué)部,北京 100124;2.數(shù)字社區(qū)教育部工程研究中心,北京 100124;3.城市軌道交通北京實(shí)驗(yàn)室,北京 100124)
案例推理(case-based reasoning,CBR)是一種基于知識(shí)的解決問題方法[1],它在解決問題的過程中主要包括4個(gè)步驟,即案例檢索、案例重用、案例修正和案例存儲(chǔ).CBR的工作機(jī)制是通過檢索相似的問題并利用其解決方案來解決當(dāng)前問題[2],該方法在分類、診斷、預(yù)測(cè)等領(lǐng)域得到了廣泛應(yīng)用[3-5].值得關(guān)注的是,案例檢索性能的好壞對(duì)CBR求解性能的高低有著至關(guān)重要的影響[6],為了提高案例檢索的性能,大量針對(duì)案例檢索的方法被提出[7-9].研究結(jié)果表明,在案例檢索過程中特征權(quán)重的分配結(jié)果直接影響案例檢索的性能,因而,特征權(quán)重的分配方法具有重要的研究?jī)r(jià)值.
目前,特征權(quán)重的分配方法分為主觀法、客觀法和主客觀結(jié)合法[10].主觀法是指根據(jù)領(lǐng)域?qū)<覍?duì)相關(guān)領(lǐng)域的認(rèn)知和經(jīng)驗(yàn)完成特征權(quán)重的分配[11],如專家打分法、調(diào)查統(tǒng)計(jì)法、層次分析(analytic hierarchy process,AHP)法[12]、網(wǎng)絡(luò)層次分析(analytic network process,ANP)法[13]以及相關(guān)改進(jìn)方法[14-16]等.其中,專家打分法和調(diào)查統(tǒng)計(jì)法主要依據(jù)專家經(jīng)驗(yàn)和數(shù)理統(tǒng)計(jì)等方法確定特征權(quán)重,主觀性較強(qiáng);AHP法能對(duì)特征變量進(jìn)行定性定量的分析;ANP法可以解決多個(gè)評(píng)價(jià)指標(biāo)間存在依賴和反饋的問題;相關(guān)改進(jìn)方法在信息確定的前提下降低了不確定性,但依舊存在主觀不確定性以及適用范圍的局限性.客觀法則是依據(jù)數(shù)據(jù)以及數(shù)據(jù)之間的關(guān)系確定特征權(quán)重,可以避免決策人主觀判斷帶來的影響.文獻(xiàn)[17]采用神經(jīng)網(wǎng)絡(luò)等方法確定特征權(quán)重,提高了分類性能,但網(wǎng)絡(luò)的結(jié)構(gòu)不易確定;熵權(quán)法利用熵表達(dá)信息量的特點(diǎn)分配權(quán)重,然而所有熵值都趨近于1時(shí),會(huì)導(dǎo)致權(quán)重分配不符合實(shí)際[18];文獻(xiàn)[19]采用粗糙集等方法通過評(píng)價(jià)條件屬性和決策屬性實(shí)現(xiàn)了權(quán)重的分配,然而有時(shí)對(duì)事物的評(píng)價(jià)只根據(jù)影響它的各因素做出綜合評(píng)價(jià),導(dǎo)致決策屬性不可知;文獻(xiàn)[20]提出的注水法分配特征權(quán)重提高了分類精度,但對(duì)于案例庫的變化難以適應(yīng);文獻(xiàn)[21]采用遺傳算法通過隨機(jī)搜索來分配權(quán)重,在一定程度上解決了上述問題,但遺傳算法容易陷入局部最優(yōu),案例樣本較少時(shí),容易導(dǎo)致權(quán)重與實(shí)際不符;文獻(xiàn)[22]提出了一種基于模擬退火粒子群的優(yōu)化算法,其中還引入了高斯變異和遺傳算法的雜交概念,取得了較好的效果,但在一定程度上增加了算法的復(fù)雜度;文獻(xiàn)[23]提出了一種遺傳模擬退火算法,在一定程度上緩解了陷入局部最優(yōu)的問題,但計(jì)算參數(shù)具有一定的依賴性.主客觀結(jié)合法的主要思想是利用主觀法和客觀法各自的優(yōu)勢(shì)來確定特征權(quán)重,但是計(jì)算比較復(fù)雜,并且存在著較大的隨機(jī)性[24].因此,對(duì)于特征權(quán)重的分配方法需要進(jìn)一步研究.
針對(duì)上述特征權(quán)重分配方法存在的問題,本文提出一種基于自私牧群優(yōu)化-模擬退火(selfish herd optimizer-simulated annealing,SHO-SA)算法的特征權(quán)重優(yōu)化方法.相比傳統(tǒng)優(yōu)化方法,SHO算法將整個(gè)群體分為獵物和捕食者2組,并考慮個(gè)體的獨(dú)立行為,這使得SHO算法在一定程度上緩解了陷入局部最優(yōu)、過早收斂等問題[25].但SHO算法在利用搜索空間上存在一些不足,可能陷入局部最優(yōu)[26],而SA算法局部搜索能力較好,能以一定概率接受初始權(quán)重附近新的權(quán)重,因此,將SHO算法與SA算法融合可以有效緩解陷入局部最優(yōu)的問題[23].其中,SHO算法通過不同的運(yùn)動(dòng)階段增加特征權(quán)重的多樣性;通過捕食階段去除適應(yīng)度較差的特征權(quán)重組;通過恢復(fù)階段保證每次迭代的權(quán)重規(guī)模[25].本文根據(jù)SHO和SA原理,首先,設(shè)計(jì)了權(quán)重尋優(yōu)的適應(yīng)度函數(shù);其次,通過尋優(yōu)計(jì)算的運(yùn)動(dòng)階段、捕食階段和恢復(fù)階段選擇最佳適應(yīng)度所對(duì)應(yīng)的權(quán)重;然后,采用SA算法進(jìn)一步優(yōu)化權(quán)重對(duì)象;最后,通過對(duì)比實(shí)驗(yàn)驗(yàn)證了本文方法的有效性.
CBR經(jīng)過近40年的發(fā)展得到了廣泛應(yīng)用,它的主要思想是通過評(píng)估當(dāng)前問題與存儲(chǔ)在案例庫中的源案例之間的相似性,繼而在案例庫中檢索出相同或相似的案例,并利用這個(gè)(或這些)源案例的解決方案來解決當(dāng)前問題[27].CBR預(yù)測(cè)模型的求解過程主要包括案例檢索、案例重用、案例修正和案例存儲(chǔ)4個(gè)步驟,如圖1所示.求解之前,需要以一定的方式表示源案例,即案例表示.下面對(duì)案例表示和上述4個(gè)步驟分別進(jìn)行介紹.
圖1 CBR預(yù)測(cè)模型結(jié)構(gòu)原理Fig.1 Structure principle of CBR prediction model
1)案例表示
以具有數(shù)值類型的案例為例,案例庫中的源案例可以表示為
Ct=(X(t);y(t)),t=1,2,…,A
(1)
式中:A為源案例總數(shù);y(t)為第t個(gè)案例的輸出值;X(t)為第t個(gè)案例的輸入數(shù)據(jù),可以表示為
X(t)=(x1,t,…,xj,t,…,xJ,t)
(2)
式中:xj,t為第j個(gè)輸入特征的歸一化特征值;J為特征總數(shù).
2)案例檢索
設(shè)目標(biāo)案例(即待求解案例)為X=(x1,x2,…,xj,…,xJ),待求解的輸出值記為y.采用基于歐氏距離的相似度評(píng)估策略計(jì)算X與X(t)的相似度[28],公式為
(3)
式中ωj為第j個(gè)特征的權(quán)重,所有的特征權(quán)重需滿足
(4)
將式(3)計(jì)算出的A個(gè)相似度從大到小排列,依次選取前M個(gè)案例,至此完成案例檢索.
3)案例重用與案例修正
若檢索到的源案例與目標(biāo)案例的相似度較高,可以不對(duì)源案例的輸出值進(jìn)行調(diào)整,直接將其作為目標(biāo)案例的建議輸出;否則,需要對(duì)源案例的輸出值進(jìn)行改編.經(jīng)過重用,輸出結(jié)果如果不正確,此時(shí)須添加案例修正步驟,以修正錯(cuò)誤的輸出,從而得到目標(biāo)案例的正確輸出結(jié)果.
4)案例存儲(chǔ)
獲得目標(biāo)案例的正確輸出結(jié)果后,形成一個(gè)新案例,將其以式(1)所示的源案例表示形式存儲(chǔ)于案例庫中,從而豐富了案例庫的記錄.
式(3)中的ωj的大小表示每個(gè)特征的重要程度,值越大表示該特征越重要.滿足式(4)的特征權(quán)重分配組合對(duì)相似度的計(jì)算結(jié)果會(huì)產(chǎn)生影響,準(zhǔn)確合理地分配權(quán)重可以提高CBR模型的求解性能[29].
針對(duì)權(quán)重分配問題,許多研究人員從最初的主觀法到客觀法以及二者組合法做了大量的方法研究.主觀法包括專家打分法、AHP法等;客觀法包括膜計(jì)算法[30]、注水法[31]、遺傳算法[32]、神經(jīng)網(wǎng)絡(luò)法[33]等;主客觀分配權(quán)重法是將主觀法與客觀法結(jié)合起來使用.因?yàn)橹饔^法存在主觀不確定性和適用范圍的局限性,而組合法[24]存在較大的隨機(jī)性等不足之處,所以目前多采用客觀法分配權(quán)重.表1列出了各種權(quán)重分配方法的特點(diǎn).
表1 權(quán)重分配方法的優(yōu)缺點(diǎn)Table 1 Advantages and disadvantages of weight distribution methods
由表1可知,相比之下,客觀法的優(yōu)勢(shì)比較明顯,但這些方法自身還存在一些問題.遺傳算法雖然能在一定程度上解決其他客觀方法的問題,但它容易陷入局部最優(yōu),因而,對(duì)于權(quán)重的分配方法還需進(jìn)一步研究.Fausto等[25]提出的SHO方法是對(duì)獵物群和捕食者2種類型的搜索算子之間相互作用的模擬,通過運(yùn)動(dòng)階段、捕食階段和恢復(fù)階段進(jìn)行尋優(yōu),在群尋優(yōu)算法中具有一定的競(jìng)爭(zhēng)力.雖然SHO算法將種群劃分為2種操作算子,并考慮個(gè)體的獨(dú)立操作,但在利用搜索空間上存在不足,導(dǎo)致SHO算法也有可能會(huì)陷入局部最優(yōu)[34],而SA算法將搜索過程中的時(shí)間變化特性與趨于零的概率跳變特性相結(jié)合,在局部最優(yōu)解附近隨機(jī)產(chǎn)生新解,采用Metropolis準(zhǔn)則接受產(chǎn)生的最優(yōu)解,可以有效地避免局部收斂[35-36].因此,本文擬將SHO和SA算法結(jié)合起來對(duì)特征權(quán)重進(jìn)行尋優(yōu).
基于上述分析,本節(jié)介紹SHO與SA算法結(jié)合起來形成的SHO-SA算法,并給出了算法偽代碼.
根據(jù)SHO和SA原理,SHO-SA算法結(jié)構(gòu)圖如圖2所示.采用SHO-SA算法優(yōu)化分配權(quán)重前,需要將隨機(jī)生成的N組權(quán)重對(duì)象分成獵物和捕食者2組,獵物組的規(guī)模大于捕食者的規(guī)模.獵物組的成員集合用H表示,數(shù)量為Nh;另一部分為捕食者,成員集合用P表示,數(shù)量為Np.由于每個(gè)個(gè)體的生存能力與最安全和最危險(xiǎn)的個(gè)體相關(guān),因此,為每個(gè)個(gè)體分配一個(gè)生存值S(如圖3所示)來代表它們的生存能力[25].根據(jù)生存能力和適應(yīng)度,圖中的SHO算法主要通過運(yùn)動(dòng)階段、捕食階段和恢復(fù)階段實(shí)現(xiàn)權(quán)重的初步尋優(yōu)過程,得到當(dāng)前迭代的最優(yōu)權(quán)重,當(dāng)未達(dá)到迭代次數(shù)時(shí),采用SA算法繼續(xù)尋找當(dāng)前最佳權(quán)重至溫度最低,從而實(shí)現(xiàn)完整的單次權(quán)重尋優(yōu).
圖2 SHO-SA算法結(jié)構(gòu)Fig.2 Structure of SHO-SA algorithm
圖3 生存值[25]Fig.3 Survival value[25]
下面首先介紹適應(yīng)度函數(shù)的定義,然后介紹采用SHO算法的權(quán)重尋優(yōu),最后介紹采用SA算法進(jìn)行特征權(quán)重的進(jìn)一步優(yōu)化,從而得到最優(yōu)特征權(quán)重的近似解.
2.1.1 定義SHO-SA算法的適應(yīng)度
本文將CBR預(yù)測(cè)模型的均方根誤差(root mean square error,RMSE)定義為SHO-SA算法中權(quán)重尋優(yōu)的適應(yīng)度函數(shù)f,即
(5)
式中:m為測(cè)試集中案例數(shù)量;yl為第l個(gè)測(cè)試案例的實(shí)際輸出值:l為第l個(gè)測(cè)試案例的預(yù)測(cè)值.
2.1.2 基于SHO算法的權(quán)重尋優(yōu)
根據(jù)SHO算法原理[25],在求解前將隨機(jī)生成的N組權(quán)重分為獵物H和捕食者P兩部分,獵物H為權(quán)重總數(shù)的70%~90%,用Nh表示,捕食者P則為30%~10%,用Np表示,并通過式(5)及生存值的計(jì)算公式
(6)
分別計(jì)算這兩部分中的每組權(quán)重所對(duì)應(yīng)的適應(yīng)度和生存值.式中:f(Ω(i))為N組權(quán)重中第i組所對(duì)應(yīng)的適應(yīng)度,Ω(i)=(ωi,1,ωi,2,…,ωi,j,…,ωi,J),ωi,j為Ω(i)中的第j個(gè)特征權(quán)重;fbest和fworst分別為SHO算法進(jìn)化過程中發(fā)現(xiàn)的最佳適應(yīng)度和最差適應(yīng)度.
SHO算法通過運(yùn)動(dòng)階段、捕食階段和恢復(fù)階段進(jìn)行尋優(yōu).運(yùn)動(dòng)階段主要是產(chǎn)生新的權(quán)重,從而提高權(quán)重的多樣性;捕食階段主要是淘汰適應(yīng)度較差的權(quán)重,其目的是增強(qiáng)收斂性;恢復(fù)階段主要是恢復(fù)權(quán)重規(guī)模以保證每次迭代規(guī)模相同.
1)運(yùn)動(dòng)階段
基于以上描述,3種角色的運(yùn)動(dòng)方式表示如下.
首領(lǐng)運(yùn)動(dòng)為
(7)
追隨者和逃亡者的運(yùn)動(dòng)為
(8)
捕食者的運(yùn)動(dòng)只依賴于與獵物個(gè)體的距離,并且捕食者通常攻擊距離較近的個(gè)體,其運(yùn)動(dòng)公式可以表示為
(9)
2)捕食階段
在捕食階段,將淘汰的權(quán)重定義為
Ω(K)={Ω(kn)=(Ω(hw)∈Ω(H))},n=1,2,…,Nk,w∈{1,2,…,Nh}
(10)
式中Nk為在捕食階段被淘汰的權(quán)重總數(shù).
3)恢復(fù)階段
為了保證每次迭代權(quán)重的規(guī)模相同,采用輪盤賭方式恢復(fù)權(quán)重規(guī)模,恢復(fù)權(quán)重定義為
Ω(hw)=Ω(hnew)=mix([Ω(hr1,1),Ω(hr2,2),…,Ω(hrs,s),…,Ω(hrJ,J)])
(11)
式中Ω(hrs,s)(s=1,2,…,J)為隨機(jī)候選權(quán)重Ω(hrs)的特征元素.
恢復(fù)階段后,種群規(guī)?;謴?fù),得到了新的迭代權(quán)重.
基于上述描述,SHO算法通過運(yùn)動(dòng)階段改變了每組權(quán)重的屬性值,從而提高了特征權(quán)重的多樣性;通過捕食階段去除適應(yīng)度較差的權(quán)重,選擇適應(yīng)度較好的權(quán)重進(jìn)入下次迭代;通過恢復(fù)階段保證了每次迭代權(quán)重組數(shù)相同.通過SHO算法得到種群內(nèi)部RMSE最小所對(duì)應(yīng)的權(quán)重,并將上述權(quán)重和此權(quán)重的適應(yīng)度分別記為Ωbest和f(Ωbest),同時(shí)存儲(chǔ)在Ωbest和f(Ωbest)中,即
Ωbest=Ωbest
(12)
f(Ωbest)=f(Ωbest)
(13)
因?yàn)镾HO算法在利用搜索空間上存在一些不足,影響了搜索性能,所以每次進(jìn)入下次迭代的當(dāng)前最佳權(quán)重并不準(zhǔn)確,而SA算法局部搜索能力較強(qiáng),因此,采用SA算法繼續(xù)尋找當(dāng)前最佳權(quán)重.
2.1.3 基于SA算法的權(quán)重再優(yōu)化
將Ωbest作為SA算法的初始值,在權(quán)重Ωbest附近進(jìn)行隨機(jī)搜索,從而產(chǎn)生新的權(quán)重Ωnew,并計(jì)算其適應(yīng)度f(Ωnew),再采用Metropolis準(zhǔn)則[36-37]接受新權(quán)重.當(dāng)新權(quán)重的適應(yīng)度優(yōu)于Ωbest的適應(yīng)度時(shí)直接接受,否則以一定概率ζ接受新權(quán)重,即ζ<ξ時(shí)接受,否則不接受,然后在權(quán)重Ωbest附近重新進(jìn)行搜索,并進(jìn)行如上的判斷.如果接受新的權(quán)重,則將新解Ωnew和其適應(yīng)度f(Ωnew)賦予Ωbest和f(Ωbest);判斷f(Ωbest)與f(Ωbest)的大小,將值較小的權(quán)重賦予Ωbest;賦值結(jié)束后,判斷當(dāng)前溫度否到最低,當(dāng)SA算法中溫度沒有達(dá)到最低時(shí),則在更新溫度后在權(quán)重Ωbest附近繼續(xù)進(jìn)行隨機(jī)搜索,當(dāng)溫度達(dá)到最低時(shí),表明SHO-SA算法一次迭代尋優(yōu)結(jié)束,選擇本次迭代得到的最優(yōu)權(quán)重進(jìn)入下一次迭代尋優(yōu),直到達(dá)到迭代次數(shù),從而獲得最優(yōu)權(quán)重的近似解.更新溫度等式、Metropolis準(zhǔn)則以及權(quán)重Ωbest的賦值公式表示為
Tn+1=τ·Tn
(14)
(15)
(16)
式中:Tn為第n次退火溫度,并且設(shè)初始溫度為T1;τ表示溫度衰減率;ζ為[0,1]的隨機(jī)數(shù);Ωbest為當(dāng)前最佳適應(yīng)度所對(duì)應(yīng)的權(quán)重;TSA為溫度控制參數(shù).
綜上所述,SHO-SA算法的偽代碼如下.
輸入:特征權(quán)重組數(shù)N、特征數(shù)J、特征權(quán)重上下限ωu和ωd、適應(yīng)度函數(shù)f、總迭代次數(shù)itern、當(dāng)前迭代次數(shù)k、初始溫度T1、最終溫度Tmin、當(dāng)前溫度T、溫度控制參數(shù)TSA和溫度衰減系數(shù)τ,以及特征權(quán)重的初始化.
輸出:特征權(quán)重的近似最優(yōu)解Ωbest及其適應(yīng)度f(Ωbest).
1.將N隨機(jī)生成兩部分:獵物群H和捕食者P,數(shù)量分別為Nh和Np;
2.通過式(5)(6)分別計(jì)算每組權(quán)重的適應(yīng)度和生存值;
3.fork=1:itern
4.運(yùn)動(dòng)階段:通過式(7)~(9)更新權(quán)重,并通過式(5)(6)重新計(jì)算適應(yīng)度和生存值;
5.捕食階段:通過式(10)淘汰部分權(quán)重;
6.恢復(fù)階段:采用輪盤賭的方式恢復(fù)種群規(guī)模,恢復(fù)個(gè)體如式(11)所示,并得到當(dāng)前迭代過程中最小適應(yīng)度對(duì)應(yīng)的權(quán)重Ωbest,通過式(12)(13)進(jìn)行存儲(chǔ);
∥SA算法進(jìn)一步尋優(yōu)
7.T=T0;
8.WhileT>Tmin
9.設(shè)置Ωbest為SA算法的初始值,在Ωbest附近隨機(jī)搜索產(chǎn)生新權(quán)重Ωnew,通過式(4)計(jì)算新權(quán)重的適應(yīng)度f(Ωnew);
10.通過式(12)(13)存儲(chǔ)Ωbest和f(Ωbest);
11.iff(Ωnew) 12.Ωbest=Ωnew,f(Ωbest)=f(Ωnew),并通過式(14)更新溫度; 13.else 14.ifζ<ξ 15.Ωbest=Ωnew,f(Ωbest)=f(Ωnew),并通過式(14)更新溫度; 16.end if 17.end if 18.通過式(16)給Ωbest賦值; 19.end while 20.end for 為了驗(yàn)證SHO-SA算法的有效性,采用加州大學(xué)歐文分校(University of California Irvine,UCI)數(shù)據(jù)集中的5個(gè)標(biāo)準(zhǔn)回歸數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),數(shù)據(jù)集分別為Concrete Compressive Strength、Concrete Slump Test、QSAR aquatic toxicity、Airfoil Self-Noise和Energy Efficiency,為了方便查閱分別記為D1~D5,基本信息如表2所示.將使用均權(quán)重的CBR算法記為CBRMA,使用注水法分配權(quán)重的CBR算法記為CBRWFA,使用遺傳算法分配權(quán)重的CBR算法記為CBRGA,使用SHO分配權(quán)重的CBR算法記為CBRSHO,采用本文方法分配權(quán)重的CBR算法記為CBRSHO-SA.其中,由于變異概率會(huì)在一定程度上影響遺傳算法分配權(quán)重的結(jié)果,因此,本文分別采用0.03、0.06和0.09三種變異概率的遺傳算法進(jìn)行實(shí)驗(yàn). 表2 數(shù)據(jù)集信息Table 2 Information of data sets 本文方法可以通過2個(gè)實(shí)驗(yàn)進(jìn)行驗(yàn)證: 1)針對(duì)表2中的5個(gè)數(shù)據(jù)集,采用上述5種權(quán)重分配方法的CBR預(yù)測(cè)模型進(jìn)行實(shí)驗(yàn),并比較本文方法與其他4種方法的預(yù)測(cè)結(jié)果. 2)通過計(jì)算10組RMSE的標(biāo)準(zhǔn)差(standard deviation,SD)衡量預(yù)測(cè)實(shí)驗(yàn)的穩(wěn)定性,并與CBRMA、CBRWFA、CBRGA以及CBRSHO等方法的實(shí)驗(yàn)結(jié)果做比較. 評(píng)價(jià)指標(biāo)除了RMSE外,還使用了平均絕對(duì)誤差(mean absolute error,MAE)和SD作為評(píng)價(jià)實(shí)驗(yàn)結(jié)果的指標(biāo).為了保證實(shí)驗(yàn)的可靠性和全面性,本文采用五折交叉驗(yàn)證的方法,記錄每次實(shí)驗(yàn)的預(yù)測(cè)值、RMSE,并計(jì)算5次實(shí)驗(yàn)的平均值和RMSE的標(biāo)準(zhǔn)差. 參數(shù)設(shè)置為:5種方法的近鄰個(gè)數(shù)M全部取3,初始權(quán)重規(guī)模全部取100,迭代次數(shù)全部取50;遺傳算法采用4位二進(jìn)制編碼的方式,交叉概率pc取0.6,變異概率pm分別取0.03、0.06和0.09;SHO算法中每個(gè)特征值的下限ωd取0,每個(gè)特征值的上限ωu取1;在SHO-SA算法中,初始溫度T1取100 ℃,最低溫度Tmin取0.001 ℃,溫度衰減率τ取0.95,溫度控制參數(shù)TSA取Tn,其余參數(shù)與SHO算法和SA算法中的一致. 針對(duì)上述的2個(gè)實(shí)驗(yàn)內(nèi)容,實(shí)驗(yàn)步驟設(shè)計(jì)如下. 步驟1參數(shù)初始化. 步驟2構(gòu)建案例庫.將數(shù)據(jù)集進(jìn)行歸一化處理,每個(gè)特征值和預(yù)測(cè)值都映射到[0,1],將特征值和相應(yīng)的預(yù)測(cè)值表示成式(1)的形式,并儲(chǔ)存在案例庫中. 步驟3構(gòu)造訓(xùn)練樣本和測(cè)試樣本. 步驟4權(quán)重分配.分別采用均權(quán)重法、注水法、遺傳算法、SHO算法和SHO-SA算法分配權(quán)重. 步驟5案例檢索.通過式(3)計(jì)算相似度,將其從大到小進(jìn)行排序并取出前M個(gè)案例. 步驟6案例重用.計(jì)算前M個(gè)案例輸出值的平均值作為建議的預(yù)測(cè)值. 步驟7計(jì)算RMSE和MAE.重復(fù)步驟5、6,得到所有測(cè)試數(shù)據(jù)的預(yù)測(cè)值,并計(jì)算RMSE和MAE. 步驟8案例修正.對(duì)案例重用給出的數(shù)據(jù)進(jìn)行實(shí)際驗(yàn)證或?qū)<以u(píng)估,若相差較大則需要對(duì)案例進(jìn)行修正. 步驟9案例存儲(chǔ).將目標(biāo)案例和預(yù)測(cè)值形成一個(gè)新的案例并存儲(chǔ)于案例庫中. 步驟10重復(fù)步驟1~9,記錄2次五折實(shí)驗(yàn)的結(jié)果,并計(jì)算實(shí)驗(yàn)結(jié)果的平均值以及10組RMSE的SD. 3.3.1 有效性分析 為了測(cè)試本文方法分配特征權(quán)重的有效性,本文分別采用均權(quán)重法、注水法、遺傳算法、SHO算法和SHO-SA算法分別實(shí)現(xiàn)表2中5個(gè)數(shù)據(jù)集的特征權(quán)重分配,并繪制5個(gè)回歸數(shù)據(jù)集的擬合效果(見圖4~8),由于遺傳算法在變異概率pm=0.06時(shí)實(shí)驗(yàn)效果最好,因此,繪圖時(shí)選擇遺傳算法(pm=0.06)進(jìn)行繪制,從中可以直觀看出本文方法的擬合效果較好.另外,在RMSE和MAE方面,將各個(gè)方法的RMSE和MAE的平均值進(jìn)行對(duì)比,結(jié)果如表3所示.對(duì)于表2中的5個(gè)數(shù)據(jù)集,基于5種權(quán)重分配方法的CBR預(yù)測(cè)精度由高到低依次是:CBRSHO-SA、CBRSHO、CBRGA、CBRMA、CBRWFA.可見,具有不同操作算子和獨(dú)立個(gè)體行為[25]的SHO算法能在一定程度上緩解局部最優(yōu)問題,并且SHO-SA算法通過退火策略進(jìn)行全局搜索得到最優(yōu)權(quán)重,進(jìn)一步改善了陷入局部最優(yōu)的缺點(diǎn),表明了采用SA算法優(yōu)化SHO算法的有效性. 表3 不同方法對(duì)各數(shù)據(jù)集RMSE和MAE的對(duì)比Table 3 Comparison of RMSE and MAE of different methods for each data set 圖4 各方法對(duì)數(shù)據(jù)集D1的擬合效果Fig.4 Fitting effect of D1 for each method 3.3.2 穩(wěn)定性分析 為了驗(yàn)證本文方法的穩(wěn)定性,在每次實(shí)驗(yàn)后記錄其RMSE.因?yàn)镸A和WFA每次分配權(quán)重固定,所以同一數(shù)據(jù)集每次所得RMSE相同,使得MA和WFA方法所得RMSE的SD為0,并且遺傳算法在pm=0.06時(shí)實(shí)驗(yàn)效果最優(yōu),因此,對(duì)每個(gè)數(shù)據(jù)集和遺傳算法(pm=0.06)、SHO算法以及SHO-SA算法進(jìn)行對(duì)比,均計(jì)算10組RMSE的SD并繪制柱狀圖,如圖9所示.由圖可以看出,本文方法的SD在數(shù)據(jù)集D1~D5中均低于其他方法,結(jié)果表明此方法的穩(wěn)定性較好.另外,為了減小誤差,本文計(jì)算了各方法針對(duì)5個(gè)回歸數(shù)據(jù)集SD的平均值,如表4所示.表中的DZ:SD表示第Z個(gè)數(shù)據(jù)集的SD,采用遺傳算法(pm=0.06)、SHO算法、SHO-SA算法分配特征權(quán)重得出CBR預(yù)測(cè)模型的平均SD分別為0.007 7、0.006 3、0.004 1.由結(jié)果分析可知,SHO-SA算法通過運(yùn)動(dòng)階段、捕食階段、恢復(fù)階段以及退火策略不斷對(duì)權(quán)重迭代尋優(yōu),使得CBR預(yù)測(cè)模型的結(jié)果更具穩(wěn)定性. 圖5 各方法對(duì)數(shù)據(jù)集D2的擬合效果Fig.5 Fitting effect of D2 for each method 圖6 各方法對(duì)數(shù)據(jù)集D3的擬合效果Fig.6 Fitting effect of D3 for each method 圖7 各方法對(duì)數(shù)據(jù)集D4的擬合效果Fig.7 Fitting effect of D4 for each method 圖8 各方法對(duì)數(shù)據(jù)集D5的擬合效果Fig.8 Fitting effect of D5 for each method 圖9 各方法的SD對(duì)比Fig.9 Comparison of SD for different methods 表4 不同方法對(duì)各數(shù)據(jù)集SD的對(duì)比Table 4 Comparison of SD of each data set for different methods 綜上所述,采用本文基于SHO-SA算法進(jìn)行特征權(quán)重分配后,CBR預(yù)測(cè)模型的精度較高,并具有良好的穩(wěn)定性. 1)針對(duì)特征權(quán)重優(yōu)化分配存在的問題,本文提出一種基于SHO-SA算法的特征權(quán)重優(yōu)化分配方法.首先,采用適應(yīng)度函數(shù)和SHO算法的運(yùn)動(dòng)階段、捕食階段和恢復(fù)階段優(yōu)化特征權(quán)重,得到單次迭代RMSE最小所對(duì)應(yīng)的權(quán)重;然后,采用SA算法進(jìn)一步對(duì)上述權(quán)重進(jìn)行隨機(jī)搜索,進(jìn)而對(duì)特征權(quán)重進(jìn)行更合理的優(yōu)化分配,并存儲(chǔ)最優(yōu)特征權(quán)重作為SHO算法下一次迭代的初始權(quán)重;最后,通過不斷迭代得到近似最優(yōu)解. 2)通過對(duì)比實(shí)驗(yàn)的結(jié)果表明,本文分配權(quán)重的方法在CBR預(yù)測(cè)模型中發(fā)揮了一定優(yōu)勢(shì),相對(duì)于其他方法來說,本文方法的準(zhǔn)確性和穩(wěn)定性均得以提高. 3)值得注意的是,雖然實(shí)驗(yàn)結(jié)果表明了該特征權(quán)重優(yōu)化分配方法的有效性,但是SA算法采用隨機(jī)抽樣的方法產(chǎn)生新解,導(dǎo)致算法收斂速度慢,并且在當(dāng)前最優(yōu)權(quán)重附近產(chǎn)生新解方面還缺乏成熟的理論依據(jù),這樣得到的結(jié)果可能是權(quán)重的近似最優(yōu)解.因此,為了實(shí)現(xiàn)更加科學(xué)、準(zhǔn)確且穩(wěn)定的特征權(quán)重優(yōu)化分配方法,這個(gè)問題將是下一階段的主要研究?jī)?nèi)容.3 實(shí)驗(yàn)研究
3.1 實(shí)驗(yàn)設(shè)計(jì)
3.2 實(shí)驗(yàn)步驟
3.3 比較分析
4 結(jié)論