常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

本章為大家介紹人工神經網絡模型的一些重要知識,重點是BP神經網絡模型

人工神經網絡簡介

  • 人工神經網絡是生物神經網絡的某種模型(數學模型)

  • 人工神經網絡是對生物神經網絡的模仿

  • 人工神經網絡的基本處理單元人工神經元

人工神經元模型

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

人工神經元模型

  • 人工神經元的三要素:

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

人工神經元的三要素

  • 神經元的輸入與輸出:

輸入

net=W﹡X - b = ∑wi•xi - b,神經元的輸入等於多個輸入的加權求和

一般只有當輸入大於某一閾值b時,神經元才會被激活,b稱為神經網絡的偏置

輸出

y=f(net),通過激活函數對輸入進行處理後得到輸出

  • 常見的激活函數(傳遞函數):

線性函數

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

線性函數

非線性斜面函數(Ramp Function)

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

非線性斜面函數

符號函數

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

符號函數

閾值函數

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

閾值函數

Sigmoid函數(S型函數,連續可微)

一些重要的學習算法要求輸出函數可微。

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

S型函數

神經網絡模型的三個要素:

  • 網絡結構或拓撲(連接形式)

  • 神經元的計算特性(激活函數

  • 學習規則

前饋(forward)神經網絡:

BP神經網絡是最具代表性的前饋(forward)神經網絡模型

  • 各神經元接受來自前級的輸入,併產生輸出到下一級無反饋,可用一有向無環圖表示。

  • 網絡中的節點分兩類:輸入節點計算節點(神經元節點)

  • 節點按層(layer)組織 :

    • i 層的輸入只與第 i-1 層的輸出相連

    • 輸入信號由輸入層輸入,由第一層節點輸出,傳向下層

  • 前饋:信息由低層向高層單向流動


  • 可見層

    • 輸入層 (input layer) :輸入節點所在層,無計算能力

    • 輸出層 (output layer) :節點為神經元

  • 隱含層( hidden layer)

    • 中間層,節點為神經元


BP神經網絡模型

  • 各計算單元(神經元節點)的激活函數Sigmoid函數

  • 信號逐層正向傳遞

  • 誤差逐層反向傳播最小均方差

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

三層BP神經網絡模型

BP神經網絡訓練的兩個階段

  • 信號正向傳遞過程

輸入信息從輸入層經隱層逐層、正向傳遞,直至得到各計算單元的輸出

  • 誤差反向傳播過程

輸出層誤差從輸出層開始,逐層、反向傳播,可間接計算隱層各單元的誤差,並用此誤差修正前層的權值.

BP神經網絡參數設定

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

BP神經網絡參數設定

BP網絡的正向傳遞過程

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

正向傳遞過程

BP網絡的反向傳播過程

設定模型誤差準則函數為:最小誤差平方和

梯度法或最速下降法對應的學習規則稱為Delta學習規則,就是利用最後的誤差平方和對權重和偏置求偏導,使得權重和偏置沿著負梯度方向Δ調整較小值(調整量= - η•Δ,η稱為學習率),不斷降低目標函數的取值。

  • 計算輸出誤差

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

輸出誤差

  • 根據輸出誤差調整隱含層到輸出層的權重

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

輸出層的權重調整

  • 根據輸出誤差調整隱含層之間以及輸入層到隱含層的權重

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

隱含層的權重調整

BP神經網絡的算法步驟

  • 第一步,模型相關參數設定

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

參數設定

  • 第二步,重複網絡學習,直至算法收斂

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

神經網絡學習過程

  • 第三步,算法結束,輸出各層連接權值

常用數據挖掘算法從入門到精通 第十二章 人工神經網絡算法

訓練好的神經網絡模型

相關推薦

推薦中...