2011-03-25 266 views
1

我正在研究一個項目,該項目擁有一個模擬機器人,通過移動到預定義的「感測位置」來探索未知,但具有圖案的環境(如辦公大樓)。換句話說,在每個點上,機器人必須從可用的可見位置選擇一個新的位置移動到。我們的最終目標是讓機器人學習如何利用環境中的模式來優化全球勘探時間。強化學習 - 根據得分優化權重

機器人通過根據多個關於位置的已知特徵的線性組合給出效用分數來選擇要移動到下一個位置(例如到該點的距離,從該點到所有其他點的平均距離,已經探索的點周圍的區域等)。我的目標是優化這個效用函數的權重,以提供探索整個環境的最快時間。

因爲得分取決於整個探索路徑,所以我不想在探索過程中改變權重。爲了測試權重的組合,我希望模擬的機器人能夠在整個環境中運行這些權重,並獲得最終得分。因此,我可以創建| w | +1 x n數據數組,其中| w |是權重的數量,如下所示:

w1 w2 w3  w4  score 
0.23, 4.30, -0.33, -2.001, 17030 
-1.3, 2.03, -10.1, -0.021, 21983 
3.65, -1.1, 5.021, 0.2301, 19508 
etc... 

我的問題是,什麼樣的強化學習算法最適合這個?我在文獻和研究中發現的大部分內容都與分類有關,顯然多變量回歸不會奏效。我也嘗試過實施一個q-learning算法,但是這並不是真正的工作,因爲根據所採用的路徑和環境結構,存在可變數量的狀態和動作。我真正想要的是某種形式的數據結構,它決定了權重及其組合的值,從而使預期得分最大化。任何幫助/想法?謝謝。

回答

1

你正式的設置(沒有中間的獎勵,沒有在線學習,只是一個最後的比分)的方式是典型的暗箱優化(或進化強化學習)。

其中適當的算法是遺傳算法,進化策略或隨機搜索。國家的本領域的一些算法是:

,每個有不同的風味,取決於你有多少參數,你的分數有多吵,以及你期望有多少局部最優。

對於Python中這些實現的集合,請看PyBrain庫。

+0

這很完美。感謝您的鏈接! – pmwalk 2011-04-21 20:43:35