李周姿,馮 躍,林卓勝,徐 紅,2
(1. 五邑大學(xué)智能制造學(xué)部,廣東 江門 529020;2. 維多利亞大學(xué),澳大利亞 墨爾本)
中醫(yī)診斷中存在的主觀性和經(jīng)驗(yàn)局限性可以通過(guò)信息技術(shù)進(jìn)行改進(jìn),如應(yīng)用機(jī)器學(xué)習(xí)識(shí)別中醫(yī)面部五臟分布區(qū)域的顏色以輔助診斷。目前多數(shù)研究是基于整體面色,而針對(duì)人臉不同區(qū)域的膚色研究甚少。依據(jù)中醫(yī)理論,人臉不同區(qū)域的膚色與不同臟腑器官相關(guān)聯(lián),可以通過(guò)特定人臉區(qū)域的顏色狀態(tài)變化反映出相應(yīng)臟腑器官的健康狀態(tài),所以研究人臉不同區(qū)域的膚色對(duì)輔助中醫(yī)診斷具有實(shí)踐價(jià)值。針對(duì)小樣本研究選擇適合的機(jī)器學(xué)習(xí)分類器對(duì)提高面色的識(shí)別精度較為關(guān)鍵。在面色識(shí)別中常見(jiàn)的分類器有:樸素貝葉斯分類器(NB)[1]、BP神經(jīng)網(wǎng)絡(luò)(BP)[2]、K近鄰分類器(KNN)[3]、SVM[4]。SVM采用結(jié)構(gòu)風(fēng)險(xiǎn)最小化原理,具有較快的收斂速度、較小的絕對(duì)誤差、較強(qiáng)的抗過(guò)擬合能力等優(yōu)點(diǎn)[5,6]。同時(shí)SVM適用于小樣本分類,因此采用了SVM模型進(jìn)行面色分類。但較少研究對(duì)SVM參數(shù)進(jìn)行優(yōu)化,如文獻(xiàn)[7]側(cè)重于降低特征維度;文獻(xiàn)[8,9,10]側(cè)重于特征的提取。其在SVM參數(shù)的選擇上依賴于經(jīng)驗(yàn)。
SVM適合于線性數(shù)據(jù)的分類,但是生活中很多數(shù)據(jù)并不是線性的。若用于非線性數(shù)據(jù)的分類則需將該數(shù)據(jù)映射到高維空間,才能更加簡(jiǎn)單地進(jìn)行數(shù)據(jù)分類。在計(jì)算數(shù)據(jù)內(nèi)積需要使用核函數(shù)簡(jiǎn)化計(jì)算。SVM的分類性能非常依賴于合適的核參數(shù)以及懲罰參數(shù),然而這些參數(shù)通常是憑借經(jīng)驗(yàn)數(shù)據(jù)來(lái)選擇。參數(shù)的選取漸漸成為機(jī)器學(xué)習(xí)的一個(gè)重要研究領(lǐng)域[11,12]。在SVM參數(shù)的選擇上存在多種方法,如高雷阜等[13]引入有向搜索以及利用時(shí)變函數(shù)更新信息素的原則對(duì)蟻群算法加以改進(jìn),該算法能夠有效優(yōu)化SVM參數(shù),從而提高SVM的分類精度;王春枝等[14]將人工蜂群算法和SVM結(jié)合,通過(guò)同步處理SVM 的參數(shù)和特征選擇問(wèn)題,能夠提高SVM分類器的整體性能。陳俊梅等[15]選擇SVM核參數(shù)以及特征值充當(dāng)遺傳算法的染色體進(jìn)行選擇、交叉以及變異操作。通過(guò)輪盤賭以及加權(quán)深度優(yōu)先搜索結(jié)合的機(jī)制初始化群體,并自適應(yīng)優(yōu)化交叉概率與變異概率,最終有效提高SVM的性能。盡管這些方法能夠有效地提高SVM模型的泛化性能,但也存在不足之處。例如遺傳算法的參數(shù)比較多,而且需要對(duì)特征進(jìn)行二進(jìn)制編碼,實(shí)現(xiàn)步驟也較為繁瑣,同時(shí)參數(shù)的選擇也會(huì)影響到算法的尋優(yōu)性能;蟻群算法的計(jì)算量較大,因此尋優(yōu)過(guò)程比較耗時(shí);人工蜂群算法一般需要依靠經(jīng)驗(yàn)來(lái)確定相關(guān)參數(shù),而且很大程度受具體問(wèn)題以及環(huán)境的影響[16]。
粒子群算法(PSO)是一種啟發(fā)式算法,其具有參數(shù)較少、實(shí)現(xiàn)簡(jiǎn)單、收斂快速、全局尋優(yōu)能力較強(qiáng)等優(yōu)點(diǎn)。但是PSO算法通常采用慣性權(quán)重遞減的更新方法,在后期尋優(yōu)迭代中慣性權(quán)重的取值會(huì)越來(lái)越小,算法的全局尋優(yōu)能力會(huì)漸漸衰弱,以至于存在種群多樣性不夠豐富的缺陷,容易使算法過(guò)早收斂,陷入局部最優(yōu)。因此本文提出一種基于自適應(yīng)高斯調(diào)整粒子群算法(Adaptive Gaussian particle swarm optimization algorithm,AGPSO)優(yōu)化SVM模型,稱之為AGPSO-SVM模型。針對(duì)SVM小樣本分類現(xiàn)存的問(wèn)題,利用非線性函數(shù)對(duì)慣性權(quán)重按先增后減的方式進(jìn)行更新;對(duì)于每個(gè)粒子速度采用慣性權(quán)重的不同維取值在一定范圍內(nèi)隨機(jī)波動(dòng);對(duì)于處于不利狀態(tài)的粒子采取高斯分布模型有選擇地賦予隨機(jī)值;利用AGPSO-SVM模尋找合適SVM的懲罰系數(shù)以及多項(xiàng)核函數(shù)參數(shù)。實(shí)驗(yàn)表明所提出的AGPSO-SVM模型,能夠有效提高面部顏色識(shí)別的準(zhǔn)確率。
SVM由Vapnik等于1995年首先提出,其主要思想是最大化類之間的邊界[17]同時(shí)最小化結(jié)構(gòu)風(fēng)險(xiǎn)及經(jīng)驗(yàn)風(fēng)險(xiǎn)。SVM在處理線性數(shù)據(jù)時(shí)表現(xiàn)突出,而對(duì)于處理非線性數(shù)據(jù)則預(yù)測(cè)能力不佳[18],通常的解決方法引入核函數(shù)。多項(xiàng)式核函數(shù)是一種全局核函數(shù),能夠?qū)⑻卣鲾?shù)據(jù)映射到高維空間,同時(shí)其冪次數(shù)較低時(shí)計(jì)算較簡(jiǎn)單,因此采用的是多項(xiàng)式核函數(shù),如式(1)。
(1)
SVM中需要求解的最優(yōu)化問(wèn)題如式(2)
(2)
其中,αi是拉格朗日乘子;C為懲罰因子;xi是樣本點(diǎn)i;yi樣本點(diǎn)xi的標(biāo)記。
對(duì)樣本點(diǎn)x,SVM的決策分類函數(shù)如式(3)為
(3)
(4)
(5)
在粒子群算法中,若慣性權(quán)重取較大的值則算法全局尋優(yōu)能力會(huì)較強(qiáng),然而算法的收斂速度較慢。反之算法局部尋優(yōu)能力較強(qiáng),算法容易陷入早熟,因此慣性權(quán)重如何平衡全局尋優(yōu)能力以及局部尋優(yōu)能力尤為重要。通常在尋優(yōu)過(guò)程中采取線性遞減的策略對(duì)慣性權(quán)重進(jìn)行設(shè)置。但在尋優(yōu)過(guò)程中采取線性遞減策略更新慣性權(quán)重,在前期迭代中其取值較大,全局尋優(yōu)能力會(huì)較強(qiáng),容易跳出局部最優(yōu)從而有利于找到全局最優(yōu),到了后期迭代,慣性權(quán)重會(huì)越來(lái)越小,全局尋優(yōu)能力越來(lái)越弱而局部尋優(yōu)則越來(lái)越強(qiáng),收斂速度越來(lái)越快,因此不利于跳出局部最優(yōu),從而出現(xiàn)早熟現(xiàn)象。為了解決采用線性遞減的策略帶來(lái)的弊端,本文所提出的 AGPSO算法采用非線性函數(shù)更新慣性權(quán)重和高斯分布模型重置不利粒子的策略。在權(quán)重更新上,AGPSO算法的慣性權(quán)重在前半段迭代中逐漸增加,在后半段迭代中逐漸減少。在標(biāo)準(zhǔn)PSO算法中,每個(gè)粒子速度的各維值的更新都是采取相同的慣性權(quán)重,但是粒子的各維值的變化量卻不一樣,因此AGPSO算法對(duì)粒子速度的部分維值采用不同的慣性權(quán)重進(jìn)行更新。慣性權(quán)重計(jì)算如式(6):
(6)
式(6)中,ωid為粒子i第d維的慣性權(quán)重;ωmin,ωmax分別表示為慣性權(quán)重的下限以及上限;maxgen為最大迭代次數(shù);μ表示為慣性權(quán)重的波動(dòng)系數(shù);rand、rands分別表示為在區(qū)間[0,1]和[-1,1]內(nèi)服從均勻分布的隨機(jī)數(shù)。
僅僅利用線函數(shù)和非線性函數(shù)更新慣性權(quán)重均不能夠有效地增加種群的多樣性;當(dāng)粒子往反方向飛行時(shí),可能該粒子陷入局部最優(yōu);在粒子位置定義內(nèi),對(duì)不利方向飛行的粒子賦予均勻分布隨機(jī)數(shù),各隨機(jī)值的概率一樣,同時(shí)沒(méi)針對(duì)性??紤]到上述問(wèn)題,因此在粒子位置迭代更新的過(guò)程中,對(duì)于向著不利方向飛行的粒子有選擇性地利用高斯分布模型產(chǎn)生的隨機(jī)值來(lái)對(duì)粒子位置進(jìn)行重置,從而使粒子種群的多樣性更加的豐富并且降低算法陷入局部最優(yōu)的可能性。為了使所的賦值更具針對(duì)性,采用當(dāng)前粒子位置、個(gè)體歷史最優(yōu)位置和全局最優(yōu)位置決定高斯分布模型的均值及方差。位置更新如式(7):
(7)
AGPSO-SVM模型的基本思路是:粒子的位置信息由懲罰系數(shù)C及核函數(shù)參數(shù)γ、r及d組成。適應(yīng)度的取值則是由驗(yàn)證集對(duì)SVM預(yù)測(cè)模型進(jìn)行驗(yàn)證所得的誤差構(gòu)成。首先初始化PSO參數(shù)并將位置信息傳給SVM作為模型參數(shù)值進(jìn)行訓(xùn)練SVM預(yù)測(cè)模型及計(jì)算出適應(yīng)度值,然后根據(jù)粒子的當(dāng)前位置、個(gè)體歷史最優(yōu)位置以及全局最優(yōu)位置對(duì)種群所有粒子的位置信息進(jìn)行更新。如果粒子當(dāng)前適應(yīng)值大于上一個(gè)適應(yīng)值,則使用高斯分布隨機(jī)數(shù)按一定比例對(duì)這些粒子進(jìn)行重置,再更新個(gè)體及群體的最優(yōu)值位置,否則直接更新個(gè)體及群體的最優(yōu)值位置。最后循環(huán)更新操作直到滿足終止條件,將最終輸出全局最優(yōu)值所對(duì)應(yīng)的位置信息作為SVM分類器的最終參數(shù)值,建立最終的SVM預(yù)測(cè)模型。
步驟 1:初始化參數(shù)。即對(duì)最大進(jìn)化次數(shù)、種群規(guī)模、慣性權(quán)重上下限、加速因子、初始速度及位置等PSO 的參數(shù)進(jìn)行設(shè)置。
步驟2:設(shè)置 SVM 的相關(guān)參數(shù)。核函數(shù)設(shè)置為多項(xiàng)式核函數(shù),設(shè)置結(jié)束條件,即誤差小于1e-6或者訓(xùn)練100次結(jié)束。
步驟3:計(jì)算適應(yīng)度值f以及尋找最優(yōu)位置。將粒子的初始位置作為SVM中懲罰系數(shù)C以及核函數(shù)參數(shù)γ、r以及d的初始值,然后進(jìn)行SVM預(yù)測(cè)模型的訓(xùn)練,采用驗(yàn)證集所得的誤差作為粒子的初始f,并尋找粒子的初始?xì)v史最優(yōu)位置lbest以及初始全局最優(yōu)位置gbest。
步驟4:慣性權(quán)重更新。按照式(6)更新算法慣性權(quán)重。
步驟 5:更新粒子的速度與位置。依照式(4)以及式(7)來(lái)更新速度以及位置信息,在速度與位置中對(duì)越界的某維度上的值進(jìn)行剪切處理,如果它們存在的某維上的取值超出上限則該維的值設(shè)置為上限,如果它們存在的某維上的取值超出下限則該維的值設(shè)置為下限。
步驟 7 :判斷是否結(jié)束迭代。假如符合終止尋優(yōu)迭代條件,則結(jié)束算法尋優(yōu)過(guò)程并輸出全局最優(yōu)解,否則程序返回到步驟4,繼續(xù)求解。
步驟 8:將結(jié)束算法尋優(yōu)后所得到的最優(yōu)解作為SVM分類器的模型參數(shù),重新訓(xùn)練預(yù)測(cè)模型。 AGPSO-SVM算法流程如圖1所示。
圖1 AGPSO-SVM算法流程圖
圖2 面部塊定義
數(shù)據(jù)集來(lái)源于基金項(xiàng)目舌面診儀提供商,包含384張面部圖像,本文僅對(duì)于數(shù)據(jù)集中無(wú)個(gè)人信息及資料暴露的皮膚顏色分析,即不涉及面部特征的局部顏色分析。由專業(yè)的中醫(yī)醫(yī)師對(duì)數(shù)據(jù)集進(jìn)行篩選及標(biāo)記,從數(shù)據(jù)集中剪切出54張臉頰紅(a)、44張臉頰黃(d)、30張額紅(c)、45張額黃(d)、51張鼻紅(e)以及32張鼻黃(f),其區(qū)域狀態(tài)如圖2所示
由于未能查到公開(kāi)的病人面色數(shù)據(jù)庫(kù),針對(duì)有限的樣本,利用鏡像變換、調(diào)節(jié)對(duì)比度與亮度以及彈性變換對(duì)各類數(shù)據(jù)進(jìn)行擴(kuò)增,并將其尺寸規(guī)范到64×32。為了降低主觀因素對(duì)實(shí)驗(yàn)產(chǎn)生的影響,從最終擴(kuò)增的各類別數(shù)據(jù)中均隨機(jī)打亂順序并挑選出前200張。
訓(xùn)練策略是每一種類別都訓(xùn)練一個(gè)分類器,其中訓(xùn)練集、驗(yàn)證集與測(cè)試集的比例為3:1:1,它們均由正負(fù)樣本按1:1組成,其中負(fù)樣本由其余類別按等比例組成,實(shí)驗(yàn)中各類別的訓(xùn)練集、驗(yàn)證集與測(cè)試集組成情況為:a:180、60、60;b:240、80、80;c:150、50、50;d:150、50、50;e:210、70、70 ;f:180、60、60。
根據(jù)實(shí)際背景,將實(shí)驗(yàn)設(shè)備配置錄入表1中。
表1 實(shí)驗(yàn)設(shè)備配置
采取標(biāo)準(zhǔn)測(cè)試函數(shù)Sphere、Griewank、Ackley以及Rastrigin對(duì)本文提出的AGPSO算法和對(duì)比算法進(jìn)行測(cè)試。每個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)均對(duì)每種算法進(jìn)行100次測(cè)試實(shí)驗(yàn)。粒子群算法參數(shù)的設(shè)置情況如下:種群大小N=30,粒子維度dim =30,最大迭代次數(shù)maxgen=400,學(xué)習(xí)因子c1=c2=2。表2為標(biāo)準(zhǔn)測(cè)試函數(shù)的實(shí)驗(yàn)結(jié)果,從該實(shí)驗(yàn)結(jié)果中可以看得出:不管利用那一個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)對(duì)5種算法進(jìn)行測(cè)試,AGPSO算法的最優(yōu)收斂值及平均收斂值都小于其它算法的。由此可以說(shuō)明采用增減結(jié)合更新慣性權(quán)重和高斯分布模型重置不利粒子的策略具有優(yōu)越性,能夠有效降低算法在尋優(yōu)過(guò)程中陷入局部最優(yōu)的可能性。
表2 標(biāo)準(zhǔn)測(cè)試函數(shù)結(jié)果比較
圖3是在不同標(biāo)準(zhǔn)函數(shù)下,各算法尋優(yōu)過(guò)程的對(duì)比圖。橫坐標(biāo)為迭代次數(shù),縱坐標(biāo)為對(duì)全局最優(yōu)值取以 10為底的對(duì)數(shù)。從各圖中的曲線對(duì)比情況來(lái)看AGPSO算法收斂比較晚,尋找到的最優(yōu)解在測(cè)試算法算法中最優(yōu),其它算法出現(xiàn)了早熟現(xiàn)象。由此可知AGPSO算能夠增加種群多樣性避免陷入過(guò)早收斂,有利于跳出局部最優(yōu)達(dá)到全局最優(yōu)。
圖3 四種標(biāo)準(zhǔn)測(cè)試函數(shù)尋優(yōu)過(guò)程
表3 面部塊顏色識(shí)別中不同算法訓(xùn)練時(shí)間的比較
表4 面部塊顏色識(shí)別中不同算法的準(zhǔn)確率比較
由表3以及表4可以看出,在面色識(shí)別上KNN的平均識(shí)別正確率為82.85%在所有方法中最低,AGPSO-SVM平均識(shí)別正確率為92.26%在所有方法中最高。PSO-SVM及AGPSO-SVM的平均正確率均比其余的方法都要高。SVM的平均訓(xùn)練時(shí)間最短,耗時(shí)0.0800s。AGPSO-SVM的平均訓(xùn)練時(shí)間僅次于SVM,耗時(shí)0.1058s。NB平均訓(xùn)練時(shí)間最長(zhǎng),耗時(shí)23.1492s。NB準(zhǔn)確率比常規(guī)SVM要高,但是訓(xùn)練耗費(fèi)時(shí)間遠(yuǎn)大于SVM。 AGPSO-SVM 相對(duì)于傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)、NB、KNN、SVM及PSO-SVM的識(shí)別準(zhǔn)確率有所提升,而且 AGPSO-SVM準(zhǔn)確率比常規(guī)SVM的高出5.25%。這說(shuō)明AGPSO-SVM能夠選擇出適合的SVM參數(shù)。實(shí)驗(yàn)結(jié)果表明,AGPSO-SVM 模型能夠有效提高了面部塊顏色識(shí)別的準(zhǔn)確率。
傳統(tǒng)面色識(shí)別主觀性較強(qiáng),識(shí)別結(jié)果有所差異。為了提高識(shí)別精度,提出了一種AGPSO-SVM預(yù)測(cè)模型。針對(duì)標(biāo)準(zhǔn)PSO算法存在難以滿足種群多樣性的缺陷,而采取非線性函數(shù)先增后減的慣性權(quán)重的更新策略并且在尋優(yōu)過(guò)程中粒子速度的不同維取值都有不同的慣性權(quán)重,同時(shí)對(duì)于處于不利狀態(tài)的粒子采取高斯分布模型有選擇地賦予隨機(jī)值。該模型能夠豐富算法在尋優(yōu)過(guò)程中粒子群的多樣性,能夠選出適合的懲罰系數(shù)及核函數(shù)參數(shù),提高SVM預(yù)測(cè)模型的性能。實(shí)驗(yàn)表明AGPSO-SVM 模型在面部顏色識(shí)別上準(zhǔn)確率有所提高。多項(xiàng)式核函數(shù)也存在其缺點(diǎn):當(dāng)冪次數(shù)設(shè)置較低時(shí)計(jì)算較為簡(jiǎn)單,然而當(dāng)其設(shè)置太高時(shí),計(jì)算所得的數(shù)值會(huì)很高或很低,穩(wěn)定性容易受影響。因此今后工作將是利用多項(xiàng)式核函數(shù)與徑向基和函數(shù)組成混合核函數(shù)以改善SVM性能。