• 沒有找到結果。

類神經網路的基本架構

三、 研究設計

3.1 類神經網路預測模型介紹

3.1.2 類神經網路的基本架構

倒傳遞類神經網路為具有學習能力的多層前授型網路,由 Rum Elhart & Mcclelland 於 1985 年提出,包含了輸入層(input layer)、隱藏層(hidden layer)及輸出層(output layer)。

圖 3-3 多層前授型網路圖 資料來源︰台大生工系水資源資訊系統研究室

(一) 輸入層、輸出層與隱藏層 1. 輸入層

定規則可循,依探討的問題設定即可,若欲解決分類與預測的問題,使用一層至二層的 架構即可有最好的收斂性質,太多層對其收斂結果均較差。

(葉怡成, 1997, 2000)或是可以使用兩層隱藏層的網路,各隱藏層只需有少量神 經元,可取代使用一層需要數量龐大神經元隱藏層的網路(Hush & Horne, 1993)因此,

本研究將採取單層隱藏層為模式之設計。

另外,關於隱藏層內神經元之數目,也並無一定的定論,數目越多收斂越慢,會使 學習效果較佳,可達到更小的誤差值,但也可能產生過度適配(Over - fitting)與時間 耗費過多的問題徒然增加執行時間,但數目少,會使學習效果較差,而使預測能力受到 影響。(Chiu & Yen, 1999)認為應根據實驗結果及經驗法則來訂定神經元數;常用的判 別隱藏層神經元個數的常用方法有兩種(Dawson, 2001)

(1) 網路修剪法 (Pruning Algorithm)

先設定大數量的隱藏層神經元個數開始訓練,再逐一減少神經元個數

(2) 網路增長法 (Constructive Algorithm)

先設定小數目的隱藏層神經元個數開始訓練,再逐一增加神經元個數

圖 3-4 網路增長法

如圖 3-4 使用網路增長法,初始設定神經元個數為 1,逐一增加神經元個數,神經 元數目越多,輸出結果的改變漸漸變小

本研究以 64Gb 的資料數列,預測基期(Delta)100 期,估計後 30 期, 發現隱 藏層神經元個數為 7 個時,實驗結果已收斂,如個數再增加,將只對輸出結果造成非常 小的差異而徒增執行時間。

3. 輸出層

以迴歸分析的觀念來說,輸出層即為依變數。而本研究之輸出層僅有一個變數,即 所預測出的價格數據。

4. 小結

有關以上輸入層、隱藏層及輸出層中之神經元,最常用的是邏輯斯轉換(Logistic Function) 將離散型的資料,轉換為介於 0 與 1 之間的連續形資料型態,才對轉換 後的連續型資料作預測數列。

3.1.3 倒傳遞類神經網路介紹

「倒傳遞類神經 (Back-Propagation Neural Network, BPN )」是屬於前授型的類神 經網路,其網路訓練方式包含兩個階段:學習階段以及回想階段,如下圖 3-5。

在學習階段時,輸入向量由輸入層引入,學習方式經由隱藏層傳導至輸出層,並計 算出網路輸出值,此時,網路的鍵結值者是固定的;而在回想階段時,網路的鍵結值則 根據錯誤更正法則來進行修正,藉由鍵結值的修正,以使網路的輸出值趨向於期望輸出 值,更明確地說,我們以期望實際值減去網路輸出值以得到誤差信號,然後將此誤差信 路倒傳遞回網路中,因此我們將此演算法稱之為「倒傳遞演算法」。

圖 3-5 倒傳遞運算法步驟圖 Step 1︰ 決定網路架

Step 2︰ 初始化

Step 3︰ 學習階段

Step 5︰ 調整鍵結值

Step 4︰ 回想階段

Step 6︰ 收斂條件測

倒傳遞演算法之步驟

運算過程分述如下︰

轉換函數:

圖 3-7 常用活化函數 資料來源︰台大生工系水資源資訊系統研究室

而其函數為:

( ) 0 ( ) 1

1

1 ≤ ≤

= + f x

x e

f

x

權重:

Desired output 向量 的 components 必須在 f 範圍內選取,權重0 w 為輸入層第 iji 個神經元與隱藏層第 j 個神經元的加權值,其中i=0~n−1, x0=1,而 j=1~ J−1;定

( )

( ) 1

1 exp( )

f x = αx

+

( )

=

=1

(

) net net

net f

( ) ( )

2. 回想演算法

圖 3-8 回想演算法步驟圖

3. 小結

倒傳遞類神經網路經由不斷訓練之後,得到一誤差值已到達終止條件之後,才用以 進行預測,其模式流程為圖 3-9。

由於類神經網路模型之輸入層至隱藏層的權重w 與隱藏層至輸出層的權重ji w 為lj 隨機選取,因此可能造成雖然網路模型中隨機選取變數的次數多,但是擊中率卻下降的 情況,因此,本研究利用 SAS 中的 IML 增加擬將本次命中率(Hits Ratio)結果視為最佳,

並且將其保留下來,若下次之命中率結果優於本次命中率結果,則將下次命中率結果視 為結果輸出值,但若下次命中率結果並不優於本次,則以本次命中率結果為最後輸出 值。

設定網路的層數及 各層間神經元數

讀入以訓練好之網 路加權值及偏權值

讀入一測試範例

計算網路的推論輸出值

圖 3-9 倒傳遞類神經網路運算流程圖 是否符合終止條件

利用學習次數, 調整各層權重

保留最佳參數與結果

預測價格 YES NO

隨機選取各層學習率 與邏輯斯轉換係數

λ λ η η

h h o o

隱藏單元數處理

Learning n V

w

n

Learning 1st ⇒V

w

1 Learning 2nd V

w

2 Learning 3rd V

w

3 ….

Loop 2

Loop 3

變數輸入=> 24

C

5 變數輸入=> 24

C

6 變數輸入=> 24

C

7

次數 V

Loop 1

保留最佳參數與結果

輸入項資料處理

讓資料平均值在 0 附近或是使其標準偏差較小,搜尋過程中較不容易產生權重發 散,造成無限大或負無限大的值出現,讓權重調整的速率相近似,可將資料標準化

(normalize)至 0.1 到 0.9 的範圍間。

輸出值的限制

目標輸出值必須考慮到神經元所使用的活化函數特性,建議在學習階段目標輸出值 最好介於 0.1 到 0.9 之間。

3.2 變數選取

各個容量所蒐集的資料的起始日期與資料天數表示如下︰

表 3-3 原始資料起始日期與天數

容量 資料開始日期 資料結束日期 資料天數

1Gb 2007/2/7 2008/12/31 465 2Gb 2007/2/7 2008/12/31 465 4Gb MLC 2007/9/28 2008/12/31 311 8Gb MLC 2007/2/7 2008/12/31 465 16Gb MLC 2007/2/7 2008/12/31 465 32Gb 2008/4/7 2008/12/31 188 64Gb 2008/4/18 2008/12/31 176

本研究類神經預測模型共有 25 個變數,變數的納入共分為三部分︰

1. 以上各容量晶片皆有每日最低價與最高價之資料,平均價以每日最高與最低價 格之平均取代,帶入股市分析指標計算式,求出以下 7 種股市指標︰

(a) RSI (b) MACD (c) K 值 (d) D 值 (e) MTM (f) PSY (g) W%R

日幣兌美元匯率(在此簡稱 JP) – Toshiba 原廠所在國家。

韓元 KR – Samsung、Hynix 原廠所在國家。

人民幣兌美元匯率(在此簡稱 RMB) – 應用產品主要生產地區,也是主要出口銷售 Nand Flash 應用產品至全世界的國家。

歐元兌美元匯率(在此簡稱 EURO) -- 主要消費地區之一。

其中,因為 Nand Flash 產業皆以美元報價,日匯率資料中,已將用各國貨幣兌換 美元之匯率所表示,故不再加入美元變數。此部分共有 5 個變數。

3. 所納入變數的第三部份中是以第一、二部分共有 12 項變數,各再取落後兩期為 第三部分,共有 12 個變數。

4. 最後一個變數為每日價格相對於前一日價格之變動率。

另外,在每期預測所需之加入變數的篩選上,需排除所有 25 個變數資料存在任何 資料空白的日期,以便 SAS 程式運作正常。

總計 25 項輸入之變數與項次如下︰

表 3-4 本研究之 25 項輸入變數

項次 變數 項次 變數

1 RSI (Lag 1期) 14 PSY (Lag 2期) 2 RSI (Lag 2期) 15 NT (Lag 1期) 3 MACD (Lag 1期) 16 NT (Lag 2期) 4 MACD (Lag 2期) 17 JP (Lag 1期) 5 MTM (Lag 1期) 18 JP (Lag 2期) 6 MTM (Lag 2期) 19 KR (Lag 1期) 7 K (Lag 1期) 20 KR (Lag 2期) 8 K (Lag 2期) 21 RMB (Lag 1期) 9 D (Lag 1期) 22 RMB (Lag 2期) 10 D (Lag 2期) 23 EURO (Lag 1期) 11 W%R (Lag 1期) 24 EURO (Lag 2期) 12 W%R (Lag 2期) 25 價格變動率 13 PSY (Lag 1期)

3.3 變數標準化處理

每日皆有 25 個自變數輸入類神經網路預測模型,在資料轉變成 SAS 型態資料前,

需將元資料以標準化處理,好處有二︰

1. 每日的 25 個變數計算單位皆不同,將每個變數以標準化處理,可以剔除預測時 單位不相同的干擾。

