第三章 研究方法 研究方法 研究方法 研究方法
第二節 倒傳遞類神經網路之模式建立 倒傳遞類神經網路之模式建立 倒傳遞類神經網路之模式建立 倒傳遞類神經網路之模式建立
第二節 第二節
第二節 倒傳遞類神經網路之模式建立 倒傳遞類神經網路之模式建立 倒傳遞類神經網路之模式建立 倒傳遞類神經網路之模式建立
3.2.1 倒傳遞類神經網路倒傳遞類神經網路倒傳遞類神經網路倒傳遞類神經網路模型模型模型變數之訂定模型變數之訂定變數之訂定 變數之訂定 3.2.1.1 活化函數選定
目前在類神經網路實作,主要使用的活化函數為以下列幾種:
i. S 型曲線函數(sigmoid function),輸出值介於 0~1 之間:
f(net) = 1 1 + expି୬ୣ୲
ii. 雙曲線正切函數(hyperbolic tangent function),對稱於原點,輸出介於-1~1 間之函數
f(net) =1 − expି୬ୣ୲ 1 + expି୬ୣ୲ iii. Pure Linear 線性轉換函數
f(net) = net
本實驗選擇目前最常使用的S型曲線函數型曲線函數型曲線函數型曲線函數來做為此次的活化函數。
3.2.1.2 隱藏層與隱藏層神經元數目選定隱藏層與隱藏層神經元數目選定隱藏層與隱藏層神經元數目選定隱藏層與隱藏層神經元數目選定
在類神經網路模型的隱藏層與神經元數目選定,根據Beal與Jackson(1990)的 說法,類神經網路擁有一層隱藏層可以模擬任何的連續函數。而依據我們想要逼 近真實的模式的程度,可以使用十個、百個,甚至上千個隱藏層的節點數。然而 實際上,對於相同的問題,一般人並不會使用有只有一個隱藏層而內含千個以上 的處理單元之類神經網路,而是比較希望使用多些隱藏層及較少的神經元的方式 來做。
Refenes(1994)考量收斂性(convergence)與一般性(generalization),一般較常使 用的法則是「輸入變數個數乘上輸出變數個數」,再取「根號值」;而次一層隱藏 層的神經元數目為「上一層神經元之數目取對數(ln)值」。
27
第一層隱藏層神經元數目= ඥinput ∗ output 次一層隱藏層神經元數目 = ln(前一層神經元數目)
此次研究輸入變數共27個,輸出結果1個,根據文獻,因此共設計三層隱藏設計三層隱藏設計三層隱藏設計三層隱藏 層
層 層
層,,,,分別有五個分別有五個分別有五個分別有五個、、、三個、三個三個、三個、、兩個神經元、兩個神經元兩個神經元,最後輸出結果到輸出層。 兩個神經元
3.2.1.3 倒傳遞類神經網路學習常數選定倒傳遞類神經網路學習常數選定倒傳遞類神經網路學習常數選定倒傳遞類神經網路學習常數選定
根據盧坤勇教授在“類神經網路在智慧型管理決策之應用”中提到,依照過去 經驗擁有最好收斂性的學習常數介於 0.1~1.0 之間,最常使用的學習常數為 0.5,
因此比研究採取學習常數學習常數學習常數學習常數 0.5 進行不同的模型測試。
3.2.2 倒傳遞類神經網路模型建立步驟倒傳遞類神經網路模型建立步驟倒傳遞類神經網路模型建立步驟倒傳遞類神經網路模型建立步驟
因此本研究參照 Refenes(1994)所使用之較穩定類神經架構來定義隱藏層之 數目,並用以下的流程進行學習階段的訓練
步驟一:設定輸入變數共 27 項變數
步驟二:以隨機方式設定加權值向量與閥值向量初始值
步驟三:將資料分成訓練組及測試組,依據不同條件需求建構多種模型 步驟四:輸入一個訓練組的輸入向量 X,與目標輸出向量 T
步驟五:根據 X 計算推論出輸出向量 Y iv. 計算隱藏層輸出向量 H
net୩= W୧୩X୧− θ୩ H୩ = f(net୩)
net୩:隱藏層第 k 個神經元的加權乘積和
W୧୩:輸入層/隱藏層第 i 個神經元與隱藏層第 k 個神經元間的加權值 X୧:輸入層第 i 個神經元的輸出值
θ୩:隱藏層第 k 個神經元的閥值
28
f(net୩):S 型曲線函數
H୩:隱藏層第 k 個神經元的輸出結果 v. 計算輸出向量 Y
net = W୩୨H୩− θ Y = f(net)
net:輸出層的加權乘積和
W୩୨:隱藏層第 k 個神經元與輸出層間的加權值函數 H୩:隱藏層第 k 個神經元的輸出值
θ:輸出層的偏權向量值 f(net):S 型曲線函數 Y:輸出層結果 步驟六:計算差距量δ
i. 計算輸出層的差距量δ δ = (T − Y) × Y × (1 − Y) δ:輸出層神經元的差距 T:輸出層神經元目標輸出值 Y:輸出層神經元實際輸出值 ii. 計算隱藏層的差距量δ୩
δ୩ = δ୨W୩୨× H୩× (1 − H୩) δ୩:隱藏層第 k 個神經元的差距 δ୨:輸出層第 j 個神經元的差距
W୩୨:隱藏層第 k 個神經元與輸出層神經元間的加權函數 H୩:隱藏層第 k 個神經元的輸出結果
步驟七:更新加權值矩陣及閥值向量,採用最大梯度陡降法修正加權值與閥值
29
i. 更新輸出層加權值及閥值
∆W୩(n) = ηδH୩+ ΔW୩(n-1)
∆θ(n) = −ηδ + Δθ(n-1)
∆W୩(n):隱藏層第 k 個神經元與輸出層間第 n 次的加權值修正結果
∆θ(n):輸出層第 n 次的閥值修正結果 ΔW୩(n-1):輸出層加權值修正 n-1 次之結果
∆θ(n-1):輸出層閥值修正 n-1 次之結果 η:學習率參數
δ:輸出層差距量
H୩:隱藏層第 k 個神經元輸出結果 ii. 更新隱藏層加權值及閥值
∆W୧୩(n) = ηδ୩H୧+ ΔW୧୩(n-1)
∆θ୩(n) = −ηδ୩+ Δθ୩(n-1) δ୩:隱藏層第 k 個神經元的差距 η:學習率參數
∆W୧୩(n):第 i 個神經元與第 k 個神經元間第 n 次的加權值修正結果
∆θ୩(n):隱藏層第 k 個神經元第 n 次的閥值修正結果
∆W୧୩(n-1):第 i 個神經元與第 k 個神經元間第 n-1 次的加權值修正結果
∆θ୩(n-1):隱藏層第 k 個神經元第 n-1 次的閥值修正結果 H୧:隱藏層第 k 個神經元輸出結果
步驟八:重複步驟四至步驟七,直到收斂
30
3.2.3 倒傳遞類神經網路模型倒傳遞類神經網路模型倒傳遞類神經網路模型倒傳遞類神經網路模型終止終止終止(穩定終止穩定穩定)條件穩定條件條件 條件
歸納過去文獻,倒傳遞類神經網路模型穩定條件有二:加權值及閥值變化趨 於穩定;均方差(MSE)為一個極低的值。但穩定之定義與 MSE 極低值之定義隨 著不同模型有所變化。觀察本研究模型之結果,訂定出模型穩定條件為下列:
連續三個連續三個連續三個連續三個 1000 次循環訓練之加權值與閥值變化量不超過次循環訓練之加權值與閥值變化量不超過次循環訓練之加權值與閥值變化量不超過次循環訓練之加權值與閥值變化量不超過 0.05
MSE 之值必須低於之值必須低於之值必須低於 0.05 之值必須低於
根據上述之條件,設立本研究模型之終止條件,並觀察模型到達穩定狀態後之準 確率、精確率、召回率,進行模型間的比較。
3.2.4 測試測試測試測試模型結果是否為區域最佳解模型結果是否為區域最佳解模型結果是否為區域最佳解模型結果是否為區域最佳解(Local Optimize)
當模型加權值在某個數值附近來回震盪不在變動,但 MSE 高於預期時,此 時模型可能落入區域最佳解而造成 MSE 無法繼續下降。或是模型符合本研究所 設定之限制條件,但因為預測結果不盡理想,無法確認模型是否落入區域最佳解。
在上述的兩種情況時,本研究會測試模型是否會陷入區域最佳解(Local Optimize) 而非最佳解(Global Optimize),測試模型的方法有許多種,在本研究中,所有模 型會先以加入擾動的方式觀察是否為區域最佳解,若結果模型再次穩定之後,與 原本模型差異不大,且準確率預測結果符合預期,該模型非區域最佳解的機率大 幅降低。若加入擾動後之模型,MSE 仍不符合預期,或是預測結果不理想,則 再以多組不同的初始值進行模型訓練,觀察差異,以上述兩種方法降低模型為區 域最佳解的可能性。
(一) 加入擾動
當模型趨於穩定以後,加權值與閥值之變化幅度極小且來回震盪,但 MSE 的值高於預期且訓練很長時間皆不再變化,或是皆符合模型穩定條件,但預測結 果與預期落差甚大,此時模型有空能落入區域最佳解。因此,需加入擾動使模型
31
脫離區域最佳解,因此加大學習常數從 0.5 至 5,進行重複訓練 1000 次,之後再 調整回原本的學習常數 0.5,繼續訓練使模型再次趨於穩定,觀察 MSE 是否符合 預期,若不符合預期,推測此條件下所產生之模型最佳解有可能 MSE 值較高,
或是加入擾動仍無法脫離區域最佳解,因此以方法二進行測試。
(二) 以不同初始加權值及閥值訓練
以多種不同的初始加權值及閥值,訓練出多種模型,在本研究中,會進行三 組不同的初始加權值及閥值訓練至穩定,並觀察三個模型之間準確率、精確率、
召回率及均方差值的差異,若三者之間結果差異不大,可說此模型不是區域最佳 化之解,而是模型之最佳解,若有結果較原本之模型好,可推測原本模型為落入 區域最佳解。
(三) 驗證區域最佳解之時機
本研究所有模型結果都先進行加入擾動之模型非區域最佳化之驗證,但若符 合下列兩種情形時,會進行第二種方法之驗證:
加權值與閥值來回震盪超過加權值與閥值來回震盪超過加權值與閥值來回震盪超過加權值與閥值來回震盪超過 10 次次次 1000 個循環次 個循環個循環,個循環,,MSE 卻固定在某個數, 卻固定在某個數卻固定在某個數卻固定在某個數 字附近無法下降
字附近無法下降 字附近無法下降 字附近無法下降
加權值與閥值及加權值與閥值及加權值與閥值及加權值與閥值及 MSE 皆符合本研究所設定之模型穩定條件皆符合本研究所設定之模型穩定條件皆符合本研究所設定之模型穩定條件,皆符合本研究所設定之模型穩定條件,,,但預測結但預測結但預測結但預測結 果準確率低於
果準確率低於 果準確率低於 果準確率低於 70%
在加入擾動測試之後,若仍然發生上述兩種情況時,會進行驗證方法二的不同初 始加權值與閥值進行測試,觀察是否為區域最佳解。
3.2.5 檢驗模型是否為區域最佳解方法檢驗模型是否為區域最佳解方法檢驗模型是否為區域最佳解方法檢驗模型是否為區域最佳解方法
在每一個模型穩定之後,都會先進行加入擾動之測試,若通過測試,證明該 模型符合預期,並非本研究所認定之區域最佳解。但若測試結果符合 3.2.4 中所
32
1000 4000 7000 10000 13000 16000 19000 22000 25000 28000 31000 34000 37000 40000 43000 46000 49000 52000 55000 輸出層加權值1 輸出層加權值2
1 0 0 0 4 0 0 0 7 0 0 0 1 0 0 0 0 1 3 0 0 0 1 6 0 0 0 1 9 0 0 0 2 2 0 0 0 2 5 0 0 0 2 8 0 0 0 3 1 0 0 0 3 4 0 0 0 3 7 0 0 0 4 0 0 0 0 4 3 0 0 0 4 6 0 0 0 4 9 0 0 0 5 2 0 0 0 5 5 0 0 0
MSE
33
結合上述兩者條件,歸納出模型穩定為訓練次數 56000 次之模型結果,以該 結果做為加入擾動前之穩定模型。
結合上述兩者條件,歸納出模型穩定為訓練次數 56000 次之模型結果,以該 結果做為加入擾動前之穩定模型。