摘要:提出了基于可信度因子和可信度區間的不確定性推理模型,并用改進的BP神經網絡實現其推理過程,最后利用MATLAB神經網絡工具箱給出仿真示例。改進的BP神經網絡在實現不確定性推理方面有效避免了沿用傳統方法所帶來的規則數激增及推理緩慢等缺陷,并提高了網絡的泛化能力。仿真示例表明,它不僅可以自動學習和模擬專家的典型經驗,而且還可以將專家的典型經驗推廣應用到一般情形。
關鍵詞:神經網絡; 專家系統; 不確定性推理 機器學習
中圖法分類號:TP311文獻標識碼:A
文章編號:1001-3695(2007)01-0241-03
現實世界中客觀事物或現象的不確定性導致了在各認識領域中的信息和知識大多是不確定的。自從1967年第一個專家系統MYCIN出現以來,對于各種不確定性的研究就已引起了人們的重視。如何表示和處理不確定性知識成為人工智能研究的重要課題之一。相關的理論和應用層出不窮。二十世紀六七十年代出現了主觀Bayes方法、確定性理論、可能性理論和證據理論等;八十年代以后,又提出了灰色系統理論、粗糙集理論、可拓理論、集對分析等。這些理論從不同角度對不同類型的不確定性進行了研究,并應用于各種場合。
1基于可信度因子和可信度區間的知識表示
可信度是指人們對某一事物(或事情)的某方面性質在主觀上確信的程度。傳統的基于規則的知識表達方法如規則1所示。
這種表示方法雖然簡單明了,但在不確定性領域卻顯得捉襟見肘。為了使基于規則表示的知識更為實用,可以為規則中的帶有不確定性的概念引入標志其可信程度的可信度因子或可信度區間。
基于可信度因子的不確定性知識的表達方式可采用規則2所示。
更一般地,采用可信度區間表示推理中“七八成”、“十有八九”等不確定性概念。可信度區間由兩個可信度因子表示,這兩個可信度因子的取值分別是可信程度的下限和上限?;诳尚哦葏^間的不確定性知識的表達方式可采用如下規則:
由于對不確定性概念引入了可信度,使得原本模糊的概念定量化、清晰化,因而基于可信度的規則表示法更能反映中醫思維方式,也更具有實用性。但是這種表示方法也有顯著的缺陷:①對于可信度因子和可信度區間的取值不可能窮盡;②知識庫中的規則數隨著可信度因子和可信度區間的取值不同而成倍地增長,導致知識難以管理以及推理效率低下。然而,如果利用神經網絡來實現基于可信度因子或可信度區間的不確定性推理,則可借助于神經網絡良好的泛化能力和并行計算特性,有效地避免這些缺陷。
2BP神經網絡及其改進
BP神經網絡是一種多層前饋神經網絡,名字源于網絡連接權值和閾值的調整規則采用的是誤差反向傳播(Back Propagation)學習算法,即BP學習算法。該算法是Rumelhart等人[1]在1986年提出的。由于BP神經網絡結構簡單、可塑性強,以及BP學習算法數學意義明確、步驟分明,BP神經網絡在函數逼近、模式識別、信息分類、數據壓縮等領域得到了廣泛的應用。
BP算法是一種有監督學習算法,即對于一組確定的訓練樣本,給定了網絡的期望輸出值(目標輸出值)。當樣本中的輸入作為網絡的輸入后,網絡將產生實際輸出。如果實際輸出與樣本的期望輸出有誤差,則根據BP算法,調整網絡的連接權值和閾值,連接權值和閾值的不斷調整過程就是使得網絡的實際輸出值逐步逼近期望輸出值的過程。經過學習后的神經網絡將知識分布于各連接權值和閾值上。神經網絡將利用知識的過程轉換為各神經元的并行計算過程。對于新的輸入,神經網絡將利用并行計算的特性迅速地在輸出層得出響應。
在BP網絡的訓練過程中經常會出現網絡泛化能力差的情況,即網絡對于訓練樣本中的輸入可以產生與期望輸出誤差很小的實際輸出,但對于訓練樣本之外的新的輸入卻可能產生與相應的目標輸出有較大誤差的實際輸出。
改進BP神經網絡泛化能力的一種方法是規則化調整方法[2]。普通的BP神經網絡都采用網絡誤差的均方根之和作為性能函數,如下所示:
其中,ei,ti,yi分別表示第i個訓練樣本的訓練誤差、目標輸出和網絡實際輸出。而規則化調整方法采用的網絡性能函數如下式所示:
其中,γ是性能參數,msw是網絡中權值和閾值的均方和,其取值為msw=1n∑nj=1(wj)2,其中n是網絡中權值和閾值的個數。
采用規則化調整方法的性能函數訓練神經網絡可以減少網絡的有效權值和閾值,并且使網絡的訓練輸出更加平滑,從而增強網絡的泛化能力。但是性能參數γ的選擇是一個不好解決的問題,如果太大,網絡的泛化能力不好;如果太小,網絡的訓練精度又太低。在MATLAB神經網絡工具箱中,提供了自動設置最優性能參數的函數trainbr。該函數使用了Bayesian框架結構,假設網絡的權值和閾值是特殊分布的隨機變量,可用統計學的方法估計出γ的值。
3用神經網絡實現不確定性推理
用神經網絡實現基于可信度因子的不確定性推理的具體算法步驟如下:
(1)獲取知識并形式化編碼。
從專家經驗中總結出知識,并用規則表示。將規則中的前提和結論形式化編碼,用變量表征每一個前提或結論。例如:用變量Xi(i=1,2,…,n)表征各種前提,用變量Yj(j=1,2,…,m)表征各種結論,從而獲得由形如規則1的規則組成的知識庫。
(2)獲取典型的可信度組合。
依據專家經驗對變量取值。各變量的取值即專家認為的典型的前提與結論的可信度因子或可信度區間的組合,即
從而產生形如規則2的規則;
②對于可信度區間的組合,取
從而產生形如規則3的規則;
(3)獲取訓練樣本和測試樣本。
(4)設計神經網絡。
(5)訓練神經網絡。
以訓練樣本訓練神經網絡,訓練過程中采用規則化調整方法。
(6)測試神經網絡。
以測試樣本測試神經網絡。
在步驟(5)中,具體設計神經網絡時,可采用基于可信度因子的方法,也可采用基于可信度區間的方法。根據結論間的關聯程度,這兩種方法又可采用以下兩種方式來設計:①每一種結論的推斷用一個神經網絡來實現。
②具有相同或相似前提的多個結論的推斷用一個神經網絡來實現。
對于方式①,神經網絡與結論是一對一的關系,它有基于可信度因子與基于可信度區間兩種推理模型,如圖1、圖2所示。圖1是基于可信度因子的推理模型,此時每一前提的可信度因子作為輸入層的一個神經元的輸入,輸出層的神經元的輸出作為結論的可信度因子;圖2是基于可信度區間的推理模型,此時每一前提的可信度區間的下限和上限分別作為輸入層的兩個神經元的輸入,輸出層的兩個神經元的輸出分別作為結論的可信度區間的下限和上限。
對于方式②,神經網絡與結論是一對多的關系,它也有基于可信度因子和基于可信度區間兩種推理模型,如圖3、圖4所示。圖3是基于可信度因子的推理模型,此時每一前提的可信度因子作為輸入層的一個神經元的輸入,輸出層的每一個神經元的輸出作為一種結論的可信度因子;圖4是基于可信度區間的推理模型,此時每一前提的可信度區間的下限和上限分別作為輸入層的兩個神經元的輸入,輸出層中每兩個神經元的輸出分別作為一種結論的可信度區間的下限和上限。
4仿真示例
利用MATLAB 7.0提供的神經網絡工具箱,可以方便地進行仿真實驗。實際上,方式②是方式①的推廣,基于可信區間的模型是基于可信度因子的模型的推廣。限于篇幅,僅給出方式①的基于可信度區間的方法。
具體步驟如下:
(1)獲取知識并形式化編碼。以規則1作為示例規則。
(2)獲取典型的可信度組合。
假設根據專家經驗獲得的前提與結論的可信度區間組合如表1所示。從表1中可以很容易人為地總結出前提與結論的可信度組合的規律。以下仿真實驗將表明:利用表1中的數據訓練神經網絡,神經網絡可以“學習”到前提與結論的可信度組合的規律,并能夠將此規律推廣應用。
表 1前提與結論的可信度組合
BP神經網絡的設計要求確定網絡的層數和各層中神經元的個數,以及各層神經元的傳遞函數等參數。Hornik等人[3]已證明,三層BP網絡模型結構可以很好地解決一般的函數逼近和模式識別問題。因此,這里采用三層BP網絡結構。
根據圖2 所示的基于可信度區間的推理模型(一),可確定網絡的輸入層神經元個數為4;網絡的輸出層神經元的個數為2。隱含層神經元個數定為20。隱含層神經元的傳遞函數采用S型正切函數tansig;輸出層神經元的傳遞函數采用S型對數函數logsig。最終確定的神經網絡結構如圖5所示。
圖5最終確定的神經網絡結構
(5)訓練神經網絡。
(6)測試神經網絡。
首先以訓練樣本的輸入向量P作為網絡輸入進行測試。網絡的實際輸出向量為
可以看出,網絡的實際輸出與目標輸出test_target非常接近,說明神經網絡已具有一定的泛化能力,它所產生的輸出符合它在訓練階段所獲得的樣本中輸入與輸出的規律。
5結束語
本文提出的基于可信度因子和可信度區間的不確定性推理反映了一種不確定性思維方式。由于繼續沿用一般的規則表示法來實現這種推理具有規則數激增、推理緩慢等缺陷,以及傳統的BP神經網絡具有泛化能力不強的缺點,所以采用改進的BP神經網絡來實現這種推理。MATLAB仿真示例表明,采用改進的BP神經網絡能夠實現基于可信度因子和可信度區間的不確定性推理,并且可以有效避免上述缺陷;神經網絡可以“學會”專家的典型經驗,并將專家的典型經驗進行推廣應用,而這種推廣應用是與專家思維規律相一致的;專家不再需要窮舉各種前提與結論的可信度組合,只需給出若干典型組合樣本即可,從而更具可操作性和實用性。此外,基于可信度因子與基于可信度區間的兩種方法還可以相互結合,如前提的不確定性用可信度因子度量,結論的不確定性用可信度區間度量;或反之。用神經網絡來實現不確定性推理的關鍵是需要能夠正確反映前提與結論的可信度組合規律的典型樣本。只要有了足夠多的典型樣本,神經網絡就可以自動學習其中的規律,并利用其良好的泛化特性,將這些規律推廣應用到更一般的推斷情形中。
參考文獻:
[1]D E Rumelhart,G E Hinton,R J Williams.Learning Representations by BackPropagating Errors[J].Nature,1986,323:53336.
[2]聞新,周露,李翔,等.MATLAB神經網絡仿真[M].北京:科學技術出版社,2003.278279.
[3]K Hornik,M Stinchcombe,H White.Multilayer Feedforward Networks Are Universal Approximators[J].Neural Networks,1989,2(5):359366.
作者簡介:
施明輝(1973),男,江西臨川人,博士研究生,主要研究方向為神經網絡、模糊理論、專家系統、中醫智能處理;
周昌樂(1959),男,江蘇太倉人,教授,博導,博士,主要研究方向為計算語言學、理論腦科學和認知邏輯學;
吳清鋒(1977),男,福建廈門人,博士研究生,主要研究方向為圖像處理、中醫智能處理;
吳蕓(1978),女, 江西贛州人,博士研究生,主要研究方向為圖像處理、中醫智能處理;
張志楓(1959),男, 江蘇太倉人,副教授,主要研究方向為中醫四診客觀化研究。
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文