• 沒有找到結果。

第三章 研究方法

第三節、 演算法說明

一、決策樹

決策樹是一種「監督式」的學習,可同時分類與預測,主要功能是藉由已 知分類的事來建構樹狀結構,利用樹狀圖的分類自動確認和評估區隔,從中歸 納出規則,並利用樣本進行預測。決策樹在分類問題上是個有效的方法,除具 備圖形化分析結果易於了解外,還有以下三項優點:

(1) 可用圖形或規則表示,且這些規則容易解釋和理解。

(2) 可以處理連續型和類別型的變數。

(3) 面對巨量資料集也可容易處理,若有多項變數輸入時,仍可建構模型。

18 

決策樹的構造主要有根部節點(Root Node)、中間節點(Non-leaf Node)、分支 (Branches)及節葉點(Leaf Node)。根部節點包含所有的訓練資料,中間節點是指 依照不同分割準則所分割出來的資料,分支為節點間的連結,一個分支代表一 種分割準則,節葉點則是節點的一種,但是節葉點為最末端的節點,並無節點 從此分支出去。決策樹架構如圖3-3。

圖3- 3 決策樹架構

決策樹的學習方式主要是利用資訊增益(Information Gain)找尋樣本集中最 大資訊量的變數,建立資料的一個節點,再根據變數的不同值建立樹的分枝,

每個分支子集中重複建立樹的下層結果和分支的過程,直到完成建立整棵決策 樹。在樹的節點上,使用資訊增益選擇測試的變數,資訊增益是用來衡量給變 數區分訓練樣本的能力,選擇最高或最大熵(Entropy)的變數,為節點的分割變數,

促使分類樣本資訊量小,反映出最小隨機性或不純性(Impurity)。

建立決策樹的過程中,可能會遭遇模型訓練過度造成過度配適(Overfitting) 的問題,會導致模型預測不準確。因此,建立決策樹訓練模型後,應根據估計 測試資料的分類表現,適當地修剪決策樹,增加其分類或預測的正確性,避免

過度配適。決策樹的分枝準則(splitting criteria)決定樹的規模大小,包含樹的寬 度及深度。常見的分枝準則包括資訊增益、Gini 係數、卡方統計量(chi-square statistic)、資訊增益比等。透過檢驗分枝屬性的顯著性後,分枝準則即能找出具 類錯誤率(classification error rate)更低的子樹。

決策樹修枝方式可分為事前修枝(pre-pruning)與事後修枝(post-pruning)兩種。

20  資料來源:資料挖礦與大數據分析(2014)

圖3- 4 決策樹建構步驟

二、隨機森林 為是多個「決策樹」結合成的一個「整體」(ensemble)。「整體學習」(emsemble learning)背後的想法是結合多個「弱學習器」(weak learner)來建構一個更強固的 模型:「強學習器」(strong learner)。強固模型的「一般化誤差」較低,也較不會 發生「高度適合」。隨機森林演算法簡單歸納為下列四個步驟:

1. 定義大小為 n 的隨機「自助」(bootstrap)樣本(從「訓練樣本集」中隨機 選擇n 個樣本,採用「放回式」(replacement),取出會放回)。

2. 從「自助」樣本中導出決策樹。6對每一個節點:

a. 隨機選擇 d 個特徵(採用「不放回式」,取出不放回)。

b. 使用特徵分割該節點,依據「目標函數」找出最佳的方式,例如最大 化「資訊增益」。

3. 重複 k 次步驟 1~步驟 2。

4. 彙總所有決策樹的預測,以「多數決」(majority voting)的方式,來指定 類別標籤。

       

6 當在訓練各別的決策樹時,步驟 2 會做些微修正:在評估每個節點的最佳分割時,只會隨機挑選部分特徵子 集合來評估,而不是考慮所有特徵。

22  模式(Parallel Distributed Processing Model)或連結模式(Connectionist Model)。其 具有人腦功能之學習、記憶和歸納等基本特性,可以處理連續型和類別型的資 函數(activation function)中的門檻值;回想(recall)階段為當神經網路接受到一個 輸入的刺激後,依據建立的神經網路架構產生一個相應的輸出值;歸納推演 (induction)階段為從局部觀察而推導出整體性的過程,提供有效率的記憶與儲存 模式。

       

7 多層感知器是由數個層所組合而成,每層都具有非線性的神經元,並用來訓練網絡。

