第二章 相關研究
2.3 資料探勘中的分類任務
2.3.2 分類技術
至今,許多研究利用不同的演算方法及技術來處理多變量資料的分類問題,
而基於先前探勘技術的討論,在此介紹幾個常見的分類技術:統計方法中的逐步 判別分析、機器學習法中的決策樹歸納法,及類神經網路。
1.
判別分析(discriminant analysis)判別分析為一個簡單的參數型統計方法,用在對多變量資料的分類。此法 必須滿足三個統計上的假設:(1)群體必須滿足多元常態分配(multivariate normal distribution);(2)群體的共變數矩陣(covarianc matrices)相等;(3)
群體的平均值向量(mean vectors)、共變數矩陣及先驗機率(prior probabilities)
已知。判別分析包含三程序 [14, 15]:
(1) 確認最佳變數集:找出可以用來清楚分辨訓練樣本類別的最佳變數,而 這些變數稱為判定變數(discriminator variables)。
(2) 確認新座標軸:使用(1)中的判定變數,將訓練樣本的多個判定變數 值投影到一新的座標軸上,使得到一個新變數,再根據這些訓練樣本的 新變數,找出最能區分類別的座標軸。
(3) 分類:使用(2)所找出的座標軸發展分類規則,對新的樣本作分類。
由以上三個程序可以了解,判別分析經由所有判定變數的線性組合來發展 一個新變數,而此線性組合必須能最大化新變數在組間與組內平方和上的比值
(between-group to within-group sum of squares ratio, SSb/SSw),這將使在不同 類別間具有最佳的判別。此線性組合稱為線性判別方程式(linear discriminant function),而經過判別方程式所計算的新變數值稱為判別得分(discriminant score),並構成判別空間(discriminant space)。最後,決定判別空間中最能區 分類別的閾值,建立分類規則。
在此之前,我們假設判定變數的最佳集合是已知的,並且利用已知的判定 變數來建立判別方程式,然而,實際情形並非如此。逐步判別分析(stepwise discriminant analysis, SDA)將所有變數依據指定的篩選指標,利用過濾的手 法,個別逐步的從目前的判定變數集外導入較重要者,或從中剔除不必要者於 判別方程式中,直到沒有變數滿足指標閾值為止,藉此尋求分類能力最佳的變 數集合,作為最終的判定變數。
2.
決策樹(decision tree)決策樹是一個類似於流程圖的樹狀結構,其中每個內部節點表示在某個屬 性上的測試,最頂層的節點稱為根節點(root node),每個分枝則代表一個測 試結果,而每個最底層的節點稱為樹葉(leaf),代表類別或類別分布(class distributions)。一個由根到葉的路徑存放著對樣本的分類規則,圖 2.4 即為一 典型的決策樹,他表示了一部汽車的最高時速高低(high, medium, low)的分 類規則,內部節點以橢圓形來表示,而矩形則代表類別樹葉。決策樹中每個節 點上的屬性是使用基於熵理論(entropy theory)的信息增益(information gain)
度量來決定,這種度量稱作屬性選擇度量(attribute selection measure)或分裂 優良性度量(measure of the goodness of split)[7, 16, 19]。
圖 2.4 決策樹 [12]
決策樹歸納法的基本演算步驟如下:
(1) 決策樹從代表所有訓練樣本的單個節點開始。
(2) 如果節點中的樣本皆屬於同一類別,則該節點成為決策樹葉,並標記類 別。
(3) 如果節點中的樣本不屬於同一類別,演算法使用信息增益的度量作為資 訊,並選擇使信息增益最大的屬性,做為該節點的測試或決策屬性。
(4) 對測試屬性的每個已知值各建立一個分枝,並藉此來劃分樣本,使進入 下一層節點。
(5) 演算法使用同樣的過程,在每個分枝的樣本上,以剩餘的屬性,重複步 驟(1)到(4),遞迴地形成決策樹的伸展。
(6) 重複遞迴的步驟在以下條件下即停止,並形成樹葉:
(a) 該節點的樣本皆屬於同一類別。
(b) 沒有剩餘的屬性可被用來進一步劃分樣本。通常,以該節點中的多 數類別為決策樹葉的標記,或者以該節點中的類別分布表示。
當決策樹建立時,由於資料中的雜亂,使得許多分枝是反應訓練樣本中的 異常資料。透過修剪(pruning),利用統計度量(statistical measures)減去不 可靠的分枝,可以處理這種對訓練樣本過度適配的現象。執行決策樹修剪,將 可獲得較快的分類,並提高決策樹的正確分類能力 [7]。另外,不出現在決策
樹中的所有屬性皆假設是不相關的,因此決策樹歸納法亦可用在特徵選取。
3.
類神經網路(artificial neural network)類神經網路是一組連接的輸入/輸出單元,其中每個連接都與一個權重相 關聯,在學習訓練階段,透過調整類神經網路的權重,使得能夠正確預測輸入 樣本的類別來學習。多層前饋(multilayer feed-forward)類神經網路如圖 2.5 所示,由輸入層(input layer)輸入訓練樣本的每個屬性值,這些輸入單元的 加權值依次同時地提供給第一隱藏層(hidden layer)作為隱藏單元的輸入,再 透過一激發函數(activation function)的轉換後,產生隱藏單元的輸出值,該 隱藏層的加權輸出,做為下一隱藏層的輸入,由此下去,最後一個隱藏層的輸 出構成輸出層(output layer)的單元輸入,而輸出層的輸入值經過激發函數轉 換 後 , 發 布 給 定 樣 本 的 網 路 預 測 。 隱 藏 層 和 輸 出 層 的 單 元 稱 為 神 經 元
(neuron),ㄧ個輸出單元可以用來表現兩個類別,如果多於兩個類別,則每 個類別分別使用一個輸出單元。如果權重都不送回前ㄧ輸出單元,則此類神經 網路是前饋的。網路的設計是一個試誤(try and error)的過程,對於最佳的隱 藏層單元數決定,並沒有明確的規則可供使用,而權重的初始值也可能會影響 分類結果的準確性,因此一但網路經過訓練,並且其分類準確率無法被接受 時,通常會選用不同的隱藏層單元數或不同的初始權重,來重複此訓練過程。
圖 2.5 多層前饋類神經網路
倒傳遞神經網路(back-propagation neural network, BPN),在多層前饋神 經網路上學習,為目前最常使用於分類的類神經網路 [17, 18]。倒傳遞神經網 路透過疊代的處理一組訓練樣本,將每個樣本的預測與實際知道的類別標籤做 比較來進行學習。在訓練過程中,以 sigmoid 函數作為激發函數,並會透過不 斷修正其權重,使網路預測和實際類別間的誤差最小,而這種權重修改是「倒 向」進行的,也就是由輸出層到第一個隱藏層,因此稱為「倒傳遞」。一般而 言,權重最終將會收斂,而學習過程即停止。
倒傳遞神經網路之基本演算步驟如下:
(1) 網路的權重首先會被初始化為很小的隨機變數。
(2) 由訓練樣本提供給網路的輸入層,向前以加權組合的 sigmoid 函數值逐 層傳播輸入,並在輸出層輸出預測結果。
(3) 向後傳播預測結果與實際類別的誤差,並由輸出層逐層向後計算、更新 權重。
(4) 重複(2)、(3)直到滿足停止條件。
(5) 停止條件如下:
(a) 權重收斂,新舊權重差距小於某個指定的閾值。
(b) 類別預測的正確率達到某個指定的閾值。
(c) 超過預先定的疊代次數。
此外,倒傳遞神經網路的特徵選取可由以下步驟執行:
(1) 在每個輸入單元,計算其所連接的每對「輸入-隱藏」權重和「隱藏-輸 出」權重之絕對值乘積,並相加之。
(2) 將每個輸入單元在(1)所求得的值以遞減方式排序。排序愈後面,表 示該輸入單元愈不重要。
(3) 由(2)可篩選出較重要的輸入單元。
(4) 以篩選的特徵變數重新訓練網路,並比較結果。