2

Q学習中にR(s)関数を更新する適切な方法は何ですか?たとえば、エージェントが状態s1に5回アクセスし、報酬[0,0,1,1,0]を受け取ったとします。平均報酬を計算する必要がありますか?たとえば、R(s1)= sum([0,0,1,1,0])/ 5?または、その州で受け取った最近の報酬値に大きな重みを与える移動平均を使用する必要がありますか?私が読んだQ学習の説明のほとんどは、R(s)をある種の定数として扱い、経験が蓄積されるにつれて、この値を時間の経過とともにどのように学習するかをカバーしていないようです。

編集:Q学習のR(s)とマルコフ決定過程のR(s、s')を混同している可能性があります。質問は同じままです。MDPを学習するとき、R(s、s')を更新するための最良の方法は何ですか?

4

2 に答える 2

1

Q-Learningは、貪欲なポリシーの下で、各州のアクション値の移動平均を維持します。ステップの各ペアからの報酬に基づいてこれらの値を計算します。貪欲な政策の下での州の価値は、最善の行動の価値に等しい。Q学習の標準的な説明は、強化学習:はじめにに記載されています。

更新するための「最良の」方法はありませんが、SARSAが適切なデフォルトです。SARSAは、貪欲なポリシーではなく、従うポリシーを学習することを除いて、Qラーニングに似ています。

于 2011-07-17T23:29:41.943 に答える
1

標準のモデルフリーRL(Q学習など)では、報酬関数を学習しません。学習するのは、値関数またはq値関数です。報酬は、環境と対話することによって取得され、状態とアクションのペアについて、時間の経過に伴う累積報酬の期待値(割引)を見積もります。

モデルベースのアプローチを使用している場合、これは異なり、環境のモデル、つまり移行と報酬の機能を学習しようとします。しかし、これはQ学習の場合ではありません。

于 2016-02-26T14:11:42.043 に答える