我正在創建一個工具,用於基於過去的數據預測軟件項目的時間和成本。該工具使用神經網絡來做到這一點,到目前爲止,結果是有希望的,但我認爲我可以通過改變網絡的屬性來做更多的優化。當涉及到這些設置時,似乎沒有任何規則或甚至許多最佳實踐,所以如果有經驗的人可以幫助我,我將不勝感激。用於快速培訓的神經網絡設置
輸入數據由一系列整數組成,可以按照用戶想要去的那樣高,但大多數會低於100,000我會想到的。有些將低至1.它們的詳細信息包括項目中的人員數量和項目成本,以及有關數據庫實體和用例的詳細信息。
總共有10個輸入和2個輸出(時間和成本)。我正在使用Resilient Propagation來訓練網絡。目前它具有:10個輸入節點,1個隱藏層,5個節點和2個輸出節點。我正在接受5%的錯誤率訓練。
該算法必須在網絡服務器上運行,所以我已經採取措施停止培訓,看起來它不會在任何地方。這被設置爲10,000次訓練迭代。目前,當我嘗試使用一些有點多變的數據進行訓練時,但在我們預期用戶投入的範圍內時,訓練需要很長時間,達到10,000次迭代限制並重新開始。
這是我第一次使用神經網絡,我真的不知道會發生什麼。如果你能給我一些關於我應該用於網絡和迭代限制的設置的提示,我將不勝感激。
謝謝!
感謝您的所有信息! 1.我想過對輸入進行歸一化處理,但是當一個數值沒有最大值並且某些數值可能差別很大時我不知道該怎麼做。 2.我嘗試了20個隱藏的神經元,它需要5個多小時而不是幾秒鐘的數據。好像超過10個並不好。 4.數據集的數量取決於用戶投入的數量。我們一直在使用5個左右。 5.我們使用一個名爲Encog的神經網絡框架,我將研究改變勢頭,但我不知道如果可能。 – danpalmer 2010-05-23 20:42:19
6.同樣,我不知道框架如何處理在線培訓,我會研究這一點。 7.數據是連續的,我已經設置了線性激活,因爲我會想象結果應該如何隨輸出而變化。 8.和第2點一樣,我發現有2層的時候,它實現了我強加的限制,並且運行時間更長。 – danpalmer 2010-05-23 20:44:26
大聲笑。我也應該上牀,明天上大學。我已經添加了一些標準化。它不是很好,但所有數據集的值都在0到1之間,預測也不會那麼高。一方面,我的訓練速度提高了18000%。我會繼續測試並嘗試實施其他一些措施,但現在它是一個很好的結果。非常感謝您的幫助! – danpalmer 2010-05-23 21:48:36