類神經網路有以下優點:可處理雜訊,若輸入的資料中有部分遺失,其依 然能去辨認樣本;若當某些單元受損時,其仍然能正常運作,具有不易損壞性;

已成功被運用在某些領域,而這些領域以傳統方法很難解決的,如視覺問題等;

可以平行處理、學習新的觀念、為智慧型機器提供較合理的模式、實現聯合記 憶體(Associative Memory)及提供一個工具來模擬探討人腦的功能。

類神經網路主要由三個結構組成,有神經元(Neuron)、層(Layer)及網路

24 

3. 輸出層(output layer)

輸出層處理單元處理輸出至外在環境的訊息,處理單元的個數依不同問 題而定,亦可以使用非線性轉換函數將輸入資料轉換成輸出訊號。輸出 層中每個神經元的輸出值即網路的輸出值,所以輸出層神經元的個數等 於網路的輸出值個數。

輸出層的功能分為三種:(1)正規化輸出:將同一層處理單元的原始輸出 值所組成的向量先行正規化,轉化成單位長度向量後,在輸出訊號;(2) 競爭化輸出:從同一層處理單元的原始輸出值組成的向量中,另一個或 多個最強處理單元的輸出值為1(即優勝單元),其餘處理單元的輸出值為 0,再輸出訊號;(3)競爭化學習:從同一層處理單元的原始輸出值組成 的向量中,選擇一個或多個最強勢的處理單元,只調整與其相連的下層 網路連結。

圖3- 5 類神經網路架構

類 神 經 網 路 整 體 運 作 主 要 分 為 學 習 過 程(Learning Process) 與 預 測 過 程 (Prediction Process)兩種。其中學習過程是依學習演算法,從樣本中學習,以調 整網路連結加權值的過程;而預測過程則藉由學習過程中所得到的加權值,作

26 

支持向量機的關鍵在於核函數,其擁有不同的核心(kernel)類型,如點、徑 向、多項式、神經、anova、epanechnikov、高斯組合(gaussian)及 multiquadric。

低微度空間向量集通常難以劃分,解決的方法是將它們映射到高維度空間,但 這方法會增加模型計算的複雜性,而核函數正解決此問題,也就是說,只要選 用適當的核函數,就可以得到高維度空間的分類函數。

五、倒轉遞類神經網路

RapidMiner 中的 Deep Learning 運算式是以多層前饋式網絡建立的倒轉遞類 神經網路,其包含大量的隱藏層,由神經元所組成,具有雙曲特性、整合和激 活特性,以提高預測的準確度。

倒轉遞類神經網路的架構為多層感知器(MLP),一般使用的學習演算法為誤 差 倒 轉 遞 演 算 法(Error Back Propagation) , 簡 稱 BP 演 算 法 , 這 樣 的 組 合 (MLP+EBP)稱為倒轉遞類神經網路或 BPN。倒轉遞演算法屬多層前饋式網路,

以監督式學習方式,來處理輸入輸出間之非線性的映射關係。

2. 隱藏層:用於處理輸入層單元間的交互作用或非線性的關係。隱藏層數 目往往藉由嘗試錯誤法所決定,並以一層或兩層時收斂效果為最佳,以 避免過度配適。

3. 輸出層:用來代表類神經網路的輸出值,神經元數目的多寡需視問題而 定,而輸出神經元可依問題需求而決定是否要採用介於 1 和-1 間之線性 或非線性的雙曲轉換函數。

資料來源:類神經網路控制系統(2008)

圖3- 6 倒轉遞類神經網路架構

倒 轉 遞 類 神 經 網 路 的 基 本 原 理 是 利 用 最 陡 坡 降 法(the gradient steepest descent method)的觀念,將推論輸出值與目標輸出值相減後的誤差值以回饋方式 修正網路的連結加權值,將誤差函數予以最小化,使網路能夠擷取最適的權重,

28 

進而使推論輸出值能夠盡量逼近目標輸出值。在修正網路的連結加權值過程中,

使網路誤差函數達到最小,也就是使推論輸出值趨近於目標輸出值,如此一來,

網路已從訓練範例中學習到隱含在其中的內隱知識。整個演算法大致可分成兩 部分:學習過程和回想過程;訓練範例不斷重複上述兩步驟,直到所有訓練範 例皆輸入完畢為止,稱為一個學習循環(Learning cycle),一個網路可以將訓練範 例反覆學習數個學習循環,直到收斂為止。倒轉遞類神經網路學習精度高、回

Cross Validation

將樣本集分為N 等分,以 1/N 樣

相關文件