徐中宇, 蘇明玉, 姚慶安
(長(zhǎng)春工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院, 長(zhǎng)春 130012)
支持向量機(jī)(support vector machine, SVM)[1-2]是一種能在極其有限的信息條件下學(xué)習(xí)到最優(yōu)預(yù)測(cè)結(jié)果的算法, 如何確定函數(shù)中相關(guān)參數(shù)對(duì)于增強(qiáng)混合核SVM的預(yù)測(cè)準(zhǔn)確率非常重要[3-5]. 粒子群優(yōu)化(particle swarm optimization, PSO)算法[6-7]是一種基于種群的全局并行優(yōu)化方法, 具有收斂速度快并易于實(shí)現(xiàn)等優(yōu)點(diǎn). 本文通過(guò)PSO算法對(duì)混合核SVM[8]的參數(shù)進(jìn)行尋優(yōu). 由于普通粒子群算法在進(jìn)行優(yōu)化選擇時(shí)具有收斂慢和易陷入局部極小值等缺點(diǎn), 因此目前已有多種改進(jìn)粒子群優(yōu)化算法[9-11]. 本文在粒子群算法的基礎(chǔ)上通過(guò)改進(jìn)并限制其速度和搜索范圍等參數(shù), 得到了性能更好的改進(jìn)限制范圍粒子群優(yōu)化(improved limit particle swarm optimization, ILPSO)算法. 結(jié)果表明, 該算法能更好地提高粒子的搜索性能, 提升了粒子群的收斂速率, 達(dá)到了最優(yōu)的效果及精確優(yōu)化混合核SVM參數(shù)的目的.
SVM能對(duì)非線性特征進(jìn)行線性分析[12], 并在該高維空間內(nèi)建立一個(gè)具有最大類間隔[13]的分類超平面, 即最優(yōu)超平面. 使用混合核函數(shù)[14-15]取代單核, 不僅具有兩個(gè)單核模型的優(yōu)勢(shì), 而且有更佳的學(xué)習(xí)和泛化等能力. 基于單核的優(yōu)勢(shì)把多項(xiàng)式核和徑向基核進(jìn)行線性組合[16], 構(gòu)造混合核函數(shù)Knew為
Knew=λ1Kpoly+λ2Krbf,
(1)
其中:
λi(i=1,2)為權(quán)重系數(shù), 滿足λ1,λ2∈(0,1), 且λ1+λ2=1.
1.2.1 基本粒子群優(yōu)化算法 PSO算法用于優(yōu)化非線性函數(shù), 設(shè)粒子群中第i個(gè)粒子在空間的位置為Xi, 其相應(yīng)粒子速度為Vi, 此時(shí)局部極值為pbesti, 全局極值為gbesti. 在每次的粒子迭代中, 粒子從一個(gè)位置迭代到另一個(gè)位置, 每個(gè)粒子位置Xi根據(jù)不同因素的規(guī)則移動(dòng), 公式如下:
其中Vi為第i個(gè)粒子的速度, 定義為
其中:wmax,wmin分別為初始和最終的權(quán)重因子; itermax為最大迭代次數(shù); iter為當(dāng)前迭代數(shù).
1.2.2 ILPSO算法設(shè)計(jì) 在PSO算法的實(shí)現(xiàn)中, 參數(shù)wi0,wi1,wi2,rnd1和rnd2都是該算法收斂的重要影響因子. 雖然普通的PSO算法有較快的收斂速度, 但在后期收斂速度較緩慢. 為使PSO算法加快收斂速度并提高求解質(zhì)量, 本文通過(guò)以下3種策略對(duì)PSO算法進(jìn)行改進(jìn).
1) 粒子速度限制.
初始化粒子隨機(jī)位置在其限制范圍內(nèi), 定義為
(2)
(3)
其中:
2) 減少搜索空間.
減少搜索空間有利于加快收斂速度. 在這種情況下, 搜索空間是動(dòng)態(tài)調(diào)整的, 以達(dá)到預(yù)期的范圍內(nèi). 首先, 在粒子i中對(duì)控制變量j搜索限制的最小和最大控制變量為
(4)
迭代(k+1)次, 搜索空間限制為
(5)
(6)
其中:Xij,min為粒子的最小位置;Xij,max為粒子的最大位置.
3) 交叉算子.
(7)
且
(8)
其中: randij為一個(gè)在[0,1]內(nèi)的隨機(jī)數(shù);CR為交叉概率, 經(jīng)驗(yàn)確定的最佳值為0.5.
本文的混合核SVM需要提前給定的參數(shù)分別為正則化參數(shù)C、 相應(yīng)核參數(shù)中的σ及不敏感損失函數(shù)參數(shù)ε. 通常選取合適的C值有利于避免由誤差而引起的泛化能力減弱;ε用于控制擬合的管道, 有利于避免訓(xùn)練樣本脫離管道壁;σ?guī)椭鶶VM調(diào)解輸入?yún)?shù)的敏感程度. 因此, 必須為混合核SVM選擇最優(yōu)的參數(shù)[16]. ILPSO算法優(yōu)化參數(shù)的適應(yīng)值可采用能直接反應(yīng)SVM性能的均方差函數(shù):
(9)
其中:fi為預(yù)測(cè)值;yi為實(shí)際值;m為樣本個(gè)數(shù). 改進(jìn)的限制性粒子群優(yōu)化算法對(duì)多核SVM的參數(shù)選擇流程如圖1所示.
圖1 基于ILPSO對(duì)混合核SVM參數(shù)尋優(yōu)的流程Fig.1 Flow chart for optimization of hybrid kernel SVM parameters based on ILPSO
ILPSO算法描述如下.
輸入: 粒子的維數(shù)和個(gè)數(shù);
輸出: SVM最佳參數(shù)組合(C,σ,ε,λ).
2) 用牛頓迭代法求解各個(gè)參數(shù), 通過(guò)評(píng)價(jià)各個(gè)粒子的目標(biāo)函數(shù)、 穩(wěn)態(tài)罰函數(shù)及進(jìn)行暫態(tài)穩(wěn)定仿真, 評(píng)估每個(gè)粒子的暫態(tài)穩(wěn)定的罰函數(shù), 并對(duì)粒子的當(dāng)前參數(shù)值進(jìn)行評(píng)價(jià).
3) 計(jì)算每個(gè)粒子的適應(yīng)度. 重新定位粒子的最新位置為極值ibesti.
4) 重新確定粒子的初始速度和位置, 根據(jù)式(9)確定為新的適應(yīng)度值Ffitness, 令ipresenti=Ffitness.
5) 比較更新后的ipresenti和全局最優(yōu)位置gbesti. 若ipresenti>gbesti, 則gbesti=ipresenti.
6) 判斷當(dāng)前是否完全符合迭代終止的要求, 若符合, 則停止迭代, 并輸出最適合的SVM參數(shù)組合; 若不符合, 則重新計(jì)算粒子的權(quán)重、 位置和速度, 并轉(zhuǎn)2) . 若得到的最優(yōu)解為多組時(shí), 則取wi最小的一組.
7) 獲得優(yōu)化后的多核權(quán)重參數(shù)后, 開(kāi)始優(yōu)化多核函數(shù), 并應(yīng)用于舌象的舌苔、 舌質(zhì)分割測(cè)試集提取中.
8) 計(jì)算誤差精度, 并判斷是否符合分割條件, 如果不符合, 則轉(zhuǎn)7), 直至分割成功為止.
選用山西醫(yī)科大學(xué)第一醫(yī)院生物圖像數(shù)據(jù)庫(kù)中的100例舌象樣本作為實(shí)驗(yàn)樣本, 其中80例為訓(xùn)練樣本, 20例為測(cè)試樣本. 實(shí)驗(yàn)環(huán)境為CPU主頻2.8 GHz, 內(nèi)存8 GB的計(jì)算機(jī), MATLAB 7.10平臺(tái).
將實(shí)驗(yàn)數(shù)據(jù)中的測(cè)試樣本輸入到構(gòu)造的SVM中進(jìn)行性能測(cè)試, 以計(jì)算得到的均方根誤差函數(shù)值Frmse作為預(yù)測(cè)精度的參考值:
(10)
其中:xi為訓(xùn)練樣本;yi為xi訓(xùn)練樣本下的目標(biāo)值;n為當(dāng)前實(shí)驗(yàn)中的樣本數(shù)量;C,σ,ε,λ為輸入?yún)?shù).
為比較不同優(yōu)化算法對(duì)參數(shù)優(yōu)化的效果, 本文實(shí)驗(yàn)中分別運(yùn)用了十折交叉驗(yàn)證法、 PSO算法、 CPSO算法和ILPSO算法對(duì)混合核SVM參數(shù)求最優(yōu)解, 經(jīng)過(guò)100次實(shí)驗(yàn), 分別用不同的優(yōu)化方法對(duì)混合核SVM參數(shù)(C,σ,λ)進(jìn)行優(yōu)選, 其中λ,C和σ分別在[0,1],[0.01,1.1]和[1,1 000]內(nèi)取值, 所得比較結(jié)果列于表1. 由表1可見(jiàn), 相對(duì)于其他幾種優(yōu)化方法, 改進(jìn)后PSO算法的平均測(cè)試誤差和平均預(yù)測(cè)誤差均有所降低, 達(dá)到了理想的實(shí)驗(yàn)結(jié)果.
表1 不同方法優(yōu)化參數(shù)性能比較
本文實(shí)驗(yàn)通過(guò)不同的PSO算法對(duì)混合核SVM參數(shù)優(yōu)化結(jié)果進(jìn)行對(duì)比, 從而驗(yàn)證改進(jìn)的PSO算法對(duì)舌苔、 舌質(zhì)的分割具有較好的性能.
實(shí)驗(yàn)中的測(cè)試樣本如圖2所示. 通過(guò)改進(jìn)的PSO(improved limit PSO)多核SVM算法(ILPSO-SVM)、 ILPSO單核SVM算法(ILPSO-SVM)、 一般的PSO(normal PSO)多核SVM算法(NPSO-SVM)、 一般的PSO單核SVM算法(NPSO-SVM)、 遺傳算法(GA)多核SVM算法(GA-SVM)和普通的SVM算法對(duì)舌象的舌苔、 舌質(zhì)分類進(jìn)行仿真實(shí)驗(yàn), 實(shí)驗(yàn)結(jié)果列于表2. 由表2可見(jiàn), 遺傳算法的種群規(guī)模與ILPSO算法相同, 交叉概率為0.8, 變異概率為0.037, 代溝為0.9. 在分割實(shí)驗(yàn)中, 本文的ILPSO-SVM多核和單核分割舌苔、 舌質(zhì)結(jié)果如圖3所示.
表2 各種預(yù)測(cè)方法仿真結(jié)果對(duì)比
圖2 基于粒子群的混合核SVM舌象分割圖像樣本Fig.2 Hybrid kernel SVM tongue image segmentation image sample based on particle swarm
圖3 ILPSO算法的多種核SVM舌象分割圖像Fig.3 Multiple kernel SVM tongue image segmentation images of ILPSO algorithm
由圖2和圖3可見(jiàn), ILPSO-SVM多核和單核分割的舌苔和舌質(zhì)差別較大, 且多核的分割效果更接近于標(biāo)準(zhǔn)結(jié)果. 由表2可見(jiàn), 本文改進(jìn)的PSO優(yōu)化多核SVM所生成的預(yù)測(cè)模型在很大程度上逼近于理想模型, 不僅能獲得較精確的全局最優(yōu)解, 且具備較高的尋優(yōu)效率(較短的進(jìn)化時(shí)間); 遺傳算法(GA)由于進(jìn)行速度無(wú)法滿足要求, 最終收斂到局部極小值, 尋優(yōu)失敗. 相比其他預(yù)測(cè)方法, 本文算法的預(yù)測(cè)準(zhǔn)確度有所提升, 且誤差率明顯降低.
綜上所述, 本文算法較好地結(jié)合了單核模型的優(yōu)勢(shì), 運(yùn)用組合的方式生成多核SVM模型, 并通過(guò)改進(jìn)的PSO算法進(jìn)行參數(shù)選擇, 克服了人工選取參數(shù)的主觀性. 實(shí)驗(yàn)結(jié)果表明, 在舌象中的舌苔和舌質(zhì)顏色交錯(cuò)融合的特性中, 通過(guò)本文算法可得到更逼近理想的分割效果, 相比其他優(yōu)化算法, 優(yōu)化的核參數(shù)對(duì)于舌苔和舌質(zhì)的分割有更高的分割精度和泛化性能.