1.DNN深度神經網絡
RNN循環神經網絡
CNN卷積神經網絡
2.代價函數
代價函數是一個有點抽象的東西,理論上能反應擬合函數f與真實值y差異的函數都可以用來作爲我們的代價函數
可以理解爲計算出的值與實際值之間的誤差
3.反向傳播神經網絡:(bp神經網絡)
就是對輸入的訓練集,可以根據網絡中的實際輸出與期望輸出之間的誤差來反向調整個連接權值的學習方法。其主要步驟如 下:
1)從樣本數據中隨機性的選取一個樣本數據{Ai,Bi},其中Ai是輸出,Bi是期望
2)輸出通過訓練得出實際輸出yi
3)求誤差D = Bi - yi
4)根據步驟3得到的誤差D,來調整各隱含層之間連接權值
5)對每個樣本重複用以上步驟,直到對整體樣本數據來說,誤差收斂到控制範圍內爲止。
x:開始時的輸入信號
y:神經元的輸出信號
計算公式:1)計算誤差 di=wi*d
2)修改權值 wi=wi+n*di*(df(e)/de)*(x or y)
3.matlab實現bp神經網絡
Epoch:訓練次數
time:訓練時間
performance:性能指標(這個指標可以用用.trainParam.goal參數設定)
Validation Checks:校驗檢查
1)train函數
功能:訓練神經網絡
句法:[net,tr,Y,E,Pf,Af]=train(net,P,T,Pi,Ai)
解釋:P:輸入樣本數據
T:目標樣本數據
Pi:初始化輸入層延遲條件
Ai:初始化層延遲條件
Y:神經網絡的輸出數據,數據格式同輸入的目標樣本數據
E:神經網絡的輸出誤差數據
Pf:訓練後的網絡輸出層延遲條件
Af:訓練後網絡延遲條件
2)newff函數
函數newff建立一個可訓練的前饋網絡。這需要4個輸入參數。
第一個參數是一個Rx2的矩陣以定義R個輸入向量的最小值和最大值。
第二個參數是一個設定每層神經元個數的數組。
第三個參數是包含每層用到的傳遞函數名稱的細胞數組。
最後一個參數是用到的訓練函數的名稱。
3)minmax()函數用於獲取數組中每一行的最小值和最大值
4)premnmx(歸一化函數)
5)sim函數
SimOut = sim('MODEL', PARAMETERS)
model:已構建成功的網絡模型
PARAMETERS:測試數據
相當於windows中的run
6)postmnmx函數
語法:[p,t] = postmnmx(pn,minp,maxp,tn,mint,maxt)
參數:minp,maxp:premnmx函數計算的p矩陣每行的最小值,最大值
mint,maxt:premnmx函數計算的t矩陣每行的最小值,最大值
作用:將矩陣pn,tn映射回歸一化處理前的範圍。postmnmx函數主要用於將神經網絡的輸出結果映射回歸一化前的數據範圍。
參考:
1.https://blog.csdn.net/sinat_38321889/article/details/79182832