詹秀菊
(廣州中醫(yī)藥大學(xué)醫(yī)學(xué)信息工程學(xué)院,廣州 510006)
首先從中國知網(wǎng)、萬方數(shù)據(jù)庫、維普和中國生物醫(yī)學(xué)文獻(xiàn)服務(wù)系統(tǒng)等4個(gè)中文數(shù)據(jù)庫獲取文獻(xiàn)3250 篇,根據(jù)納入標(biāo)準(zhǔn)以及排除標(biāo)準(zhǔn)篩選文獻(xiàn)共455 篇,即455 例病案,并錄入Excel2016 表中。隨機(jī)篩選367 例病案作為訓(xùn)練樣本,隨機(jī)篩選88 例病案作為測試樣本。其中銀屑病臨床癥狀變量有皮疹發(fā)展迅速、皮疹經(jīng)久不退、皮疹消退、皮損鮮紅、皮損淡紅、皮損暗紅、點(diǎn)滴狀皮疹、斑片狀皮疹、地圖狀皮疹、鱗屑干燥脫落、鱗屑附著緊、皮損肥厚、浸潤明顯、皮膚干燥、皮膚潮濕、皮損灼熱、皮損腫脹、疲乏、咽干、咽燥、咽腫、咽喉痛、肢體倦怠、頭暈、胸悶、納呆、喜冷飲、口干、口渴、口苦、失眠多夢、不寐、心煩易怒、便干、便秘、便溏、小便黃赤、唇青紫、舌紅、舌紫暗、舌暗紅、舌淡紅、瘀斑、苔黃、苔白、苔薄、少苔、舌燥、苔膩、浮脈、沉脈、緩脈、數(shù)脈、澀脈、滑脈、弦脈、細(xì)脈和濡脈等58個(gè),選取血熱證、血瘀證、血燥證三種證型作為輸出變量。通過MATLAB2015a 自帶的主成分分析(PCA 算法)將58 個(gè)癥狀變量降維,PCA 算法確定累計(jì)貢獻(xiàn)率設(shè)置為0.93,可以提取得到34個(gè)主成分因子,將34 個(gè)主成分因子作為銀屑病中醫(yī)證型預(yù)測模型的輸入變量,BP 神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點(diǎn)數(shù)為6,即神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)為34-6-1,然后基于GA-PSO-BP 神經(jīng)網(wǎng)絡(luò)建立銀屑病中醫(yī)證型預(yù)測模型。
GA(genetic algorithm)算法具有全局較強(qiáng)的搜索能力,與PSO(particle swarm optimization)算法的快速局部搜索能力相結(jié)合,可以揚(yáng)長避短,克服PSO 算法陷入局部最優(yōu)的缺陷,改善收斂速度。在一定程度上克服PSO算法陷入全局收斂停滯的現(xiàn)象,并且提高搜索精度。其實(shí)現(xiàn)的主要步驟為:
(1)確定BP 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),確定神經(jīng)網(wǎng)絡(luò)各層的神經(jīng)元個(gè)數(shù)。
(2)初始化BP 神經(jīng)網(wǎng)絡(luò)的參數(shù)以及確定種群規(guī)模popsize,交叉概率,變異概率,最大進(jìn)化代數(shù)N,初始化種群pop1。
(3)計(jì)算每個(gè)粒子的適應(yīng)度值。
(4)更新粒子位置和速度。
(5)從上述的種群中按照選擇算子選出popsize個(gè)個(gè)體,以概率P兩兩交叉操作,得到新的種群pop2。
(6)再從pop2 中按照賭輪選擇算法選取popsize個(gè)個(gè)體,以概率一次給出的變異算法對個(gè)體進(jìn)行變異,得出新的種群pop3。
(7)個(gè)體更新和群體更新。
(8)判斷粒子群優(yōu)化算法是否滿足終止條件,如果是,則停止迭代,并將每個(gè)粒子的個(gè)體最優(yōu)值和全局最優(yōu)值賦予BP 神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值,使BP 神經(jīng)網(wǎng)絡(luò)獲得最優(yōu)權(quán)值和閾值;如果否,則返回步驟(3),繼續(xù)進(jìn)行迭代。
(9)計(jì)算誤差,更新權(quán)值和閾值,檢查是否,滿足條件,如果滿足,則輸出結(jié)果;如果不滿足,則重新計(jì)算誤差。
GA-PSO-BP神經(jīng)網(wǎng)絡(luò)流程如圖1所示。
圖1 GA-PSO-BP 流程圖
因各算法的參數(shù)對預(yù)測結(jié)果有一定的影響,在前期研究的基礎(chǔ)上,本研究將PSO 算法的慣性權(quán)重設(shè)為1.4,學(xué)習(xí)因子設(shè)為0.5 + log(2)。在此基礎(chǔ)上,觀察GA 算法的交叉概率和變異概率的改變對預(yù)測結(jié)果的影響,并根據(jù)觀察結(jié)果重點(diǎn)對交叉概率和變異概率的參數(shù)進(jìn)行調(diào)整,找出BP 神經(jīng)網(wǎng)絡(luò)、PSO 算法和GA 的最優(yōu)參數(shù),以構(gòu)建GA-PSO-BP 銀屑病中醫(yī)證型預(yù)測模型的最優(yōu)模型。
GA 算法的性能受種群規(guī)模、最大遺傳代數(shù)、交叉和變異概率等參數(shù)影響,交叉概率影響交叉算子使用頻率,其大小決定模式的生存和重組概率,變異概率影響種群的多樣性,控制了新基因?qū)敕N群的比例。本文側(cè)重于研究交叉和變異概率對GA-PSO 算法的性能影響。
交叉概率是影響GA 算法的重要參數(shù)之一,如交叉概率過大,容易破壞已有的最適應(yīng)解,隨機(jī)性增大,容易錯(cuò)失最優(yōu)個(gè)體;交叉概率過小,種群不能有效更新,使得收斂結(jié)果不具有說服力。大量資料建議交叉概率取值范圍是0.4到0.99。變異概率暫設(shè)置為0.1,設(shè)置交叉概率分別為0.4、0.7 和0.99,對比結(jié)果對GA-PSO 算法性能的影響。
從圖2不同交叉概率的GA-PSO 算法對比圖中可以看出,交叉概率為0.4,當(dāng)?shù)螖?shù)為170 左右時(shí),粒子趨向于平穩(wěn),即得到最優(yōu)解;交叉概率為0.99,當(dāng)?shù)螖?shù)為150左右時(shí),粒子得到最優(yōu)解;交叉概率為0.7,當(dāng)?shù)螖?shù)為40 左右,粒子趨向于穩(wěn)定,進(jìn)入收斂狀態(tài)。從仿真結(jié)果可以看出,交叉概率為0.7 時(shí),GAPSO 算法收斂性最好,且適應(yīng)度值最小。交叉概率為0.99,新個(gè)體產(chǎn)生相對較快,遺傳模式被破壞的可能性相對大,增加粒子的隨機(jī)性,造成適應(yīng)度值隨機(jī)性。由此可推斷,銀屑病模型中交叉概率參數(shù)設(shè)置為0.7 時(shí)模型最優(yōu),因此后續(xù)實(shí)驗(yàn)以交叉概率為0.7繼續(xù)研究。
圖2 不同Pc的GA-PSO算法對比
變異概率大小影響GA 算法性能,變異概率太小,容易導(dǎo)致收斂不穩(wěn)定;變異概率太大,盡管種群的多樣性可以得到保證,但是最適應(yīng)解的概率也隨之增大。有資料建議變異概率取值范圍為0.001到0.1,本文交叉概率設(shè)置為0.7,變異概率分別為0.001、0.01和0.1,討論仿真結(jié)果對GA-PSO算法的影響。
從圖3 可以看出,變異概率為0.001 時(shí),粒子經(jīng)幾個(gè)轉(zhuǎn)折進(jìn)入穩(wěn)定狀態(tài),說明變異概率相對小,不易產(chǎn)生新的個(gè)體,導(dǎo)致收斂相對較慢且不穩(wěn)定。變異概率為0.1 時(shí)晚于變異概率為0.01進(jìn)入收斂狀態(tài),當(dāng)?shù)螖?shù)為200時(shí),變異概率為0.1 的最優(yōu)適應(yīng)度值比變異概率為0.01 的最優(yōu)適應(yīng)度值小,因此變異概率為0.1 時(shí),GAPSO算法性能最優(yōu)。
圖3 不同Pm的GA-PSO算法對比
GA-PSO-BP 模型各參數(shù)設(shè)置參考以上結(jié)果進(jìn)行設(shè)置,隨機(jī)篩選367例病案作為訓(xùn)練樣本數(shù)據(jù)導(dǎo)入GA-PSO-BP 神經(jīng)網(wǎng)絡(luò)證型預(yù)測模型中進(jìn)行模型訓(xùn)練,將88 例病案作為測試樣本輸入訓(xùn)練好的模型中,以測試樣本的結(jié)果作為模型性能的說明?;贛atlab 2015a進(jìn)行三次訓(xùn)練,準(zhǔn)確率分別為89.78%、90.12%和86.36?,F(xiàn)以第一次訓(xùn)練結(jié)果進(jìn)行說明,如圖4所示,隨著迭代數(shù)次的增加,粒子的適應(yīng)度值也不斷地變小,當(dāng)?shù)螖?shù)為200時(shí),粒子的最小適應(yīng)度值8.7。選取8.7 作為最優(yōu)粒子適應(yīng)度值計(jì)算BP 神經(jīng)網(wǎng)絡(luò)中的閾值和權(quán)值,并得出BP 神經(jīng)網(wǎng)絡(luò)證型預(yù)測結(jié)果,如圖5所示,其中菱形的虛線代表預(yù)測輸出,星號的實(shí)線代表實(shí)際值,從圖5 可以看出,GA-PSO 算法優(yōu)化的BP 神經(jīng)網(wǎng)絡(luò)的輸出結(jié)果與實(shí)際值相等的個(gè)數(shù)共有79 個(gè),即模型的準(zhǔn)確率為89.78%,該結(jié)果表明GA-PSO-BP 神經(jīng)網(wǎng)絡(luò)模型應(yīng)用于銀屑病中醫(yī)證型模型的建立是可行的,GA 算法與PSO 算法的結(jié)合在一定程度上對BP 神經(jīng)網(wǎng)絡(luò)構(gòu)建的模型性能起到改善作用。
圖4 GA-PSO算法適應(yīng)度曲線
圖5 GA-PSO-BP神經(jīng)網(wǎng)絡(luò)實(shí)際值與預(yù)測值
GA 算法與PSO 算法結(jié)合優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)構(gòu)建銀屑病證型預(yù)測模型平均準(zhǔn)確率為89.78%,說明PSO 算法能有效克服BP 神經(jīng)網(wǎng)絡(luò)的缺陷,引入GA 算法能提高PSO-BP 模型的性能。GAPSO-BP 模型收斂較好,預(yù)測精度高,可為銀屑病中醫(yī)證型研究提供技術(shù)參考,為多種算法結(jié)合優(yōu)化BP神經(jīng)網(wǎng)絡(luò)建模擴(kuò)展研究思路。