我想編寫一個使用backpropagation進行天氣預報的程序。我是這個領域的初學者。我有溫度,溼度,風速,降雨等不同參數的歷史數據。使用神經網絡的天氣預報
我對如何將這些數據提供給輸入層感到困惑。每個輸入節點都可以在給定的一天內得到整個數據,還是每個參數需要不同的網絡?我也對輸出層感到困惑。
我想編寫一個使用backpropagation進行天氣預報的程序。我是這個領域的初學者。我有溫度,溼度,風速,降雨等不同參數的歷史數據。使用神經網絡的天氣預報
我對如何將這些數據提供給輸入層感到困惑。每個輸入節點都可以在給定的一天內得到整個數據,還是每個參數需要不同的網絡?我也對輸出層感到困惑。
在輸入層中,每個維度(天氣,風等)都有X個單獨的節點用於輸入數據,其中X是回顧的天數(比如說4-7)。那麼你應該將每個輸入維度標準化在合適的範圍內,比如說[-1.0,1.0]。
有第二層與第一層完全互聯的「隱藏」層(還有一個固定1.0輸入「偏置」節點作爲固定點)。這裏的節點數應該少於輸入層,但這只是一個經驗法則,您可能需要進行試驗。
最後一層是您的輸出層與第二層完全互連(並且有偏差)。每個維度都有一個單獨的輸出神經元。
不要忘記在輸入和輸出上都使用標準化值進行訓練。由於這是一個時間序列,因此您可能不需要隨機化訓練數據的順序,但隨着時間的推移將它們反饋 - 您的網絡也會學習時間關係(運氣:)
(還請注意, 。一個稱爲
假設包含更多相關變量的準確度更高嗎?即使用{Temp,Pressure,Humidity},優於{Rainfall,Windspeed,UV Index}? – 2011-02-11 02:13:36
@Aaron:使用更多相關變量總是會更好,但是如果存在強大的關係,網絡也可能使用其他變量學習。還請注意,可能需要轉換某些數據(例如對數等)以便網絡更好地學習。 – ron 2011-02-13 20:06:07
我已經使用(和自己的)這本書「暫時反向傳播」,其被調諧的時間序列數據)方法:Introduction to Neural Networks with Java
我發現它的有用參考。它涵蓋了相當多的NN主題,包括反向推廣。
如果您有興趣使用Weka,可以嘗試一下Knime,它是一個基於eclipse的工作流程包,其中包含Weka原語。 – 2010-02-07 18:49:56
我很好奇你如何將決策樹應用於這個問題。 – brian 2010-02-08 14:51:06
隨機森林很有趣 – ron 2011-02-13 20:04:55