2. 標準化後的變數,數列會集中並縮短在 +3 到 -3 之間,以此資料輸入類神經 預測模型,可使預測運算較容易達到收斂狀態。

3.4 邏輯斯轉換處理

另外,變數 25 項為歷史價格資料,計算出每日價格變動率後,又以標準化處理,

然而價格項目也為本研究預測的唯一輸出變數,使用非線性的邏輯斯轉換,使數值介於 0 到 1 之間,預測模型可以更快收斂而得到最佳解。

四、 Nand Flash 價格預測之實證分析

本研究所使用之倒傳遞類神經預估模式,是以預測項目之總資料筆數的前 100 筆資 料為基礎(Delta),預估第 101 筆,且因本研究對當期預測變數增加了被預測期的前一 期與前二期之數據為輸入變數,所以每個項目產生“資料總筆數減 2”期的預估值。

之所以取每個項目總資料筆數的前 100 比當成是 Detla,是考慮類神經模型能使用 還有季價格變動趨勢的預估模擬基礎,另外,雖然總變數有 25 個之多,但是在設定預 估模型變數輸入數量時,最多為 7 個,最少 5 個;關於模型中隱藏單元數(Loop 1)為 7 個;各層學習率與邏輯斯轉換係數次數(Loop 2)為 5 次;學習次數(Loop 3)為 8 次,以下各項目也都維持上述的設定值。

4.1 1Gb

目標 Samsung 1Gb 預測筆數 363 筆當中,預估出的價格與實際價格的絕對誤差率

(APE)最小為 8.72958E-06,APE 誤差小於 1%筆數共有 132 筆,佔總預估筆數 363 筆的 36.36%,最大 APE 為 26.082%,所有大於 10%的筆數總共有 17 筆,佔總預估 筆數 363 筆的 4.68%,平均絕對誤差率(MAPE)為 2.71%。(表 4-1)

在所有 363 筆預測時,隨機選取預測變數數量,有 7 次以 6 個輸入變數就可求得最 佳解,其餘 356 次預測皆以需要 7 個輸入變數,總共有 2534 次的選取,第 5 變數 MTM

(落後 1 期)共出現 297 次,佔總選取次數的 11.72%,而後依次為第 19 變數 KR(落 後 1 期)共出現 236 次,佔總選取次數的 9.31%;第 20 變數 KR(落後 2 期)共出現 221 次,佔總選取次數的 8.72%;第 6 變數 MTM(落後 2 期)共出現 186 次,佔總選 取次數的 7.34%;第 25 變數價格變動率共出現 157 次,佔總選取次數的 6.20%;第 7 變數 K(落後 1 期)共出現 129 次,佔總選取次數的 5.09%;第 21 變數 RMB(落後 1 期)共出現 115 次,佔總選取次數的 4.54%。(表 4-1)

表 4-1 1Gb 預測結果 465 100 363 II.

最小數 量 Min Var.

最大數 量 Max

5 7 50 7 5 8 100

III. 筆數 百分比

132 36.36%

76 20.94% 2.71%

56 15.43%

29 7.99%

363 100.00%

IV. 隨機選取前7項次數最多之預測輸入變數如下:

4.2 2Gb

目標 Samsung 2Gb 預測筆數 363 筆當中,預估出的價格與實際價格的絕對誤差率

(APE)最小為 7.39E-05,APE 誤差小於 1%筆數共有 137 筆,佔總預估筆數 363 筆 的 37.74%,最大 APE 為 69.607%,所有大於 10%的筆數總共有 13 筆,佔總預估筆 數 363 筆的 3.58%,平均絕對誤差率(MAPE)為 2.73%。(表 4-2)

在所有 363 筆預測時,隨機選取預測變數數量,全部預測皆以需要 7 個輸入變數,

總共有 2541 次的選取,第 4 變數 MACD(落後 2 期)共出現 183 次,佔總選取次數的 7.20%,而後依次為第 3 變數 MACD(落後 1 期)共出現 151 次,佔總選取次數的 5.94

%;第 25 變數價格變動率出現 137 次,佔總選取次數的 5.39%;第 20 變數 KR(落後 2 期)共出現 136 次,佔總選取次數的 5.35%;第 21 變數 RMB(落後 1 期)共出現 125 次,佔總選取次數的 4.92%;第 7 變數 K(落後 1 期)共出現 121 次,佔總選取 次數的 4.76%;第 6 變數 MTM(落後 2 期)共出現 116 次,佔總選取次數的 4.57%。

(表 4-2)

表 4-2 2Gb 預測結果 465 100 363 II.

最小數 量 Min Var.

最大數 量 Max

5 7 50 7 5 8 100

III. 筆數 百分比

137 37.74%

88 24.24% 2.73%

57 15.70%

26 7.16%

363 100.00%

IV. 隨機選取前7項次數最多之預測輸入變數如下:

相關文件