網路城邦
上一篇 回創作列表 下一篇  字體:
Python機器學習筆記(一):機器學習的濫觴-類神經網路(artificial neural network)
2020/02/21 22:55:38瀏覽1530|回應0|推薦9

Python機器學習筆記():機器學習的濫觴-類神經網路(artificial neural network)

 

機器學習是AI人工智慧的一個獨立分支,其是有關於開發具有自我學習能力的演算法數學模型,以便從數據中導出知識來做預測,而類神經網路可謂是機器學習領域的開路先鋒之一.

接觸類神經網路一詞,是在約20年前,台灣導入信用卡詐欺交易偵測系統之際,當時資訊系統廠商介紹類神經網路功能時,形容其有如人類的大腦,能從已發生的信用卡詐欺交易中自我學習成長,讓自己學會識別信用卡詐欺交易的能力,我這個電腦門外漢聽聞此語,直覺類神經網路有如具神祕法力的科技魔法.

 

類神經網路的概念是在1943年時由Warren McCullockWalter Pitts提出,他們藉由了解生物大腦的工作原理,構想以一個簡單的「邏輯閘」(logic gate)來描述神經細胞,這個神經細胞的「軸突」輸出一個二元值(傳送信號/不傳送信號),而細胞尾端,則接收多個輸入訊號,並在細胞體內整合這些輸入訊號,整合後的訊號若超過某個「門檻值」(threshold), 「細胞核」便會藉由軸突「傳送信號」,如果整合後的訊息未超過「門檻值」,軸突則會「不傳送信號」.

 

其後,Frank Rosenblatt1957年以McCullock-Pitts的神經元模型為基礎,提出感知器(Perceptron)演算法學習規則,它可以自動學習最佳的「加權係數」(weight coefficient),再將這些係數與接收到的多個輸入訊號相乘加總,再依最後的加總結果,決定一個神經元是否要輸出信號.

 

以信用卡詐欺交易偵測為例,假設信用卡詐欺交易,具有X1,X2,…,Xm等m種特徵(多個輸入訊號),W1,W2,…,Wm為各個特徵對應的「加權係數」,我們定義這些係數與接收到的多個輸入訊號相乘的結果為「淨輸入」(net input)Z:

Z = W1X1+W2X2+…+WmXm

 

我們再定義θ為「門檻值」,Φ(Z)則為「判斷函數」(decision function),決定神經元軸突的輸出結果:

(1)    Φ(Z)=1(詐欺交易),假如Z≧θ

(2)    Φ(Z)=-1(不是詐欺交易),假如Z<θ

 

Rosenblatt感知器的自我學習規則很簡單,可以由以下步驟來總結:

  1. 初始化的加權Wj(j=1,2,…,m)0或是一個很小的亂數
  2. 對於每次收到的輸入訊號Xj(j=1,2,…,m)執行以下步驟:

(1)   預測Φ(Z)的結果為1或-1

(2)   預測結果若不正確,更新Wj的值進行學習調整

 

感知器Wj的學習調整規則為

加權係數調整值Wj = η(實際結果預測結果)Xj

η稱為「學習速率」(learning rate),是介於0和1之間的常數.

 

感知器預測結果有下列4種情況,其對應的自我學習調整如下:

  1. 實際上為詐欺交易(1),預測結果也是詐欺交易(1)

Wj = η(1 – 1)Xj = 0

加權係數不用調整

2.實際上為詐欺交易(1),卻預測為不是詐欺交易(-1)

Wj = η(1 – (-1))Xj = η(2)Xj

增加加權係數,提升總和之後的Z值大於「門檻值」θ的機率,改判定為詐欺交易

3.實際上不是詐欺交易(-1),卻預測為詐欺交易(1)

Wj = η(-1 –1))Xj = η(-2)Xj

調降加權係數,提升總和之後的Z值小於「門檻值」θ的機率,改判定為不是詐欺交易

4.實際上不是詐欺交易(-1),預測結果也為不是詐欺交易(-1)

Wj = η(-1 –(- 1))Xj = 0

加權係數不用調整

 

演算法的學習過程,是針對數量龐大的過去歷史交易紀錄及其結果,經過多次的Wj重複調整計算過程,所得出的Wj收斂結果,並依據最終的Wj學習結果,按每筆新增信用卡交易的各項特徵Xj,計算其Φ(Z),預測該筆交易是否為詐欺交易.

( 知識學習其他 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=gwogo&aid=131790814