2015年5月22日 星期五

類神經網路

類神經網路

類神經網路是一種使用數學方法,透過電腦的快速計算能力,而使得電腦能夠具有推論結果能力的人工智慧機器。它必須經過學習的過程才能夠擁有推論能力,也就是說要有人告訴它什麼樣的情況會得到什麼樣的結果,你告訴它越多正確的範例(狀況+結果)它就能夠正確的回答你,甚至於沒有學過的範例,它也能告訴你可能的結果。

它還有一個好處,就是類神經網路并不會因為資料的大量成長而快速長大,而是一個固定的大小,也就是說除非你給的狀況或者結果的數量改變,否則并不需要變動網路架構,這使得對於記憶體上的需求變得可以預測,例如類神經網路最好的應用--手寫辨識,它可以讓手寫辨識裝置的記憶體空間是可以預測的,因為字就那麼多,而手寫板的感應點也是固定的,所以在設計硬體的時候就能夠把記憶體空間固定下來。

對於這樣的作用能力,如果使用資料庫來做,那就只能夠建立一個龐大的資料庫,讓使用者自己去查,而由於資料庫過於龐大,使用者要從裡面找到正確的答案將是非常的困難,例如客戶關係管理(CRM)裡面的許多環節就是極度需要能夠從龐大的資料庫中快速的找到少量而正確的一個例子。


類神經網路一度曾是最有名,但卻被了解最少的資料探勘演算方法
類神經網路也被大量應用在各個產業上,原因在於類神經網路可以解決非線性複雜模型的建構、本身沒有太多模型假設限制,以及模型產出有很好的預測能力,但唯一在應用上令人詬病的即是模型結果難以解釋。

舉例而言,透由類神經網路模型,我們可以找到一組郵購商品回應率很高的客戶名單,但是模型卻無法直接告訴我們,客戶會願意郵購這組商品的主要影響因子為何,因而大大降低了模型的實用性。

什麼是類神經網路
類神經網路即是因模擬人類的神經模型而取名,使用許多相連的人工神經元來模仿生物神經網路。透過人工神經元從外界環境或其它神經元取得所需資訊,經過簡單的運算之後,將結果輸出到外界環境或其它神經元,讓這些資訊可作進階使用。



預測模型的解釋變數(輸入)與預測變數(輸出)之間多了一層隱藏層來建立資訊間的關係,隱藏層裡將組合的輸入變數經過活化函數的轉換過程,產生對應的輸出值。輸出值在輸入值超過到一個臨界值前都維持在很小。而當輸入值達到臨界值時,神經單元就會被活化而使輸出值變高。
類神經網路的預測準確,在於透過不斷地模型訓練學習(Training),讓類神經網路能夠透過反覆的學習來修正模型權重。

類神經網路的缺點
類神經網路被廣泛應用的主要原因即在於常能建構出高準確率的預測模型,且因透過隱藏層的函樹轉換過程,不同資料類型與資料範圍的輸入值,都會轉成0到1的值輸出,因此模型不易受極端值影響。但它仍有許多缺失而限制了本身的應用價值,包含:

-    不易解釋
因為類神經網路在輸出入層中間多了層隱藏層的包裹,雖增加模型的解釋敏感度,但在複雜的活化函數轉換過程下,模型像個半黑盒子,更無法直接說明輸入資訊與輸入預測值的關係。

-    沒有變數選擇能力
類神經網路演算方法沒有變數選擇能力,當投入變數對目標變數是否真實具有顯著影響性,只要投入模型,類神經網路皆會將其帶入模型,進行各項權數訓練過程。因此,類神經網路也容易產生過度配適的模型結果。

-    需進行遺失值處理
類神經網路模型的預測式近似於迴歸分析,只不過這裡的線性關係架構在輸出層與隱藏層單元函數間的關係。因此,類神經網路也如同迴歸分析一樣,在進行分析前必須對遺失值進行預處理,否則類神經網路會自動忽略有遺失值的觀測筆數。

沒有留言:

張貼留言