活學活用類神經網路 --如何運用SAS EM提升類神經網路模型的實用性(1)

類神經網路一度曾是最有名，但卻被了解最少的資料探勘演算方法。類神經網路也被大量應用在各個產業上，原因在於類神經網路可以解決非線性複雜模型的建構、本身沒有太多模型假設限制，以及模型產出有很好的預測能力，但唯一在應用上令人詬病的即是模型結果難以解釋。舉例而言，透由類神經網路模型，我們可以找到一組郵購商品回應率很高的客戶名單，但是模型卻無法直接告訴我們，客戶會願意郵購這組商品的主要影響因子為何，因而大大降低了模型的實用性。 本期專欄Dr.SAS將要介紹如何運用SAS EM來強化類神經網路的實用性，讓分析者一則可以截取類神經網路的優點：最佳準確率模型結果，另一改善類神經網路模型的缺點：難以解釋的半黑盒子模型，透過EM分析節點的應用來提高模型解釋能力。 什麼是類神經網路 類神經網路即是因模擬人類的神經模型而取名，使用許多相連的人工神經元來模仿生物神經網路。透過人工神經元從外界環境或其它神經元取得所需資訊，經過簡單的運算之後，將結果輸出到外界環境或其它神經元，讓這些資訊可作進階使用。     預測模型的解釋變數(輸入)與預測變數(輸出)之間多了一層隱藏層來建立資訊間的關係，隱藏層裡將組合的輸入變數經過活化函數的轉換過程，產生對應的輸出值。輸出值在輸入值超過到一個臨界值前都維持在很小。而當輸入值達到臨界值時，神經單元就會被活化而使輸出值變高。 類神經網路的預測準確，在於透過不斷地模型訓練學習(Training)，讓類神經網路能夠透過反覆的學習來修正模型權重。 類神經網路的缺點 類神經網路被廣泛應用的主要原因即在於常能建構出高準確率的預測模型，且因透過隱藏層的函樹轉換過程，不同資料類型與資料範圍的輸入值，都會轉成0到1的值輸出，因此模型不易受極端值影響。但它仍有許多缺失而限制了本身的應用價值，包含： -    不易解釋 因為類神經網路在輸出入層中間多了層隱藏層的包裹，雖增加模型的解釋敏感度，但在複雜的活化函數轉換過程下，模型像個半黑盒子，更無法直接說明輸入資訊與輸入預測值的關係。 -    沒有變數選擇能力 類神經網路演算方法沒有變數選擇能力，當投入變數對目標變數是否真實具有顯著影響性，只要投入模型，類神經網路皆會將其帶入模型，進行各項權數訓練過程。因此，類神經網路也容易產生過度配適的模型結果。 -    需進行遺失值處理 類神經網路模型的預測式近似於迴歸分析，只不過這裡的線性關係架構在輸出層與隱藏層單元函數間的關係。因此，類神經網路也如同迴歸分析一樣，在進行分析前必須對遺失值進行預處理，否則類神經網路會自動忽略有遺失值的觀測筆數。  針對這些類神經網路的缺點，EM都有解決其分析缺點的對應分析節點可以處理。  首先，遺失值的處理可以透過SAS EM的Impute節點進行遺失值補值處理(詳細Impute節點介紹會在後續專欄再做完整說明)。  其次，針對變數選擇能力，則可藉由迴歸分析節點sequential selection變數選擇方法(Forward/ Backward/ Stepwise)，輔助類神經網路進行重要變數挑選。  最後，針對模型不易解釋的部份，則可以透過前面一系列介紹實用的決策樹節點來解決類神經網路模型難以解釋的問題。 類神經網路實務應用的模型建構流程如下：   圖：類神經網路實務應用EM分析流程           透過迴歸分析節點，分析者可以自訂變數選擇方法，在類神經網路分析前先完成迴歸分析，此時，迴歸分析節點透過自身的變數選擇方法(Forward/ Backward/ Stepwise)所篩選出來的重要影響變數，會自動帶入類神經網路分析節點裡，因此，迴歸分析在此模型流程所扮演的角色，不是建置一個迴歸分析預測模型，而是輔助類神經網路進行重要變數選擇，而避免類神經網路模型有過度配適(over-fitting)的模型結果。如下圖，點選類神經網路參數選項Variables>,在變數清單裡列示各投入變數的角色，自動顯示變數角色為Reject的投入變數，即是經由迴歸分析變數篩選的結果。 (下期繼續介紹EM類神經網路主要參數功能以及如何透過決策樹分析解決類神經網路模型解釋性) 圖：迴歸分析變數篩選結果