簡體   English   中英

序貫神經網絡

[英]Sequential Neural Network

我正在嘗試構建一個神經網絡作為生成模型,以預測一系列向量之后的下一個向量(每個向量是長度為n的實數的分布)。

我的想法是采用k先前的序列並將它們連接起來以具有k × n輸入向量。 為了訓練模型,我將序列中的下一個向量作為輸出。 當我在尋找非確定性輸出時,我將使用具有低梯度的sigmoid激活函數。

這個程序看起來合理嗎?

希望它確實如此,我嘗試使用nnetneuralnet庫在R中實現它,但是我遇到的文檔和示例似乎輸入和輸出向量必須具有相同的長度。 在這兩個模塊中訓練不同長度的輸入/輸出向量的語法是什么?

我的輸入向量的示例是:

      [,1]      
 [1,] 0         
 [2,] 0         
 [3,] 0.6       
 [4,] 0.4       
 [5,] 0         
 [6,] 0         
 [7,] 0.06666667
 [8,] 0.6666667 
 [9,] 0         
[10,] 0.2666667 
[11,] 0         
[12,] 0.4       
[13,] 0         
[14,] 0         
[15,] 0.6       

和輸出矢量:

      [,1]    
 [1,] 0         
 [2,] 0         
 [3,] 0.8571429 
 [4,] 0         
 [5,] 0.1428571 

NB上面的樣本有n=5k=3 ,雖然我的實際數據集有n~200 在這兩種情況下,將各個向量標准化為1。

任何幫助深表感謝!

一般來說,這是非常簡單和天真的方法,相反不會產生良好的結果。 您正在嘗試執行從時間序列集到時間序列的回歸,將所有內容視為簡單屬性和簡單模型。 關於時間序列預測已有數千篇論文/研究,代表時間依賴性等。你在這里面臨着一種難以預測的問題,找到好的解決方案需要大量的工作,而且提出的模型很少有機會運作良好。

從你的文本我推斷,你實際上有一系列的時間序列,而對於“時間窗口” [tk,t-k+1,..,t-1]你想要預測的值(時間序列) t 如果這是真的,則這是實際時間序列預測問題,其中每個屬性本身是時間序列,並且可以在此使用所有時間序列相關技術,例如遞歸神經網絡(如果您真的喜歡NN)或條件RBM(如果你真的想要一個非確定性的生成模型 - 因為它們近年來已成功應用於時間序列預測)。

現在很少有其他疑問:

當我在尋找非確定性輸出時,我將使用sigmoid激活函數

Sigmoid激活功能不是非確定性的 如果您正在尋找非確定性模型,您應該考慮一些像RBM這樣的架構,但正如@Ben Allison在評論中提到的那樣,傳統的神經網絡也可以通過一些簡單的修改以概率方式使用。

低梯度。

低梯度是什么意思? 你的激活函數有一個小斜率? 在簡單的訓練程序(如BP算法)的情況下,這將導致有問題的學習

[數據]

您的數據看起來像是對每個時間序列進行了標准化,因此它總和為1 ,這是神經網絡中數據范數化的一種非常流行的方法(您更傾向於按列標准化數據,因此每個維度都是標准化的,而不是每個樣本)。

標題

您的問題和模型不是“順序”,並且不包括“變化的矢量長度”,尋找有關此類現象的論文不會引導您回答您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM