李楠楠
(天津工業大學 天津 300387)
神經網絡是近年來發展非常迅速的一門交叉學科,它是將生物神經網絡在結構和功能等方面進行理論抽象、簡化、模擬而組成的一種信息處理系統。所涉及到的學科包含神經科學、信息科學以及計算機科學等。隨著我國科學技術水平的不斷發展,各個前沿科學技術都不斷地滲入到醫學領域之中,使得醫學領域得到了快速的發展。而神經網絡算法因其自身的優越性在醫學中的各個領域都得到了廣泛的應用,其中在醫學診斷領域的應用最為廣泛,包含了信號信息處理、數據信息提取、模式識別等方面,并取得了一定的成果,受到了我國廣大研究者的重視,在未來神經網絡算法將會在醫學診斷領域得到更廣泛的應用[1]。但是不可否認的是神經網絡算法自身依然存在著許多問題,這些問題也阻礙著該項技術未來的發展,因此神經網絡算法在未來還有著很長一段路要走。
由于神經網絡算法的應用不同,在實際使用過程中也有很多標準。根據算法性能可以分為連續型與離散型;根據算法學習方式可以分為有導師學習與無導師學習;根據算法突觸性可以分為一階線性關聯與高階非線性關聯。目前最為常見的分類是根據神經網絡的信息路徑與網絡結構將其分為三大類:前饋型,BP神經網絡是該類型的代表;反饋型,Hopfield神經網絡是該類型的代表;自組織特征映射,Kohonen神經網絡是該類型的代表。其中又以前饋型神經網絡算法的應用范圍最廣、理論最為成熟。
盡管神經網絡算法只是對人腦的低級模仿,但與其他計算機技術不同的是,該算法與人類智能類似。雖然單個神經元的功能不強,但是當神經元的數量足夠龐大時,其信息處理能力非常強大。因此神經網絡算法具有以下特點:一是具有較強的并行處理能力。因為神經網絡算法是由大量單個處理單元構成的,各單元之間的連接錯綜復雜,是一個非線性型的系統,功能豐富且處理速度較快;二是能對信息進行分布式儲存。神經網絡算法與人腦網絡相似并具有一定的信息儲存能力,雖然單個神經單元的儲存能力較弱,但多個神經元組成網絡后其儲存的信息量較大;三是容錯率高。因為神經網絡算法采用分布式儲存方式,當網絡中局部神經元出現損壞后,并不會對整體的神經網絡造成影響,同時對神經網絡處理信息的正確性也不會產生影響[2]。
近年來,隨著神經網絡相關理論研究不斷的深入以及計算機技術的發展,神經網絡算法至今已經取得了矚目的成就,在生物藥學領域的應用也更加廣泛。在該領域的應用主要是利用神經網絡模型進行識別與判別。如對基因組序進行識別、對人類DNA序列進行分析,對藥物成分進行分析,對制劑成分進行研究、醫學圖像分析以及醫學信號處理等方面。神經網絡算法在這些方面的應用,為生物醫藥學領域的不斷的突破提供了技術支持[3]。
將神經網絡算法應用到醫學統計領域之中,會發現它的預測性遠遠優于傳統的統計學方法。如利用該算法對肝移植手術后的急性排異反應進行預測,其預測準確率明顯高于傳統預測方法;如利用神經網絡算法對急性心梗的發病率進行預測,其預測結果也較為準確;如將神經網絡算法應用到前列腺癌、食道癌等領域的癌癥發病率預測上,也取得了令人滿意的成果。同時,神經網絡算法對數據的擬合情況,也優于傳統的回歸模型算法,能取得更加精確地數據。但是神經網絡算法在短期預測上卻存在著明顯的短板,其預測結果明顯不如傳統的預測手段準確。因此,神經網絡算法并不是在任何領域都適用,還是需要根據實際的情況選擇適合的統計方法才能取得更好地預測結果。
醫學診斷是醫生根據病人的病情、病癥以及實際的檢查結果,對病人的身體狀況進行綜合分析,從而得出科學的診斷結果。在醫院中,醫生每天都要進行大量的病情診斷工作,而診斷也是預防疾病的重要依據,能快速地為病人提供一個可靠且一致的診斷結果是非常重要的。病情診斷往往需要嚴密的推理,是醫生憑借自己多年來所學的病理知識以及實際的經驗所得到的診斷結果,這種診斷結果容易受到醫生本人主觀因素的影響,在實際診斷過程中往往會因為各種原因造成對病情錯誤的診斷。特別是在醫生本身不熟悉的領域,醫生專家往往只能依靠經驗來解決問題,有時醫學專家也不能精確地給出診斷結果。因此,許多專家學者一致認為在醫學診斷領域是很難實現自動化,這就意味著在該領域很難建立一個準確的計算模型。
醫學專家在對病人的病情進行診斷時,其自身往往不能準確說出為什么他要這樣做,而是根據他們多年來的從業經驗給出的診斷結果。醫學專家所面對的患者往往非常復雜,同時并不能對他們進行完全了解。如一個人實際的身體狀況醫學專家是很難進行詳細描述的,對于寫程序的技術人員來說是一個非常復雜且困難的工作,但是對于診斷本身是依據已有的病例進行科學的分析,本文認為醫學診斷在實際應用中是可以將其自動化的。
本質上講,醫學診斷是一個分類問題,根據患者的病情以及醫院的檢查結果,我們可以用一個向量來對其進行表示,并將其劃分為病人或者非病人。進而轉化為尋找一個差別函數得出:

公式(1)中的T表示患者。從公式(1)中可以看出,神經網絡算法完全可以在醫學診斷領域中進行應用。實際應用過程中主要分為兩個過程:一是學習過程,這一過程將對所有病人的信息進行收集,包含病人的多種臨床癥狀以及醫院的檢查結果,通過對這些病人的病癥數據進行分析,可以得到病人臨床癥狀與疾病之間存在的內在聯系,也就是函數。二是分類過程。這一過程根據病人的情況、病狀以及醫院檢查結果等,對病人是否生病進行判別,進而對病人的病情進行詳細分類。
在使用該診斷系統進行學習和診斷時,首先,應確定該系統實際需要訓練的樣本集,在挑選樣本時應盡可能選擇具有代表性的病例并保證這些病例的樣本數量,同時為了兼顧各種病情還需要對一些特殊病例進行收集。其次,需要對診斷系統的診斷正確率進行測試,采用的方法是可以從醫院的病歷庫中隨機選取一部分病例作為系統測試的樣本。最后,完成對樣本集病例的學習,并對測試樣本做出診斷結果,將診斷系統所給出的診斷結果與病歷中的臨床診斷結果進行對比,得出診斷系統的正確率。通常情況下,診斷系統對訓練樣本的正確檢出率可達到100%,對于測試樣本的正確獎勵可達到95%,對于非病人的正確檢測率在85%以上,而誤診僅為10%。因此,為神經網絡醫學診斷系統提供更多的學習樣本,那么神經網絡算法所取得的函數就越具普遍性,其準確率就越高。在實際病情診斷過程中,對于病歷數據不完整的患者,傳統的診斷手段是比較難以進行處理的,而使用神經網絡算法的診斷系統具有較強的容錯率,且對最終的診斷結果影響不大。
基于神經網絡算法在醫學領域的應用一直都是一個熱點話題,而我國在該領域的研究還遠遠不如國外成熟,在醫學領域的應用更是局限于實驗室之中,即使已經實際應用到醫學領域之中,其本身也存在著精度不高、訓練時間較長的缺點。此外,神經網絡模型非常復雜,不同人在使用該算法時會采用不同的網絡結構,從而導致研究結果之間存在著一定矛盾性。由此可見,神經網絡算法在醫學中的應用還有著很長的一段路要走,還需要不斷的探索和研究,同時也正是因為醫學領域自身的復雜性為神經網絡算法的進一步研究提供了廣闊的空間。本文通過對前人研究經驗的總結,對神經網絡算法在醫學中的應用進行分析,希望能使該算法成為醫學領域的一種有效地工具。