• 沒有找到結果。

第二章 文獻回顧

第二節 決策樹的原理

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

13

 Error Sampling

Error Sampling 背後的原理是從希望新取得的資料可以為本來的模型帶來有 區別的型態(Discriminative Patterns)。而若是把一筆含有遺失值且被分類錯誤的受 試者填滿,其比較有可能為本來的模型帶來新的區別型態 (Melville et al., 2004)。

因此 Error Sampling 在選擇填值順序的標準是先從被分類錯誤的受試者開始。被 分類錯誤的受試者不含有任何遺失值之後,會依據 Uncertainty Score 的大小,從 小到大來填值。Uncertainty Score 的定義如下:對於兩個最可能被分到的類別(機 率最大和第二大的類別),其機率的絕對值差距。其公式定義如下:

Uncertainty Score = −1, if I is misclassified.

Uncertainty Score = (P(X)y1 − P(X)y2), otherwise.

X1 X2 X3 ….. Xm Result (假設有 K 種結果)

I1 P1(I)y1,P1(I)y2…US1

I2 P2(I)y1,P2(I)y2…US2

I3 P3(I)y1,P3(I)y2…US3

I4 P4(I)y1,P4(I)y2…US4

In Pn(I)y1,Pn(I)y2…USn

圖 2.3 Uncertainty Score 計算示意圖

在計算過 Uncertainty Score 之後,便可以把它從低到高排序,Error Sampling 便是依據此順序來填值。

第二節 決策樹的原理

1. 決策樹的原理介紹:

決策樹屬於一種監督式學習,可從分類已知的實例來建立一個樹狀結構,並 從中歸納出每筆數據、類別欄位及其他欄位之間的隱藏規則。所有決策樹的分類 都是基於同樣的結構,皆由一個樹根節點(root node)開始透過特定的演算法規則,

長出分枝(branches)與樹葉(leaves),而每一個分支都是演算法得出的最佳路徑,

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

14

由樹根節點將會長出許多子節點(children node),若是這些子節點為達到終點原 則(terminal rules)的規定,將可繼續衍生出許多的子節點,相對新的子節點而言,

舊的子節點即為他的父節點(father node),若是子節點已到達終結原則的要求,

則不會繼續分支,此時便稱為終結節點(terminal node) (Levin & Zahavi,2001)。

決策樹的其中一個缺點是,它會迅速的將所有訓練資料都用盡,並且會嘗試 著把訓練資料的細節都表現出來,因此會產生過度配適的問題,過度配適發生在 決策樹過度學習訓練資料的細節,記憶住它的特性,因而在用來預測未來資料時,

決策樹的表現會受到大幅的影響 (Jackson, 2002)。

因此,決策樹建構完成後還需要是當的修剪(pruning),常見的決策樹修剪方 式有以下兩種。

(1) 預先修剪(Pre-Pruning):

預先修剪以提早停止決策樹生長來達到修剪的目的,直到樹停止生長時,末 端節點即成為樹的樹葉。樹葉的標籤(Label),為該節點訓練集合(Training Set)中 佔有比例最大的類別。停止決策樹生長的時機是在決策樹建立前,事先設定好一 個閥(Threshold),當分支節點滿足該閥值的設定,就停止該分枝繼續成長。

(2) 事後修剪(Post-Pruning):

事後修剪是先建立一個完整的樹,再將其分支移除的做法,移除分支的依據 是計算該分支的錯誤率(Error Rate),未被移除的分支節點就變成樹葉。一般認為 此方法比事前修剪來的好,因為決策樹在判斷的時候是由上而下的貪婪演算法,

從未回朔前面的分類是否有其他的可能 (Alpaydın, 2010)。

2. 常見的決樹樹種類

Hastie、Friedman &Tibshirani(2001)曾提及目前最被廣泛使用的決策樹演算 法包含 C5.0、CHARD 及 CART 等,下表為常用決策樹的比較。

表 2.1 常用決策樹演算法的比較

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

15

演算法

CHAID CART C5.0

時間 1980 1984 1998

作者 Kass Breiman, Friedman,

Olshen, Stone Ross Quinlan

特點 以統計分析(卡方檢

定)為主要分類方法 產生分類樹、迴歸樹 從 C4.5 改良 決策樹

