(1)數據選擇
應盡可能選擇研究區域內系統的、連續的因子和疾病數據,最好包括高發年和低發年的數據。在收集影響因素時,要抓住傷寒、副傷寒的主要影響因素。
(2)疾病發病率的分類
神經網絡預測方法是基於發生率的。在界定發生率時,要根據專業知識,因地制宜,根據在線學習培訓的效果進行調整,以達到最佳效果。
(3)數據處理問題
實踐中發現,數據的特性往往在很大程度上影響在線學習和訓練的穩定性。因此,數據的應用、包含和排除需要進壹步研究。
6.3.1人工神經網絡的基本原理
人工神經網絡(ANN)是近年來發展起來的壹門非常熱門的交叉學科,涉及生物學、電子學、計算機、數學和物理學,應用範圍非常廣泛。人工神經網絡是壹個自適應的高度非線性動態系統。基於網絡計算,經過反復組合,可以完成多維空間的測繪任務。神經網絡通過內部連接的自組織結構對數據具有很高的適應能力。計算機可以直接從實例中學習知識,探索解決問題的方法,自動建立復雜系統的控制規律及其認知模型。
就其結構而言,人工神經網絡壹般包括輸入層、隱含層和輸出層。不同的神經網絡可以有不同的隱層,但都只有壹層輸入,壹層輸出。每層神經網絡由不同數量的神經元組成,每層神經元的數量隨著問題的解決而變化。
BP神經網絡模型
BP網絡是在PDP組在1985中提出的反向傳播算法的基礎上發展起來的。它是壹個多級反饋網絡(圖6.17)。它采用輸入輸出多級映射,網絡分層排列。只有相鄰層中的節點直接相互連接以在它們之間傳輸信息。在前向傳播中,輸入信息從輸入層開始逐層處理,傳遞到輸出層,每層神經元的狀態只影響下壹層神經元的狀態。如果輸出層得不到期望的輸出結果,則轉向反向傳播,沿原連接路徑返回誤差信號,並通過修改各層神經元的權值使誤差信號最小化。
BP網絡的學習算法步驟如下(圖6.18):
圖6.17 BP神經網絡示意圖
圖6.18 BP算法流程圖
第壹步:設置初始參數ω和θ (ω為初始權重,θ為臨界值,隨機設置為較小的數字)。
第二步:將已知樣本加入網絡,用下面的公式計算它們的輸出值yi,即
巖溶地區地下水與環境的特殊性研究
其中:xi為本節點的輸入;ωij是從I到J的連接權;θj是臨界值;Yj是實際計算的輸出數據。
第三步:用權重系數ω調整已知輸出數據和上面計算的輸出數據之差(dj-yj),調整量為
δWij =ξδjxj
其中:η為比例系數;Xj是隱節點處的網絡輸入,輸出點處下層(隱節點)的輸出(j = 1,2 …,n);Dj是已知的輸出數據(學習樣本訓練數據);δj是與輸出偏差相關的值,對於輸出節點,有
δj=ηj(1-yj)(dj-yj)
對於隱藏節點,由於其輸出無法比較,所以逐層反向計算。
巖溶地區地下水與環境的特殊性研究
其中k指的是通過上層(輸出層)節點。從輸出層逐層計算誤差δj。每個神經元的權重調整如下
ωij(t)=ωij(t-1)+Vωij
其中:t是學習的次數。
這個算法是壹個叠代過程,每輪調整壹次每個W值,這樣叠代下去,直到輸出誤差小於某個允許值,這樣就訓練成功了壹個好的網絡。BP算法本質上是將壹組樣本的輸入輸出問題轉化為壹個非線性優化問題,采用的是最常用的優化技術——梯度下降算法。通過叠代運算求解權值等價於學習和記憶問題。
6 . 3 . 3 BP神經網絡模型在傷寒、副傷寒流行和蔓延預測中的應用。
傷寒和副傷寒的傳播和流行與環境有關。根據1990以來桂林市鄉鎮傷寒、副傷寒疫情資料,結合現有資源和環境背景資料(桂林市行政區劃、土壤、氣候等。)和社會經濟數據(經濟、人口、生活習慣等統計數據),建立人工神經網絡數學模型來逼近這壹規律。
6.3.3.1建模
(1)神經網絡的BP算法
BP網絡是壹個前饋網絡,由1個輸入層、若幹個隱含層和1個輸出層組成。如果輸入層、隱層、輸出層的單元數分別為N,q1,q2,M,則三層網絡可表示為BP(n,q1,q2,M),N維輸入向量Xn=(X1,X2,..,Xn)T到M維輸出可以用這個網絡實現。輸入層和輸出層的單元數n和m根據具體問題確定。
(2)樣本的選擇
模型的輸入變量設計為八個輸入因子(表6.29):平均氣溫、平均降雨量、巖石性質、巖溶發育、地下水類型、飲用水類型、常規自來水供水比例、集中供水比例。輸出單位為傷寒、副傷寒的發病等級,壹個輸出單位為* * *。其中根據訓練結果選擇q1和q2的值。
表6.29桂林市傷寒副傷寒影響因素量化表
通過分析,選取1994 ~ 2001傷寒副傷寒代表性縣鎮的環境評價因子作為訓練樣本。采用聚類分析(ⅰ、ⅱ、ⅲ、ⅳ)對疫情進行分類。傷寒、副傷寒發病率最高為ⅳ(BP網絡中輸出設為4),其次為ⅲ(BP網絡中輸出設為3),以此類推,最低為ⅰ(BP網絡中輸出設為1)。
(3)數據的標準化
為了使網絡在訓練過程中易於收斂,我們對輸入數據進行了歸壹化處理,將輸入的原始數據轉換成0到1之間的數字。如平均降雨量的數據乘以0.0001;將平均溫度的數據乘以0.01;其他輸入數據以類似的方式歸壹化。
(4)模型的算法流程
假設* * *有p個訓練樣本,第p個訓練樣本的輸入信息(p = 1,2,...p)首先向前傳播到隱藏單元。
隱藏層1的輸出信息通過激活函數f(u)獲得:
巖溶地區地下水與環境的特殊性研究
在激活函數f(u)之後,獲得隱藏層2的輸出信息:
巖溶地區地下水與環境的特殊性研究
激活函數f(u)這裏我們使用Sigmoid型,即
f(u)= 1/[1+exp(-u)](6.5)
隱藏層的輸出信息被傳送到輸出層,最終的輸出結果可以如下獲得
巖溶地區地下水與環境的特殊性研究
以上過程就是在線學習的信息正向傳播過程。
另壹個過程是誤差反向傳播過程。如果網絡輸出和預期輸出之間存在誤差,該誤差將被傳播回來,並且網絡權重和閾值將通過以下公式進行調整:
巖溶地區地下水與環境的特殊性研究
其中:δω(t)是t訓練時權值和閾值的修正;η稱為學習率,0 <η< 1;e是誤差的平方和。
巖溶地區地下水與環境的特殊性研究
重復上述兩個過程,直到網絡輸出與期望輸出之間的誤差滿足壹定的要求。
這種模型算法的缺點:
1)需要較長的訓練時間。由於壹些復雜的問題,BP算法可能需要訓練幾個小時甚至更長時間,這主要是由於學習率低造成的,可以通過改變學習率或自適應學習率來改善。
2)完全沒有訓練。主要表現在網絡的癱瘓現象。在網絡的訓練過程中,當權值調整過大時,所有或大部分神經元的加權和n可能過大,使激活函數的輸入工作在S型傳遞函數的飽和區,導致導數f′(n)非常小,從而使網絡權值的調整過程幾乎停止。
3)局部最小值。BP算法可以使網絡權值收斂到壹個解,但不能保證誤差超平面的全局最小解,很可能是局部最小解。這是因為BP算法采用梯度下降法,訓練從某壹點開始沿著誤差函數的斜率逐漸達到誤差的最小值。
考慮到上述算法的不足,該模型在兩個方面進行了改進:
(1)附加動量法
為了避免陷入局部極小值,對模型進行了改進,並采用了附加動量法。附加動量法修改網絡及其權值時,不僅考慮了誤差對梯度的影響,還考慮了變化趨勢對誤差面的影響。它就像壹個低通濾波器,允許網絡忽略網絡上的微小變化特性。沒有附加動量的作用,網絡可能陷入淺的局部極小值,而在附加動量的作用下,可能滑過這些極小值。
該方法以反向傳播法為基礎,在每次權重變化中加入壹個與前次權重變化成正比的值,根據反向傳播法生成心臟的權重變化。促使權值的調整向誤差曲面底部的平均方向變化,從而防止出現δ ω (t) = 0,有助於跳出誤差曲面的局部極小值。
該方法主要對公式(6.7)進行了如下改進
巖溶地區地下水與環境的特殊性研究
式中:A為訓練次數;a是動量因子,壹般在0.95左右。
在訓練中,采用動量法的判斷條件如下
巖溶地區地下水與環境的特殊性研究
(2)適應性學習率
針對具體問題選擇合適的學習速率並不容易。通常是通過經驗或實驗獲得,但即便如此,在訓練之初有效的學習率也不壹定適合後期的訓練。因此,為了盡可能縮短網絡所需的訓練時間,采用學習率隨訓練而變化的方法,尋找相對於每個時刻的差學習率。
下面的公式給出了自適應學習率的調整公式:
巖溶地區地下水與環境的特殊性研究
通過以上兩個方面的改進,訓練出壹個理想的網絡,將動量法和自適應學習率相結合,效果比單獨使用要好得多。
6.3.3.2模型的求解和預測
采用兩個隱層的神經網絡BP(4,q1,q2,1)。隱層單元數q1,q2與所研究的具體問題有關。目前沒有統壹的確定方法,通常根據網絡訓練情況采用試湊法確定。為了提高網絡的泛化和推理能力,壹般在壹定的精度要求下,識別小值。在訓練中,網絡的收斂由輸出值Ykp和測量值tp之間的誤差平方和控制:
巖溶地區地下水與環境的特殊性研究
1)結合附加動量法和自適應學習率分析桂林市36個鄉鎮地質條件對傷寒副傷寒發病等級的影響。所以訓練樣本有36個,第壹隱層有19個神經元,第二隱層有11個神經元,學習率為0.001。
A.程序(略)。
B.網絡培訓。在命令窗口執行run命令,網絡開始學習訓練。學習和訓練過程如下(圖6.19)。
圖6.19神經網絡訓練流程圖
C.模型預測。
A.輸入未參加培訓的鄉鎮(洞井鄉、涼水鄉、巖洞鄉、四塘鄉、嚴觀鎮、田玲鄉)的地質情況數據。
B.預測。程序運行後,網絡輸出預測值a3,並與已知的實際值進行比較。預測結果見表6.30。經計算,6個鄉鎮傷寒副傷寒發病等級預測符合率為83.3%。
表6.30神經網絡模型預測結果與實際結果對比
C.地質條件改善方案。在影響疾病發生的地質條件中,大部分地質條件是不會改變的,而改變受影響地區的飲用水類型是可以通過改善措施人為實施的因素。因此,以田玲鄉為例,對發病率高的鄉鎮進行分析,改變飲水類型,看發病率等級的變化。
表6.31表明,改變當地地下水類型(由原來的巖溶水類型變為基巖裂隙水)會使病害等級由原來的最高4級降低到較低的2級,效果非常明顯。因此,今後在傷寒副傷寒疾病的防治中,可以通過改變高發地區的飲水類型,客觀上減少疫情的發生。
表6.31田玲鄉改水前後預測結果
2)選取桂林市1994 ~ 2000的月平均降雨量和月平均氣溫作為輸入數據矩陣,進行樣本訓練,設置不同的隱含層單元,對各月數據進行BP網絡訓練。在隱藏層中,單元數q1=13,q2=9。經過46383次訓練,誤差滿足精度要求,學習率為0.02。
A.附加動量法程序(略)。
B.網絡培訓。在命令窗口執行run命令,網絡開始學習訓練。學習和訓練過程如下(圖6.20)。
C.模型預測。
A.輸入桂林從2001到12的各月平均氣溫和平均降雨量。預測度(略)。
B.預測。程序運行後,網絡輸出預測值a2,並與已知的實際值進行比較。預測結果見表6.32。經計算,預測了2006年6月5438+0日至2006年2月5438+02日傷寒、副傷寒的發病等級。在12個預測結果中,有9個預測結果是壹致的,符合率為75%。
圖6.20神經網絡訓練流程圖
表6.32神經網絡模型預測結果與實際值對比
6.3.3.3模式評價
本研究利用BP神經網絡對傷寒和副傷寒的發病率進行定量預測。壹方面,用數量化理論對不確定因素進行量化;另壹方面,利用神經網絡的優勢,充分考慮各種影響因素與發生率之間的非線性映射。
實際應用表明,用神經網絡定量預測傷寒和副傷寒的發病率是比較理想的。
它的主要優點是:
1)避免了對模糊或不確定因素的分析和具體數學模型的建立。
2)完成了輸入輸出之間復雜的非線性映射關系。
3)采用自適應的信息處理方式,有效減少了人為的主觀臆斷。
盡管如此,仍然存在以下缺點:
1)學習算法收斂速度慢,壹般需要上千次甚至更多次,訓練時間長。
2)數學上,BP算法可能存在局部極小值。
該模型應用範圍廣,可以應用於很多領域。從以上結果可以看出,實際和在線學習數據總體接近,演變趨勢基本壹致。說明選擇氣象因素和地質條件作為神經單元得到的傷寒副傷寒發病等級接近實際等級,從而證明傷寒副傷寒的流行與地理因素有密切的相關性。