LTSM循環神經網絡原理梳理

最近越來越懈怠了,工作上預估的進展並不太好,預估的結果常被否掉,因爲業務主觀還是佔主導,他們還是採用excel在做預估,也是怪自己的模型預估結果經常性是偏高的,很多細節性業務影響無法考慮到,模型調整不夠靈活,被採用也是被比例縮減調整後的結果,唉,真的是一點成就感都沒有,不知有沒有那種靈活可調,因素影響權重可控的預估模型。
提取了《基於LSTM循環神經網絡的交通流量預測》文章中部分內容,這篇文章把模型原理寫的非常清晰,這裏記錄下來,便於後續參考使用

  1. 預估模型優缺點
模型 優點 缺點
卡爾曼濾波 能夠消除隨機干擾,狀態變量的估計可以分解 不適合非線性系統的求解
時間序列 考慮觀測序列在時間序列上的關聯依賴性的同時也加入了對跳點的判斷分析來排除隨機因素干擾 1.對於長時間的預測需要考慮更多的隨機因素,由於模型只能利用單因素變量,模型更適用於短時交通流量預測;2.模型參數一旦確定難以更改和調整;3.在原始數據較多的情況下平穩性不足,確定模型參數過程複雜
線性迴歸 可進行一元、多元分析,可以進行線性於非線性分析;可對迴歸方程的擬合程度進行顯著性檢驗,對於確定好的函數關係,一個自變量至鞥你對應一個因變量,保證了結果的唯一性;能夠提供改預測結果的置信度和置信區間,是的預測結果的完整性和可靠性有很好的保障 在自變量和因變量的選取上只是一種猜測,增加了人爲因素的干擾;多次加入新數據的情況下模型的參數粗腰重新計算與預估
支持向量機 能夠解決非線性、高維識別、過度擬合等問題 1.對大規模尋來你樣本求解時會設計到高階矩陣的計算,此時矩陣存儲和求解會佔用計算機的大量內存,對硬件要求比較高;2.傳統的支持向量機只能做二分類法,無法處理實際應用中遇到的多分類問題
BP神經網絡 擁有一般模型沒有的並行處理模式,使得網絡在多輸入變量和多神經元個數的情況下也能在較短的時間內進行各層權值的調整;且具有很好的容錯性和魯棒性,以及非線性映射能力,集成性 容易陷入局部最優解且網絡的隱含層數目上缺少有效的指導理論;若網絡訓練步數過少則預測能力不夠,若過多容易出現過擬合
灰色系統 不要求樣本具有規律分佈,可用於樣本量較少的情況,能夠對大量的樣本特徵進行提取分析 數據預處理過程中,灰色系統通過累加合成來處理隨機性數據,而這種隨機性原本就反應了事物發展規律,累計合成會失去這些有用的規律,數據可信度降低;建模過程中用指數擬合的形式建立模型,沒有結合數據背後真正反應的特徵與規律
  1. 神經網絡介紹
    2.1. 人工神經網絡的操作兩類:訓練操作、召回操作
    在這裏插入圖片描述
    人工神經元的結構可描述如下:
    神經元的輸入向量 :
    在這裏插入圖片描述
    連接權值向量
    在這裏插入圖片描述
    假設神經元j的閾值爲θj,若閾值節點的偏置固定表示爲x0=1,連接權值表示爲w0j=-θj
    ps:對於閾值的理解如下圖:
    在這裏插入圖片描述

神經元j的加權輸入和爲
在這裏插入圖片描述
則,f()稱爲激勵函數,神經元j的輸出狀態爲:
在這裏插入圖片描述
常用激勵函數的形式有:
線性函數:
在這裏插入圖片描述
閾值型函數:
在這裏插入圖片描述
非線性函數:
常用Sigmoid函數,在s處的斜率決定了增益的大小:
在這裏插入圖片描述
雙曲正切函數
在這裏插入圖片描述
Sigmoid函數和雙曲正切函數形狀相同s型曲線,輸入信號大小[-1,1],選用雙曲正切函數。
概率型函數,即輸出0,1的概率:
在這裏插入圖片描述

