第三章 研究方法與實驗設計
第二節 類神經網路之架構
傳傳遞網路(Back-Propagation Network,BPN)為目前最廣為被使用的類 神經網路之一,而其應用於財務金融上也常獲得不錯的成果。故本研究之進行亦 將採用倒傳遞神經網路之架構與學習型態,作為股價預測的基礎。本節將說明倒 傳遞網路的相關架構。
一、倒傳遞類神經網路基本架構
倒傳遞類神經網路為目前的各種神經網路學習模式中最具有代表性,且應用 最為廣泛的一種。倒傳遞網路屬於監督式的網路,雖然在 1974 年 Werbos 和 1982 年 Parker 就曾經提出過類似的觀念,但是直到 Rumelhart、Hinton、Williams[1986]
發表關於 Parallel Distributed Processing 的論文才將倒傳遞網路的的理論與 詳細的演算法定義出來。倒傳遞網路與早期的 Delta-Rule(或稱 Widrow-Hoff 法則)相當類似,Delta-Rule 的構想在於透過連續性的修正,來降低期望輸出 值和實際輸出值的差距,由其數學公式可證明當網路學習到最後將能夠收斂到一 個穩定的狀態。倒傳遞理論相當於其延伸,處理過程可分為兩個階段︰Forward Phase 和 Backward Phase。在多層的網路架構中,透過此兩階段,可以使網路的 誤差減小,而達成期望的學習效果。
倒傳遞網路的基本架構如圖 3-1 所示,包含幾個重要的部分︰
輸出層
(Output Layer)
隱藏層
(Hidden Layer)
輸入層
(Input Layer)
圖3-1 倒傳遞類神經網路架構圖
倒傳遞網路的架構除了輸入與輸出節點外,還有可處理複雜分類問題的若干 隱藏層存在,再加上採用平滑可微分的非遞減型連續函數作為節點的轉換函數,
使其在運作上能充分的學習到輸入樣本特徵資訊與輸出結果之間的非線性相對 應關係,並能夠經由學習而具備對樣本以外的輸入訊息做出正確輸出的反應能 力。底下就三層節點所扮演的角色做簡要的說明︰
輸入層︰即網路的輸入變數,其處理單元的數目應視問題的結構而定。
隱藏層︰倒傳遞神經網路的重點之一,隱藏層主要是在處理輸入單元間的交互影 響。隱藏層的層數並無限制,但一般只要一或兩層即已足夠。又每個隱 藏層處理單元的數目亦無一定的標準。當處理複雜問題時,使用非線性 轉換函數作為轉換函數會有較好的效果。
輸出層︰表現網路模式的輸出變數,其處理單元的數目也同樣視問題結構而定。
隱藏層的層數與節點的數目一直是一個難以定論的問題,Bybento[1989]認 為只要有一個隱藏層的神經網路就可以獲得所要求的精確度,而 Yoon & Swales [1993]等人則以實驗的方式,認為擁有兩層隱藏層的網路能更準確的預測。但實 際上視問題結構與輸入變數的不同,多個隱藏層數雖然涵蓋的複雜度較高,但相 對的計算也更加的繁雜,有無其實際價值值得商榷。因此本研究將採用一層隱藏 層來達成計算上與精確度的平衡。至於隱藏層的節點數目,許多研究均作過此方 面的探討,例如葉怡成[1993]曾提出建議,以輸入節點和輸出節點之算數平均數 為其數目。而根據數學家 Kolmogorov [1957]提出的定理,證明了任何一個從 m 維空間映射到實數向量的連續函數 ,都可以用一個「輸入 m 個節 點、隱藏 2m+1 個節點」的三層層狀前饋網路系統來實行。經過多次的學習試驗 結果,在可以兼顧良好學習效果與學習速率的平衡下,本研究決定採用輸入層 8 層和隱藏層 17 層的網路架構來實作。
q
m R
f :[0,1] ®
至於倒傳遞神經網路的學習演算法,在許多的類神經網路相關書籍中均有詳 細說明[蔡瑞煌,1995],在此即不再贅述。
二、倒傳遞神經網路輸出入變數的選取
本研究的預測模式係採用倒傳遞網路架構模式來進行,因此網路輸入變數的 選取,將會決定輸入節點的個數,相對的會影響隱藏層的數目,也同時會造成不 同的輸出結果。由於本研究的神經網路系統是演化模型中的個體,因此不同的個 體將擁有不同的輸入變數,但是就學習的公平性來說,除了不同的輸入變數之 外,每個個體的其他條件應該是相同的,因此我們將給予每個神經網路系統相同 的輸入節點個數、相同的輸出目標、以及一樣數目的隱藏層與隱藏節點數目。
在輸入變數個數的選擇上,由於我們在基因庫中擁有 48 個不同的指標(詳 述於後),因此由歷史文獻中歸納再加上運算的方便性起見,本研究將給予每個 個體 8 個不同的輸入變數,同時在系統中以 6 個不同的 Agent 來進行學習與演化。
而在輸出變數的決定上,因本模型所要預測的標的為整體股市的漲跌情形,
因此將以次日股市的大盤加權指數漲跌幅作為所有網路的輸出值。同時也因具有 相同的輸出變數,才得以藉操作績效來做個體的適合度評量。
三、演化式智慧型投資代理模式
本研究將使用各式的股市指標作為神經網路系統的輸入變數,而不同的輸入 變數將產生出不同的個體,並依輸入的歷史資料學習不同的操作策略,以下將就 整個模型中,智慧型投資代理的生成與演化做說明︰
1) 基因的選取與汰換︰基因的選取將決定一個個體的獨特行為。在本模型中,
乃採取從基因庫的 48 個指標(基因)中隨機選取的方式,在演化的初始化過 程(Initialization)中依亂數選取分配成各自擁有不同基因的數個神經網 路系統個體,並將完全使用所有的基因。這樣做的原因是希望能從系統開始
進行就將大部分的指標納入系統的學習過程中,以避免有些指標在演化過程 中將無法使用到的缺點。而在經過世代交替的演化後,表現較差的個體將被 隨機的抽取出數個輸入變數淘汰至基因庫中,而被淘汰的基因在之後的突變 機制中,仍有可能被選出而重新進入個體並展開新的學習過程。如此則可避 免優良的基因由於機率問題而意外遭到淘汰。
2) 輸入資料︰每個世代的學習過程都分成兩個階段,第一階段為學習。在同一 個世代的每個個體,雖然擁有不同的輸入變數,但都採用相同的歷史資料來 學習,這些輸入的歷史資料即為訓練資料集(Training Data)。第二個階段 則為驗證,個體分別依其學習的結果來預測並模擬操作,此時的輸入資料即 為測試資料集(Testing Data)。
3) 適合度的評估︰每個神經網路個體,在經過了訓練資料集的學習過程之後,
發展出各自的預測能力。此時我們將使其進行模擬操作,以其預測的大盤指 數漲跌幅輸出為標的進行買賣策略。在這裡我們使用了三種方式來作為每個 世代的評量方法:
a) 每日交易策略:此為預設的操作策略,當輸出為正值則買進,輸出為負值 則賣出。每日都依預測的漲跌來進行交易,並於隔日馬上進行損益計算。
b) 預測漲跌比例策略:當輸出為正值時且預測上漲的幅度超過一定比例,代 表出現買進訊號,因此進行買進或贖回策略;而當輸出為負值時且預測下跌 的幅度超過一定比例,則代表出現賣出訊號,因此進行賣出或放空策略。
c) 買入持有策略:此即為標準大盤的績效值,為以上兩種策略的基本對照 組。若績效能超過買入持有策略則代表該操作超越大盤表現。
當學習階段結束時,即依不同的操作策略結算每個個體的總合績效,並以之 作為適合度函數的輸出,買入持有策略則設定為 Dummy Agent,可作為後續 分析績效評估時的對照組。
4) 交配與突變︰個體的演化除了單純的複製以外,是透過交配與突變的過程來 達成。然而類神經演算法中的基因為個別的股價指標,和傳統遺傳演算法中 的基因有所差異,而無法以字串值(Bit String)的改變來進行交配與突變。
因此本模型乃是取遺傳演算法中交配與突變的涵義,並以自行訂定的機制達 成相同的目的。以交配為例,原始的目的在於達成優良基因的保留與交換,
然而在神經網路的學習過程中,我們並沒有辦法得知個體中較為關鍵的基因 為何,只知道在這樣的基因組合下會有較佳的輸出結果。但這卻隱含了表現 較佳的個體中很可能含有較為關鍵的輸入變數。在關鍵基因未知的情況下,
我們採取了以隨機的方式來淘汰表現差的個體基因,並以表現佳的個體基因 取代之。這樣的做法,雖然不能保證經過替代的基因組合一定會有較佳的表 現,但卻能確保在不斷的演化中,只有表現更佳的基因組合才有存活下來的 可能,相對的將使整個模型逐漸往最優的方向演進。而突變的機制也是相同 的道理,但是擁有另一項功能,就是使遭淘汰的基因仍有重新進入個體進行 演化的機會,避免優良的基因由於機率問題而遭到意外淘汰。
5) 世代交替︰本研究在經過考量後所使用的資料為台灣股市民國 80~88 年之間 9 年的歷史資料,取半年為學習階段,再加上一季的模擬操作驗證,每個世 代的經歷期間為 3 季。在此我們依不同的移動學習方法,可以分成兩種不同 的學習世代。以 9 年的歷史資料而言,模型分別能夠進行 17 或 34 個世代的 演化過程。在所有世代都結束時,我們將對於現存的個體進行檢視,並計算 其收斂的程度與演化後的 Agent 之績效表現。