收稿日期:2008-01-14;修回日期:2008-03-24
基金項目:國家自然科學基金資助項目(60672018);廈門理工學院科研啟動基金資助項目(YKJ07012R)
作者簡介:吳蕓(1979-),女,博士,主要研究方向為軟計算、中醫信息處理(ywull@163.com);周昌樂(1962-),男,教授,博導,博士,主要研究方向為人工智能.*
(1.廈門理工學院 計算機科學與技術系,福建 廈門 361024; 2.廈門大學 信息科學與技術系,福建 廈門 361005)
摘 要:從分析中醫八綱辨證神經網絡的不足出發,在基于Meta種群理論免疫遺傳算法(MIGA)的基礎上設計了一種優化中醫八綱辨證神經網絡參數的免疫遺傳算法——MIGA-1優化算法。實驗結果表明,以MIGA-1算法作為參數優化機制的中醫八綱辨證神經網絡具有更好的自我適應能力,減少了人為設定參數的隨意性。
關鍵詞:免疫遺傳算法;中醫八綱辨證神經網絡;優化
中圖分類號:TP301.6
文獻標志碼:A
文章編號:1001-3695(2008)10-2949-02
MIGA-1 for optimized EPSNN’s parameters
WU Yun1,ZHOU Chang-le2
(1.Dept. of Computer Science Technology, Xiamen University ofTechnology, XiamenFujian 361024, China; 2. Dept. of Information Science Technology,Xiamen University,Xiamen Fujian 361005, China)
Abstract:Analyzing the shortcoming of the EPSNN, this paper designed a kind of immunity genetic algorithm——MIGA-1 to optimize the EPSNN’s parameters,which was based on the MIGA algorithm. And the experimental results show that the MIGA-1 can make the EPSNN have better adaptability and decrease the randomicity to the artificial selection of the parameters.
Key words:immunity genetic algorithm (IGA); TCM eight principal syndromes ANN (EPSNN); optimization
中醫八綱辨證神經網絡模型[1]主要根據對標準樣本病例的“記憶”和人為設定參數,對病例進行辨證分析計算,對標準樣本病例的模范性和人為設定參數的合理性要求高。而標準樣本病例是通過人工歸納總結獲得,所以中醫八綱辨證神經網絡模型根據臨床病例自動學習的能力較差,不利于中醫八綱辨證神經網絡模型的臨床實用性推廣。為此,需要引入對臨床病例的“學習”能力,使其能夠提高自適應能力,減少對標準樣本病例的模范性要求和依賴性,以及人為設定參數的隨意性。但是根據中醫辨證機制特點,采用傳統神經網絡的學習策略不能滿足對中醫八綱辨證神經網絡的優化要求。因此,采用具有全局搜索能力的遺傳算法作為中醫八綱辨證神經網絡模型的學習機制,實現達到對中醫八綱辨證神經網絡的優化目的。本文首先在MIGA優化算法[2]的基礎上設計了MIGA-1優化算法,對中醫八綱辨證神經網絡模型的相關參數進行優化。在基本保證中醫八綱辨證神經網絡模型辨證計算準確性的基礎上,提高中醫八綱辨證神經網絡模型的自適應能力,減少人為設定參數的隨意性。
1 中醫八綱辨證神經網絡
本文設計的中醫八綱辨證神經網絡采用三層前饋式神經網絡模型,如圖1所示。
中醫八綱辨證神經網絡采用三層前饋式神經網絡模型,其神經元數目以及神經元間的連接相對固定,輸入層的預處理神經元與辨證計算隱層的第一子層神經元的連接權值是由輸入樣本決定,而辨證計算隱層第二子層神經元與輸出層的后處理神經元的連接權值由期望結果向量決定。其中第一子層神經元的激活函數中包含兩個重要的參數:a)函數f(x)的方差σ。它控制函數方差可以得到不同的分類器,有利于根據實際待分類的問題適當調整神經網絡的分類性質,但人工選擇適合于中醫八綱辨證的分類器比較困難,并且隨機獲取的參數σ具有很大的盲目性,不一定是最適合中醫八綱辨證的數值。b)第一子層神經元的閾值θ。它能夠適當地調整激活函數,提高隱層神經元激活函數的計算準確度。因此,有必要根據輸入的樣本數據對參數σ和θ進行優化,尋找最合適的σ和θ。由于中醫八綱辨證神經網具有獨特的網絡結構,采用傳統學習機制進行學習,計算量大,而且受到訓練樣本的限制。筆者以具有全局擇優能力的MIGA算法理論為基礎設計了MIGA-1算法對網絡參數σ和θ進行優化。
2 優化中醫八綱辨證神經網絡參數的MIGA-1算法
MIGA-1算法是根據MIGA優化算法理論[2],對中醫八綱辨證神經網絡參數進行優化的免疫遺傳算法。因此MIGA-1算法繼承了MIGA優化算法的優點,能夠在全局范圍內有效地搜索中醫八綱辨證神經網絡的最優參數值。
21 編碼
采用雙染色體的二進制編碼。其中一條染色體包含參數σ的信息(σ染色體);另一條染色體包含參數θ的信息(θ染色體),如圖2所示。其中,每條染色體中包含以小數點分隔的兩部分。小數點左邊部分(m位數,m≥1)表示數值的整數部分,其范圍為[0,2m-1];小數點右邊部分(n位數,n≥1)表示數值的小數部分,其范圍為[0,2n-1]。其中,m,n∈Z+。
22 適應函數
由于本文設計的中醫八綱辨證神經網絡的連接權值是利用樣本集設置的,在對中醫八綱辨證神經網絡參數σ和θ的進化過程中,若利用標準樣本集來測試種群個體的適應度,參數σ和θ取任何值,網絡的性能是一樣的。采用網絡對測試集計算的結果尋找網絡最優的參數σ和θ,適應度計算函數為f=α×Ei(Vs)。其中:E(Vs)=1/MSE(x)+γ; α是隨機值;γ是選定的小于1大于0的參數;Vs是測試樣本集;MSE(x)=不符合期望的中醫證型數目。
23 交叉操作
在MIGA-1算法運行過程中,交叉概率pc隨著種群適應值的變化而自動調整。設MIGA種群中局部種群內第i個體的交叉概率為pic,則
pic=α×(fmax-f i)/(fmax-f)
f i≥f
pic f i<f
其中:α是小于1的常數,初始時由隨機機制產生;f i是參與變異個體i的適應值; fmax、 f分別是群體中最高適應值和局部種群個體平均適應值; fmax-f體現了局部種群的收斂程度,若fmax-f值小,說明局部種群已趨于收斂,應適當加大交叉概率pc,控制參與交叉操作的個體數量。
對雙染色體進行交叉操作,雙位點異步交叉操作,即在染色體小數點左右兩側各選交叉點進行交叉操作。σ染色體和θ染色體交叉點的位置可以不一致,如圖3所示。
σ染色體虛線框中的基因進行交換和θ染色體虛線框中的基因進行交換,它們各自選擇的交叉點允許不同。小數點左邊染色體的交叉點定位為[0,m],右邊染色體的交叉點定位為[0,n],0位置規定為小數點的左右兩邊。當染色體左右兩邊交叉操作同時定位為0或左邊染色體交叉操作定位為m,右邊染色體交叉操作定位為n時,認為定位失敗,重新定位。
24 變異操作
在MIGA-1算法運行過程中,變異概率pm隨著種群適應值的變化而自動調整。設MIGA-1種群中局部種群內第i個體的變異概率為pim,則
pim=β×(fmax-f i)/(fmax-f)
f i≥f
pimf i<f
其中:β是小于1大于0的常數,初始時由隨機機制產生; f im是參與變異個體i的適應值; fmax、 f分別是群體中最高適應值和局部種群個體平均適應值; fmax-f體現了局部種群的收斂程度,若fmax-f值小,說明局部種群已趨于收斂。適當調整變異概率pm可以控制參與變異操作的個體數量。
變異操作采用不定點變異對個體進行變異操作,即選定進行變異操作的個體根據該個體的適應值進行變異點的選擇。若個體適應值大,變異點數目減少;若個體適應值小,其變異點數目增多。變異點數m=1/f i=MSE(Vs),即與期望結果不符合的八綱證型個數作為該個體變異點的個數。
25 進化終止條件
進化終止條件是MIGA-1算法停止進化的判斷條件。從兩個方面終止進化:a)已經達到指定進化代數;b)某個局部種群中的個體適應值已達到要求,即找到最優解。在優化中醫八綱辨證神經網絡參數時,局部種群的當代最優解視為含有記憶B細胞的個體。Meta-種群規模為6~10個,每個局部種群規模隨機確定,設定小于200。每個局部種群的規模大小可以不相同。
3 實驗結果及其分析
筆者選擇了11個標準樣本病例作為八綱辨證神經網絡的學習樣本,八綱辨證神經網絡的輸入預處理層有8個輸入預處理神經元;辨證計算隱層的第一子層有11個計算神經元,第二子層是6個計算神經元;輸出后處理元1個,網絡最后的輸出神經元有8個,分別表示表證、里證、虛證、實證、寒證、熱證、陰虛證、陽虛證;八綱辨證神經網絡的結構連接采用全連接方式,并根據樣本病例設置連接權值,如表1和 2所示。在早期的研究中,中醫八綱辨證神經網絡對網絡參數θ和σ的選定,是根據網絡辨證計算結果進行人工調整,從中選擇能夠使網絡辨證計算結果相對最優的參數θ和σ值。為了避免上述人為操作,采用MIGA-1優化算法查找中醫八綱辨證神經網絡的最優參數θ和σ。其中經多次100次進化迭代訓練后,中醫八綱辨證神經網絡對測試樣本辨證計算誤差值最小的網絡參數值為σ=0.75,θ=[[1968] [1971] [397] [61] [478] [319] [432] [1807] [6]]。根據參數θ和σ尋優后的數值,中醫八綱辨證神經網絡對43例病例進行辨證計算。實驗表明MIGA-1算法在一定程度上提高了八綱辨證神經網絡的辨證計算的準確性、計算性能和臨床適應能力,具體結果見表3。
表1 八綱辨證神經網絡辨證計算隱層第一子層的連接權值出入發熱
惡寒體色
小便色年齡
病程舌色苔色舌形聲息脈力度1100000002-100000003001000-1-1400100-10-1500000-1-1-160010000-1700-110111800-110011900000011100-10-1-10001101011000
注:入為輸入預處理層神經元;出為辨證計算隱層第一子層神經元表2 八綱辨證神經網絡辨證計算隱層第二子層的連接權值出入1234567891011110000000000201000000000300111100000400000011100500000000010600000000001
注:入為辨證計算隱層第一子層神經元;出為辨證計算隱層第二子層神經元。
表3 43例八綱病例八綱證型對比表編號中醫師
診斷結果NN診斷
結果參數尋
優后編號中醫師
診斷結果NN診斷
結果參數
尋優后1表表表23陰虛陰虛虛2表熱表熱表熱虛24虛虛虛熱3里里里25里實里實熱里實熱4表熱表表26里虛里虛里虛5虛虛虛27里熱熱里里熱6表寒寒表寒28表虛表虛表虛7虛虛虛29陽虛陽虛陽虛8寒寒寒30寒寒實寒實9虛虛虛31陽虛陽虛陽虛10寒寒實寒實32寒寒寒11虛虛虛33里實熱里實熱里實熱12陽虛陽虛里虛34虛熱虛熱虛熱13實實實35陰虛陰虛陰虛14熱虛熱虛虛熱36虛虛虛熱15實實實37里實熱里實熱里實熱16表表表38虛熱熱虛熱虛17實實實熱39里實里實實里虛18實實實40陰虛陰虛陰虛19寒寒寒41里熱熱里里熱20實實實熱42陰虛陰虛陰虛21熱熱熱實43表實熱表實表實22虛虛實寒4 結束語
實驗結果表明基于MIGA算法理論設計的MIGA-1算法對中醫八綱辨證神經網絡的參數具有一定的優化能力。因此,MIGA-1作為中醫八綱辨證神經網絡學習優化參數的算法,雖然增加了學習的時間,但MIGA-1算法在一定在程度上提高了中醫八綱辨證神經網絡的自動學習能力和臨床適應能力,減少了人為設定參數的隨意性。為了更有利于實現中醫八綱辨證神經網絡技術的臨床化,減少對標準樣本病例的依賴性,下一步筆者將利用MIGA算法對中醫八綱辨證神經網絡的結構進行優化,進一步提高中醫八綱辨證神經網絡的自動學習能力和臨床適應能力。
參考文獻:
[1]吳蕓, 周昌樂. 中醫八綱辨證神經網絡構造技術研究[J]. 計算機工程與應用,2008,44(18):243-245.
[2]吳蕓, 周昌樂. 基于Meta種群理論的免疫遺傳算法[J]. 計算機應用研究,2008,25(5):1312-1314.
[3]郭曉婷, 朱巖. 基于遺傳算法的進化神經網絡[J]. 清華大學學報:自然科學版,2000,40(10):116-119.
[4]JUANG Chia-feng.On the hybrid of genetic algorithm and particle swarm optimization for evolving recurrent neural network[C]//Proc of International Joint Conference on Neural Network. 2004: 2285-2288.
[5]TAN Z H. Hybrid evolutionary approach for designing neural networks for classification[J]. Electronics Letters, 2004,40(15):955-957.
[6]WANG Wei-yen. Evolutionary learning of BMF fuzzy-neural network using a reduced-form genetic algorithm[J]. IEEE Trans on Systems, Man and Cybernetics: part B, 2003,33(6):966-976.