詹秀菊
(廣州中醫藥大學醫學信息工程學院,廣州 510006)
首先從中國知網、萬方數據庫、維普和中國生物醫學文獻服務系統等4個中文數據庫獲取文獻3250 篇,根據納入標準以及排除標準篩選文獻共455 篇,即455 例病案,并錄入Excel2016 表中。隨機篩選367 例病案作為訓練樣本,隨機篩選88 例病案作為測試樣本。其中銀屑病臨床癥狀變量有皮疹發展迅速、皮疹經久不退、皮疹消退、皮損鮮紅、皮損淡紅、皮損暗紅、點滴狀皮疹、斑片狀皮疹、地圖狀皮疹、鱗屑干燥脫落、鱗屑附著緊、皮損肥厚、浸潤明顯、皮膚干燥、皮膚潮濕、皮損灼熱、皮損腫脹、疲乏、咽干、咽燥、咽腫、咽喉痛、肢體倦怠、頭暈、胸悶、納呆、喜冷飲、口干、口渴、口苦、失眠多夢、不寐、心煩易怒、便干、便秘、便溏、小便黃赤、唇青紫、舌紅、舌紫暗、舌暗紅、舌淡紅、瘀斑、苔黃、苔白、苔薄、少苔、舌燥、苔膩、浮脈、沉脈、緩脈、數脈、澀脈、滑脈、弦脈、細脈和濡脈等58個,選取血熱證、血瘀證、血燥證三種證型作為輸出變量。通過MATLAB2015a 自帶的主成分分析(PCA 算法)將58 個癥狀變量降維,PCA 算法確定累計貢獻率設置為0.93,可以提取得到34個主成分因子,將34 個主成分因子作為銀屑病中醫證型預測模型的輸入變量,BP 神經網絡隱含層節點數為6,即神經網絡的拓撲結構為34-6-1,然后基于GA-PSO-BP 神經網絡建立銀屑病中醫證型預測模型。
GA(genetic algorithm)算法具有全局較強的搜索能力,與PSO(particle swarm optimization)算法的快速局部搜索能力相結合,可以揚長避短,克服PSO 算法陷入局部最優的缺陷,改善收斂速度。在一定程度上克服PSO算法陷入全局收斂停滯的現象,并且提高搜索精度。其實現的主要步驟為:
(1)確定BP 神經網絡結構,確定神經網絡各層的神經元個數。
(2)初始化BP 神經網絡的參數以及確定種群規模popsize,交叉概率,變異概率,最大進化代數N,初始化種群pop1。
(3)計算每個粒子的適應度值。
(4)更新粒子位置和速度。
(5)從上述的種群中按照選擇算子選出popsize個個體,以概率P兩兩交叉操作,得到新的種群pop2。
(6)再從pop2 中按照賭輪選擇算法選取popsize個個體,以概率一次給出的變異算法對個體進行變異,得出新的種群pop3。
(7)個體更新和群體更新。
(8)判斷粒子群優化算法是否滿足終止條件,如果是,則停止迭代,并將每個粒子的個體最優值和全局最優值賦予BP 神經網絡權值和閾值,使BP 神經網絡獲得最優權值和閾值;如果否,則返回步驟(3),繼續進行迭代。
(9)計算誤差,更新權值和閾值,檢查是否,滿足條件,如果滿足,則輸出結果;如果不滿足,則重新計算誤差。
GA-PSO-BP神經網絡流程如圖1所示。

