前篇已經大致上介紹人類模組的辨思模式,這篇主要是介紹最早的人工智慧模組"感知器",感知器為1943年心理學家Warren McCulloch和數理邏輯學家Walter Pitts共同提出了人工神經網絡及人工神經元的數學模型,主要是仿照人類神經觸發達到認知效果。
感知器(Perceptron)主要概念為多個輸入值(x1.x2...),每個輸入值都有個加權值(w1.w2...),輸入值(x)乘上權重(w)的加總大於某個值閥(b)時,此感知器則會觸發。
公式:W1 * X1 + W2 * X2+..... - b>0(觸發)
如上圖此模組有兩個參數輸入權重分別為w1=-0.5,w2=1.3 ,值閥b=0.6,有下面兩筆資料輸入
(1)X1 = 0.2, X2 = 0.6
(2)X1 = 0.7, X2 = 0.4
運算結果:
(1)0.2*(-0.5)+0.6*1.3-0.6=0.08
=>觸發
(2)0.7*(-0.5)+0.4*1.3-0.6=-0.43
=>不觸發
感知學習Perceptron Learning
Perceptron Learning為利用大量已知道結果的資料來訓練感知器,動態改變輸入參數的權重(w1.w2...)。
結果為觸發(True)時Result=1,如果不觸發(False)則Result=-1。
假設目前有兩筆已知結果的訓練資料。
公式: New W=W+X*Result
(1)X1 = 0.2, X2 = 0.6, Result=1
(2)X1 = 0.4, X2 = 0.3, Result= -1
運算結果:
(1)W1=0+0.2*1 =0.2
W2=0+0.6*1=0.6
(2)W1=0.2+0.4*(-1)=-0.2,
W2=0.6+0.3*(-1)=0.3
經過大量資料運算後會得到一組最佳權重(w),當新資料進來時可用感應器預測結果,但是或許因為模組運算只是利用簡單加減關係,所以我發現感知器的訓練很容易受到極端值引響導致預測過於樂觀或悲觀。
感知器學習模組可用於許多決策或感應模組,以下是我利用C#寫的簡易感知器程式範例,包含一個感應辨識模組與單一保單是否可獲利的決策模組範例,歡迎下載。
參考文件:維基百科
留言列表