1

目前我正在爲一個項目開發一款AI遊戲。我正在使用UCT算法,並計劃添加對對手移動的預測。對此,我想用神經網絡,但我已經遇到了一些問題:AI中的對手預測的神經網絡

  1. 已經有一些數據上,我想建立一個基本的神經網絡的默認播放器,即一個球員我的避風港以前沒見過。問題是我想更新這個網絡,以適應每個特定的對手。我試圖尋找一種在線神經網絡算法,但目前還不是很成功。你能給我一些建議如何實現這一點?如何根據新數據更新參數而無需從頭開始完全運行培訓?

  2. 編碼是在Java中完成的,我嘗試過使用Weka處理我擁有的數據。然而,我發現的唯一神經網絡分類器是多層感知器。我熟悉單層感知器,我知道它的輸出不是概率(與對數線性或樸素貝葉斯分類器相反)。多層感知器也不具有生成能力嗎?如果是這樣,那麼使用它輸出的「分數」作爲概率有多不準確?我應該使用不同的神經網絡算法嗎?如果是這樣,是否有可用於Java的庫?

非常感謝。

+0

這已在別處進行了調查,取得了良好的效果。 乙狀結腸是生物認知(突觸強度)的原始研究的倒退。突觸是非線性傳遞函數(學習)的模擬模型,本質上是數字化的。 使用方波,不要被相信他們是線性的人混淆。它們是非線性的定義。 http://stackoverflow.com/questions/10018821/multilayer-perceptron-backpropagation/10046631#10046631 – 2014-02-13 05:11:25

回答

1

好了,我雖然對這個多一點,做一些調查研究,我決定進行如下操作:

  1. 因爲我還沒有找到更好的東西,我就乾脆做1個更新使用通常的反向傳播算法來使用新的訓練值。據我所知,用一個新值更新1是其他算法中的常用方法,當人們將它們轉換爲在線學習時。找到正確的學習率可能會很有趣。由於這種方法每次只能執行一次更新,因此反向傳播不需要進行非常多的優化,因此我將編寫我自己的解決方案,並且不會使用任何庫。

  2. 這裏我可能會放棄Weka工具,我會嘗試使用FANN庫來代替。由於在計算默認參數後我不需要使用它,因此它實際上以不同的語言實現並不重要。

請讓我知道,如果你知道更好的解決方案。謝謝。