圖1 GA-PSO-BP 流程圖
因各算法的參數對預測結果有一定的影響,在前期研究的基礎上,本研究將PSO 算法的慣性權重設為1.4,學習因子設為0.5 + log(2)。在此基礎上,觀察GA 算法的交叉概率和變異概率的改變對預測結果的影響,并根據觀察結果重點對交叉概率和變異概率的參數進行調整,找出BP 神經網絡、PSO 算法和GA 的最優參數,以構建GA-PSO-BP 銀屑病中醫證型預測模型的最優模型。
GA 算法的性能受種群規模、最大遺傳代數、交叉和變異概率等參數影響,交叉概率影響交叉算子使用頻率,其大小決定模式的生存和重組概率,變異概率影響種群的多樣性,控制了新基因導入種群的比例。本文側重于研究交叉和變異概率對GA-PSO 算法的性能影響。
交叉概率是影響GA 算法的重要參數之一,如交叉概率過大,容易破壞已有的最適應解,隨機性增大,容易錯失最優個體;交叉概率過小,種群不能有效更新,使得收斂結果不具有說服力。大量資料建議交叉概率取值范圍是0.4到0.99。變異概率暫設置為0.1,設置交叉概率分別為0.4、0.7 和0.99,對比結果對GA-PSO 算法性能的影響。
從圖2不同交叉概率的GA-PSO 算法對比圖中可以看出,交叉概率為0.4,當迭代次數為170 左右時,粒子趨向于平穩,即得到最優解;交叉概率為0.99,當迭代次數為150左右時,粒子得到最優解;交叉概率為0.7,當迭代次數為40 左右,粒子趨向于穩定,進入收斂狀態。從仿真結果可以看出,交叉概率為0.7 時,GAPSO 算法收斂性最好,且適應度值最小。交叉概率為0.99,新個體產生相對較快,遺傳模式被破壞的可能性相對大,增加粒子的隨機性,造成適應度值隨機性。由此可推斷,銀屑病模型中交叉概率參數設置為0.7 時模型最優,因此后續實驗以交叉概率為0.7繼續研究。

圖2 不同Pc的GA-PSO算法對比
變異概率大小影響GA 算法性能,變異概率太小,容易導致收斂不穩定;變異概率太大,盡管種群的多樣性可以得到保證,但是最適應解的概率也隨之增大。有資料建議變異概率取值范圍為0.001到0.1,本文交叉概率設置為0.7,變異概率分別為0.001、0.01和0.1,討論仿真結果對GA-PSO算法的影響。
從圖3 可以看出,變異概率為0.001 時,粒子經幾個轉折進入穩定狀態,說明變異概率相對小,不易產生新的個體,導致收斂相對較慢且不穩定。變異概率為0.1 時晚于變異概率為0.01進入收斂狀態,當迭代次數為200時,變異概率為0.1 的最優適應度值比變異概率為0.01 的最優適應度值小,因此變異概率為0.1 時,GAPSO算法性能最優。

圖3 不同Pm的GA-PSO算法對比
GA-PSO-BP 模型各參數設置參考以上結果進行設置,隨機篩選367例病案作為訓練樣本數據導入GA-PSO-BP 神經網絡證型預測模型中進行模型訓練,將88 例病案作為測試樣本輸入訓練好的模型中,以測試樣本的結果作為模型性能的說明。基于Matlab 2015a進行三次訓練,準確率分別為89.78%、90.12%和86.36。現以第一次訓練結果進行說明,如圖4所示,隨著迭代數次的增加,粒子的適應度值也不斷地變小,當迭代次數為200時,粒子的最小適應度值8.7。選取8.7 作為最優粒子適應度值計算BP 神經網絡中的閾值和權值,并得出BP 神經網絡證型預測結果,如圖5所示,其中菱形的虛線代表預測輸出,星號的實線代表實際值,從圖5 可以看出,GA-PSO 算法優化的BP 神經網絡的輸出結果與實際值相等的個數共有79 個,即模型的準確率為89.78%,該結果表明GA-PSO-BP 神經網絡模型應用于銀屑病中醫證型模型的建立是可行的,GA 算法與PSO 算法的結合在一定程度上對BP 神經網絡構建的模型性能起到改善作用。

圖4 GA-PSO算法適應度曲線

圖5 GA-PSO-BP神經網絡實際值與預測值
GA 算法與PSO 算法結合優化BP 神經網絡構建銀屑病證型預測模型平均準確率為89.78%,說明PSO 算法能有效克服BP 神經網絡的缺陷,引入GA 算法能提高PSO-BP 模型的性能。GAPSO-BP 模型收斂較好,預測精度高,可為銀屑病中醫證型研究提供技術參考,為多種算法結合優化BP神經網絡建模擴展研究思路。