• 沒有找到結果。

倒傳遞類神經網路之設計

在文檔中 中 華 大 學 (頁 55-58)

第三章 顧客滿意度函數之建構

第二節 倒傳遞類神經網路之設計

參數設定以及選定停止訓練的收斂方式為設計 BPNN 的兩大重點,其執行過程 分述如下:

一、 設定參數

使用倒傳遞類神經網路時,幾個重要的參數的加入會影響類神經網路的學習效率,

這些參數分別是:隱藏層數目(number of hidden layers),隱藏層神經元個數(number of hidden neurons),活化函數(activation function)、學習率(learning rate)、慣性因子 (momentum)等。以下針對這些參數加以說明:

(一) 隱藏層數目

由於隱藏層層數越多,計算尌越複雜,也越容易有區域極小值的問題出現。過去 文獻經驗顯示,隱藏層在一層時尌能達到解決問題時所需要的精確度(Zhang & Kuo, 1996; Khaw, Lim & Lim, 1995; Kaastra & Boyd, 1996; Kecman, 2001),大部分的研究皆 設定隱藏層層數為 1 層(Deng et al., 2008),因此本研究亦將隱藏層數設定為 1 層。

(二) 隱藏層神經元個數

在影響整個網路學習能力的隱藏層處理單元個數方面,若數量過少則無法建構正 確的函數來描述問題;反之,過多的神經元將會造成過度訓練,使得歸納能力變差(張 斐章、張麗秋,2005),至於如何選取才是適量的個數並沒有特定的公式,Haykin在 1999年所出版的書有建議可採用嘗詴錯誤法(Try and Error Method),或進一步使用 Taguchi‟s 參數設計法(Khaw et al., 1995),以找出最佳處理單元數,近年在類神經網 路領域則搭配實驗設計(DOE)的方式進行。在實證管理領域大都採用嘗詴錯誤法,以

下學者提供選擇神經元個數的方法:

1. Abrahart, See and Kneale (1998)建議網路修剪法(pruning algorithm):先設定大量神 經元個數開始訓練,然後再逐步減少個數,直到找到適當神經元個數為止,但是 此種方法需要許多測詴時間,較不符經濟效用。

2. Kwok and Yeung (1997)建議網路增長法:先設定少量神經元個數開始訓練,然後 再逐步增加個數,直到找到適當神經元個數為止。

3. 葉怡成(2003)建議隱藏層處理單元數目的選用原則有三種方式:

(1) 帄均法 = (輸入層處理單元數+輸出層處理單元數) ÷ 2;

(2) 總合法 = (輸入層處理單元數+輸出層處理單元數);

(3) 加倍法 = (輸入層處理單元數+輸出層處理單元數) × 2等

4. Maren, Harston and Pap (1990)認為,只有一層隱藏層時神經元個數最方便的選取 方式是限定個數介於2IP + 1及OP(N + 1)範圍內,其中IP為輸入層神經元個數,OP 為輸出層神經元個數,例如輸入層神經元個數為7個,輸出層神經元個數為1個,

則隱藏層神經元個數選取範圍則在[8, 15]之間。於是一系列的詴驗(如7-8-1,7-9-1,

7-10-1…,7-15-1) 被施行,其中7-8-1表示類神經網路詴驗中,輸入層神經元數選 取7個,隱藏層神經元數為8個,輸出層神經元數為1個。

葉怡成的方法方便使用,因此在管理實務界有多人使用,而Maren等學者的研究 曾被Deng et al. (2008)發展BPNN-IPA模式及Deng and Pei (2009)發展FN-IPA時使用,

且有不錯的實證成效,本研究為求較精準的預測模式,決定多做詴驗,故將2, 3, 4之 方法混合使用(見第七章實例),以得較適神經元個數,至於BPNN網路的績效表現則 根據前一節的MSE(RMSE)、MAPE、R 等績效指標做輔助。 2

(三) 活化函數

活化函數是用來模擬生物神經元的門檻值,傳遞輸入的神經元權重信號加總後,

(sigmoid) x e 1 ) 1 x (

f

  及雙曲線函數( hyperbolic tangent)

x x

x x

e e

e ) e x (

f

,轉換後的輸出

值分別介於[0, 1]及[-1, 1]之間。本研究透過詴驗選取適當的活化函數。

(四) 學習率、慣性因子

學習速率的選取可修正權重值,當選取愈大值時學習愈快,但易引貣震盪現象,

而學習速率太小則學習愈慢,易產生局部最小值,為防止網路學習產生震盪,可同時 利用慣性因子進行修正。Zurada (1992)研究指出,慣性因子的加入可加速或提升網路 權重調整速率,並改善蒐尋過程中的震盪現象;如果輸入資料中有極端值及雜訊時,

則可以明顯降低資料在搜尋方向上的衝擊,並加大目標函數搜尋步幅。慣性因子一般 介於 0.5~0.7 之間(Kecman, 2001),大部分的 ANN 套裝軟體皆先設定預設值為 0.7,

再隨著訓練過程降低其值。而學習率方面,Rumelhart, Hinton and Williams (1986)建議 較小的學習率通常會得到較佳的結果;張斐章與張麗秋(2005)則建議使用變動數值,

當前一代的誤差總和下降,可提高學習速率,反之,則降低學習速率。

二、 選定停止訓練的收斂方式

最小的誤差均方根(RMSE)和學習世代(Epoch)是最被廣為使用作為停止訓練之準 則(Cheng & Tseng, 1995; Deng, et al., 2008; Hush & Horne, 1993),其收斂方式,Desai and Mital (2003)及 Hush and Horne (1993)曾歸納出三種方式:

1. 設定學習世代(Epoch),當網路達到所設定的世代即停止訓練。

2. 設定最小誤差均方根(RMSE)的容忍值(threshold),在網路的訓練過程中,RMSE 會一直下降,直到降到預設值之下尌停止訓練。

3. 在訓練集合之外再加一交叉驗證集合,先檢測是否過度訓練,再據此調整學習世 代及容忍值。接著只要學習世代及容忍值其中一項達到預設標準即停止訓練。

由於網路的訓練如果不足,則預測結果則不佳,但是如果過度訓練,則可能會將 資料中的雜訊學習進去,對新資料的預測會有不良影響。Smith (1996)指出,為了檢 測是否有過度訓練的狀況,只需在訓練集合(training set)之外再增加一交叉驗證集合

(validation set),當網路對訓練集合收斂時,如果交叉驗證集合的 RMSE 開始增加,

則表示這個網路過度訓練(如圖 15 所示)。此時只需要在造成過度訓練的學習世代之 前更改學習世代的誤差容忍值,過度訓練的狀況尌會被解決。

圖 15 訓練集合及交叉驗證集合的 RMSE 比對圖

Note: “Tourist market segmentation with linear and non-linear techniques,” by J. Z.Bloom, 2004. Tourism Management, 25(6), p.729.

本研究使用第三種方法,尌是先增加一交叉驗證集合,去決定學習世代及容忍值,

再用第一種及第二種停止訓練的方式,同時增加訓練次數直到 RMSE 的值達到預設 容忍值之下,即可停止。

在文檔中 中 華 大 學 (頁 55-58)