第四章 實驗步驟與結果討論
4.2 實驗流程與詳細步驟
4.2.2 小波濾除冗餘權重步驟
1.首先以 MODFLOW 產生 360 筆資料,並且將之正規化,以供類神經網路訓練 之用,每筆資料包含 8 個輸入向量與 4 個輸出輸出向量。
2.以 MATLAB 程式設計類神經網路,使用最普通最平常的倒傳遞網路,各參數 的設定如下所示:
(1)隱藏層一層,活化函數使用 tansig,為雙彎曲正切函數;
(2)輸出層活化函數使用 purelin,為線性函數;
(3)訓練法使用 trainrp,稱為 Resilient Backpropagation 學習法;
(4)學習速率設為 0.001,動量係數為 0.9;
(5)訓練次數為 50000 次,訓練目標精度 MSE=0.00001;
(6)初始權重與初始偏權值皆為 random。
3.取出事先準備好的資料的前 120 筆,使用上述的類神經網路開始訓練,隱藏神 經元個數設為 20 個(極大)開始訓練;因為倒傳遞類神經網路之結果為多值 解,隨機的初始權重亦可能影響最後停止誤差之大小,為了能夠得到各個不同 隱藏層神經元個數下的最佳停止誤差值與最佳權重值,所以每個神經元個數之 訓練皆循環 5 次,取停止誤差值最小的該次權重為最佳權重進行小波分析。
4.使用 MATLAB 程式套裝小波程式進行分析,使用 dp1(離散小波轉換),小波 函數使用 db3(如圖 4.14 所示),相關細節說明如後:
(1)欲將權重輸入小波裡過濾必須先將之排序,本論文採取輸入層權重在前,
輸出層權重在後的排法,先將所有的輸入層權重排完,再排輸出層權重,
共計有四種排法(參考圖 4.15~圖 4.18);因為以小波過濾權重以決定隱藏 神經元個數之作法本研究實屬先例,故本論文僅先取第二種(如圖 4.16 所 示)嘗試研究。
(2)在眾多的小波裡選用 db3 之原因在於其圖形有個非常明顯的突起,因此當其 在待分析之序列上平移之時,經過摺積之計算將會使得離零值越多之值越
大,凸顯訊號中之特徵值,抑制過小之雜訊;亦即不論正負,取絕對值大 者保留,利用此一性質刪去類神經網路裡權重值過小之連結。唯要注意的 是雖然圖形非常相像,但 db3 是不對稱的,而墨西哥草帽函數是對稱的,
兩者並不相同,本論文選用的是 MATLAB 套裝程式的 db3。
(3)本研究在訓練類神經網路時,初始權重皆為-1~1 之間的 Random 值,故推 想最終訓練結束後之權重,其相互間之差值之絕對值應該不會有過大之變 化,因此最初小波過濾門檻值設為 0.5,往上往下各增減 0.1,以嘗試各種 不同門檻值;發現若在 0.7 以上則權重會盡數被打斷,若在 0.5 以下則權重 濾除之效果不明顯,因此最後決定門檻值為 0.6。
圖 4.14 (a) db3 函數圖 圖 4.14 (b) 墨西哥小帽函數圖
圖 4.15 權重排列方式一
圖 4.16 權重排列方式二
圖 4.17 權重排列方式三
圖 4.18 權重排列方式四
5.將前一步驟所得到的 120 筆資料下,20 個隱藏神經元下的最佳權重值放入小波 程式裡過濾,被濾除的權重處就補零;只要發現有某個隱藏神經元的連結權重 全部被打斷,就視這個隱藏神經元為不必要的隱藏神經元,相關說明如下:
(1)只有權重盡數被打斷的隱藏層神經元會被移除,換言之,即便只剩下一個 連結權重沒被打斷,該隱藏神經元仍然會被保留(相關之示意圖可以參考 圖 4.19 與圖 4.20 所示);如此,每次濾除之神經元個數不再限制為一個,
可同時濾除多個不必要的隱藏層神經元。
圖 4.19 權重濾除前
圖 4. 20 權重濾除後
< 4 > 0 0 0 0 0 0 0 0 -0 .3 9 7 4 9 0 0 .9 1 0 9 3 0 -1 .0 9 6 1 3 0 0 .8 5 4 0 1 0 0 0 0 0
< 3 > 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
< 2 > 0 0 0 .4 4 5 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
< 1 > 0 0 0 0 0 0 0 0 0 1 .5 4 5 8 8 -0 .3 1 6 1 2 0 0 0 0 0 0 .7 3 5 1 8 0 0 0
(8 ) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(7 ) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(6 ) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(5 ) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(4 ) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(3 ) 0 0 0 0 0 0 0 0 -0 .6 1 3 5 7 0 0 0 0 0 0 0 .7 1 7 4 1 -1 .1 9 3 4 0 0 0
(2 ) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
(1 ) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
表 4 .8 小 波 濾 除 權 重 範 例 II 1 2 3 4 5 6 7 8 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 2 0
(2)參考上頁表 4.8,此為 120 筆訓練資料下,20 個隱藏神經元時,將權重以小
7.重複步驟 3.~5.便可得到資料筆數為 120、180、240、300、360 筆情況下各自 的最佳隱藏神經元個數,結果如表 4.9 與與圖 4.21 所示。