1

我必須和Q Learning一起做一些工作,講述一個傢伙必須在房子周圍移動傢俱(基本上就是這樣)。如果房屋足夠小,​​我可以擁有一個代表行動/獎勵的矩陣,但隨着房屋規模越來越大,這還不夠。所以我必須使用某種泛化函數來代替它。我的老師建議我不僅使用一個,而且使用幾個,所以我可以比較它們等等。你們推薦什麼?Q-Learning的泛化功能

我聽說在這種情況下,人們使用支持向量機,也是神經網絡。我不是真的在場內,所以我不知道。我曾經在神經網絡方面有過一些經驗,但是SVM似乎更難掌握。有什麼其他方法可以找到?我知道必須像他們中的數十億,但我需要一些東西才能開始。

感謝

+0

希望你不要介意標記爲功課。提到「老師」讓我覺得這很合適。 – spender 2009-10-09 09:05:17

回答

2

正如術語的複習,在Q學習,你正在努力學習的Q功能,這取決於國家和行動:

Q(S,A) = ???? 

標準版大多數課程教授的Q-learning會告訴您,對於每個S和A,您需要在表格中學習單獨的值,並告訴您如何執行Bellman更新以便收斂到最優值。

現在,讓我們說,而不是你使用不同的函數approximator。例如,讓我們嘗試線性函數。帶上你的(S,A)對,並考慮一些你可以從中提取的功能。一個特徵的例子是「我是否在牆壁旁邊」,另一個例子是「動作是否將物體放置在牆壁旁邊」等等。這些特徵被賦予f1(S,A),f2(S,A),...。 ..

現在,試着學習Q函數爲這些功能

線性函數
Q(S,A) = w1 * f1(S,A) + w2*f2(S,A) ... + wN*fN(S,A) 

你應該如何學習加權W?那麼,因爲這是一項家庭作業,我會讓你自己想一想。

然而,作爲一個提示,可以說,你在每個狀態中有K個可能的狀態和M個可能的動作。假設您定義了K * M個特徵,每個特徵都是您是否處於特定狀態並將採取特定行動的指標。所以

Q(S,A) = w11 * (S==1 && A == 1) + w12 * (S == 1 && A == 2) + w21 * (S==2 && A==3) ... 

現在,請注意,對於任何狀態/動作對,只有一個特徵將是1,其餘的將是0,所以Q(S,A)將等於相應的w和你基本上學習一張桌子。因此,您可以將標準的表格Q學習視爲使用這些線性函數進行學習的特例。所以,想想正常的Q-learning算法的作用,以及你應該做什麼。

希望你能找到一小部分功能,比K * M少得多,這將使你能夠很好地代表你的空間。

+0

再次問候。只知道我理解Q-Learning足以理解你的答案!有什麼地方我可以看看,這更解釋說明你的解釋嗎?謝謝! – 2009-11-14 03:52:15

+1

我懷疑羅素和諾維格(人工智能:一種現代的方法)應該有材料,但我不記得確切。查看http://inst.eecs.berkeley.edu/~cs188/fa09/lectures.html,特別是10/6的講座 – bsdfish 2009-11-15 21:50:02