我使用Bike Sharing dataset來預測一天中的租賃數量,並給出了輸入。我將使用2011年的數據進行培訓,並使用2012年的數據進行驗證。我成功地建立了一個線性迴歸模型,但現在我正試圖找出如何使用遞歸神經網絡來預測時間序列。使用遞歸神經網絡的時間序列預測
數據集有10個屬性(例如月,工作日或不工作日,溫度,溼度,風速),所有數字,儘管屬性是日(星期日:0,星期一:1等)。
我認爲有一天可能會取決於前幾天(我不需要全部10個屬性),所以我想過使用RNN。我不太瞭解,但我讀了一些東西,也this。我想到這樣的結構。
我將有10 input neurons
,a hidden layer
和1 output neuron
。我不知道如何決定隱藏層有多少神經元。
我想我需要一個矩陣輸入層連接到隱藏層,一基體,以隱藏層連接到輸出層,和一個矩陣來隱藏層中的相鄰時間步t-1
t
連接,到t
,到t+1
。這是總共3個矩陣。
在一個教程中,激活函數是sigmoid
,儘管我不確定,如果我使用sigmoid函數,我只會得到0和1之間的輸出。應該如何使用激活函數?我的計劃是重複這一n
時間:
- 對於每個訓練數據:
- 正向傳播
- 傳播輸入到隱含層,將它添加到以前隱藏層的傳播到當前的隱藏層。並將其傳遞給激活函數。
- 傳播隱藏層輸出。
- 查找錯誤和它的衍生物,其存儲在一個列表
- 返回傳播
- 查找列表當前層和錯誤
- 查找當前隱層誤差
- 商店更新權重
- 通過multiplyi更新權重(矩陣)學習率。
- 正向傳播
這是做了正確的方法是什麼?我需要真正的數值作爲輸出,而不是0-1之間的數字。
您是否考慮過使用現成的RNN包,如凱拉斯在Python?這可以讓你的任務更輕鬆。 –