綜上神經元j的輸出爲:
xj與wj含x0與woj時,
在這裏插入圖片描述
2.2. BP神經網絡
BP神經網絡全稱是誤差反向傳播神經網絡,BP神經網絡的輸入層神經元收到輸入模式對後,得到激活值通過隱藏層傳輸至輸出層,輸出層個神經元得到實際相應輸出後,計算實際的相應輸出與期望輸出的差值得到兩者之間的誤差後,順着誤差梯度減少的方向由輸出層到隱含層再到輸入層修正各層神經元的連接權值,反覆執行,直到誤差降低到預先設定的範圍或則和執行步數到達預先設定的上限。
在這裏插入圖片描述
算法描述如下:
在這裏插入圖片描述
以3層BP神經網絡爲例分佈算法如下:
變量定義:

  • 輸入模式向量,m爲學習模式對個數,n爲輸入層單元個數:
    在這裏插入圖片描述
  • 與輸入模式向量對應的期望輸出向量,q爲輸出層單元的個數;
    在這裏插入圖片描述
  • 中間隱藏層的獲取的淨輸入向量,p爲隱藏層單元個數
    在這裏插入圖片描述
  • 隱藏層的輸出向量
    在這裏插入圖片描述
  • 輸出層的淨輸入向量,q爲輸出層單元的個數
    在這裏插入圖片描述
  • 實際輸出向量
    在這裏插入圖片描述
  • 輸入層到隱含層的連接權值
    在這裏插入圖片描述
  • 輸入層到隱含層的閾值
    在這裏插入圖片描述
  • 隱含層到輸出層的連接權值
    在這裏插入圖片描述
  • 隱含層到輸出層的閾值
    在這裏插入圖片描述

算法流程

  1. 初始化,給連接權值W,V,閾值θ,β賦予初始值;
  2. 提供學習模式對( Xk, Yk )給輸入層;
  3. 計算輸入層的輸出,輸入層對於輸入模式不做任何運算,僅將其傳遞至隱含層;
  4. 計算中間隱含層各個神經元的淨輸入和輸出
    在這裏插入圖片描述
  5. 計算輸出層各個神經元的淨輸入和輸出

在這裏插入圖片描述

  1. 根據期望輸出,計算輸出層各個神經元的實際誤差dtk
    在這裏插入圖片描述
  2. 計算隱含層的校正誤差
    在這裏插入圖片描述
  3. 調整隱含層與輸出層之間的連接權值V以及輸出層中各個神經元的閾值β,其中α爲學習速率α∈[0,1]
    在這裏插入圖片描述
  4. 調整輸入層與隱含層之間的連接權值W以及隱含層中各個神經元的閾值θ,γ爲學習速率,γ∈[0,1]
    在這裏插入圖片描述
  5. 提供新的學習模式對,跳轉至步驟3,如此往復循環只到所有的學習模式對完成訓練。
  6. 若網絡的全局誤差E滿足誤差精度E≤ε,則終止,跳至步驟13結束訓練;
  7. 更新網絡訓練步數,如訓練步數未達到預先設定步數的上限,則返回步驟2‘
  8. 結束

2.3. LSTM循環神經網絡
LSTM是指一個在時間序列上重複發生的結構,從結構上來看,常規循環神經網絡可以解決現實中碰到的長期依賴問題。網絡結構圖如下,其中xt表示t時刻輸入層的輸入,ht是t時刻輸出層的輸出,A爲模型的隱層,前一時刻經過隱層處理的信息不僅可以傳遞至輸出層,還可傳遞到後一時刻作爲隱層的輸入之一:
在這裏插入圖片描述
算法描述:
LSTM循環神經網絡具有記憶功能的關鍵在於隱層中的各個隱層單元可以相互連接,如下圖:
在這裏插入圖片描述
未完待續。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章