型態 Non-Binary Tree Binary Tree Non-Binary Tree

應用資料型態 分類型 分類型、連續型 分類型、連續行

決策樹修剪方式 Pre-pruning Post-pruning Post-pruning 變數分裂點選擇 卡方檢定、F 檢定 Gini Index Information Gain

由於近年來的實證研究中,透過 C4.5、C5.0 演算法所建構的決策樹成果顯 示相當成功,且由於 C5.0 模型具有「面對遺失值非常穩定」、「不需要長時間的 訓練次數」、「較其他類型的模型易於理解」、「提高分類的精準度」四項優點,因 此本研究將以 C5.0 演算法為研究工具,以下我們將針對 C5.0 演算法做更詳細介 紹。

在建構決策樹的過程中,C5.0 以資訊獲利(Information Gain)為準則,選擇最 佳屬性當成決策樹的節點,使最後得到的為一最簡單(或接近最簡單)的決策樹。

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

17

 Gain(S, A):利用屬性 A 對資料集合 S 進行分割的權利

其中當Gain值越大,表示屬性 A 內資料的凌亂程度越小,用來分類資料會 越佳,反之,當Gain值越小,表示屬性 A 內資料的凌亂度越大,用來分類資料 會越差。

 C5.0 的改善:Boosting

為了改善分類樹預測的表現,C5.0 使用 Boosting 方法,利用重抽機制產生 不同的學習樣本,再利用這些樣本來製造分類樹。C5.0 使用的 Boosting 方法介 紹如下:

考慮一組學習樣本 𝐿1 = {(𝑦𝑛, 𝑥𝑛), 𝑛 = 1, … . . , 𝑁},其中𝑥𝑛代表預測變數,

𝑦𝑛 ∈ {1, … … 𝐽}族群,N 為樣本個數,由 Freund and Schapire(1996)提出的 Boosting 方法中,首先以原始的學習樣本𝐿1產生分類樹 {𝜑(𝑥, 𝐿(𝐵)1 )},為了讓分類樹對分 錯的資料多學習,我們依照 {𝜑(𝑥, 𝐿(𝐵)1 )}的分類結果將分錯的資料給予較大的機 率值,接著以取出放回方式對 𝐿1 依不同的抽取機率抽出 𝐿2,此時 𝐿2 中分錯 的資料比例較 𝐿1 高,再利用𝐿2 產生分類樹{𝜑(𝑥, 𝐿(𝐵)2 )},重複此步驟 T 次來產 生分類樹{𝜑(𝑥, 𝐿(𝐵)2 )},∀1 ≤ t < T,接著將此 T 個分類器的分類結果投票決定,

最多票者即為 Boosting 方法的預測結果,也就是說

𝜑𝐵(𝑥) = 𝑎𝑟𝑔𝑚𝑎𝑥 ∑ 𝐼 [𝜑(𝑥, 𝐿(𝐵)𝑡 ) = 𝑗] ,

𝑇

𝑡=1

其中j ∈ {1, … … J}族群。

 C5.0 處理遺失值的方式

在 C5.0 中,若遺失值出現在學習樣本中,C5.0 用沒有遺失值的資料作變數 和切點的選取,因此,不論遺失值出現在學習樣本或是測試樣本,通過節點時將

‧ 國

立 政 治 大 學

N a tio na

l C h engchi U ni ve rs it y

18

此資料依比例分到每個分支,此比例即為節點內不具遺失值的資料至每個分點的 個數比例,例如,若在此節點中不具遺失值的資料有 n 筆資料分到左節點,m 筆 資料分到右節點,則具遺失值的資料有 n

(𝑚+𝑛) 的機率分到左節點, m

(𝑚+𝑛) 的機 率分到右節點,即若該節點有 K 比遺失值資料,通過該節點時有 (𝑚+𝑛) nk 筆分到

左節點,(𝑚+𝑛) mk 筆分到右節點。

排序,在本章中將會說明 U-Sampling 的想法、程式撰寫方式及其研究限制。另 外在介紹完 U-Sampling 之後會介紹衡量表現好壞的指標,然後分別用訓練資料 遺失、測試資料遺失的 10 折交叉驗證來衡量其效果。最後有關於不同資料型態

相關文件