字體:小 中 大 | |
|
|
2020/02/21 22:55:38瀏覽1530|回應0|推薦9 | |
Python機器學習筆記(一):機器學習的濫觴-類神經網路(artificial neural network)
機器學習是AI人工智慧的一個獨立分支,其是有關於開發具有自我學習能力的演算法數學模型,以便從數據中導出知識來做預測,而類神經網路可謂是機器學習領域的開路先鋒之一. 接觸類神經網路一詞,是在約20年前,台灣導入信用卡詐欺交易偵測系統之際,當時資訊系統廠商介紹類神經網路功能時,形容其有如人類的大腦,能從已發生的信用卡詐欺交易中自我學習成長,讓自己學會識別信用卡詐欺交易的能力,我這個電腦門外漢聽聞此語,直覺類神經網路有如具神祕法力的科技魔法.
類神經網路的概念是在1943年時由Warren McCullock與Walter Pitts提出,他們藉由了解生物大腦的工作原理,構想以一個簡單的「邏輯閘」(logic gate)來描述神經細胞,這個神經細胞的「軸突」輸出一個二元值(傳送信號/不傳送信號),而細胞尾端,則接收多個輸入訊號,並在細胞體內整合這些輸入訊號,整合後的訊號若超過某個「門檻值」(threshold), 「細胞核」便會藉由軸突「傳送信號」,如果整合後的訊息未超過「門檻值」,軸突則會「不傳送信號」.
其後,Frank Rosenblatt於1957年以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) 預測Φ(Z)的結果為1或-1 (2) 預測結果若不正確,更新Wj的值進行學習調整
感知器Wj的學習調整規則為 加權係數調整值△Wj = η(實際結果 – 預測結果)Xj η稱為「學習速率」(learning rate),是介於0和1之間的常數.
感知器預測結果有下列4種情況,其對應的自我學習調整如下:
△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),預測該筆交易是否為詐欺交易. |
|
( 知識學習|其他 ) |