マルコフ決定プロセスのマルコフプロセスの以前の要約は、以下を参照してください。マルコフ決定プロセスのマルコフプロセス(マルコフプロセス)
マルコフ決定プロセスのマルコフ報酬プロセス(マルコフ報酬プロセス) )、以下を参照してください。マルコフ決定プロセスのマルコフ報酬プロセス(マルコフ報酬プロセス)
この記事は、マルコフ決定プロセスのベルマン方程式(ベルマン方程式)を要約しています。
1MRPのベルマン方程式
まず、値関数の観点から理解します。値関数は2つの部分に分けることができます。
次の導出式を参照してください。
状態sから状態s + 1まで、はい、最初の行から最後の行まで直接理解することをお勧めします。確かではありませんが、前の例です。
たとえば、ダイスゲームでは、現在のポイントが1の場合、次の状態は1、2、3、4、5、および6のいずれかになります。したがって、最外層に目的のシンボルがあります。
それを押し下げ続けると、疑わしいことに、最後の行が導出されたときにG(t + 1)がv(St + 1)に変更されます。その理由は、収穫の期待が収穫の期待と等しいからです。YeQiangの子供用靴の理解を参照してください。
次に、最後にMRPのベルマン方程式を取得します。方程式
から、v(s)は2つの部分で構成されていることがわかります。1つは、この状態の即時報酬の期待値です。即時報酬の期待値は、即時報酬の定義によれば、次のようになります。次の状態は関係ありません。
状態sからの次の状態s + 1は、ダイスを転がすなど、複数の状態を持つ可能性があるため、次の状態はsから1、2、3、4、5、6を持つ可能性があるため、適合が期待される理由の説明を次に示します。次の州への一定の可能性があるので、満たすことが期待されます。
もう1つは、次の瞬間の状態の期待値であり、次の瞬間の状態の確率分布に従って取得できます。たとえば、上記のダイスの例では、状態1から次の状態1、2、3、4、5、6期待値を見つけるには、確率式p(1-> 1)、p(1-> 2)、p(1-> 3)、p(1-> 4)、p(1-> 5)を直接使用できます。 、p(1-> 6)次に、次の状態に対応する値関数を掛けます。
s 'が状態sの次の瞬間に起こり得る状態を表すために使用される場合、ベルマン方程式は次のように書くことができます。
完全なスライドは次のとおりです。
2例:学生MRPのベルマン方程式
さて、各状態の値関数は上記のベルマン方程式によって繰り返し計算されることがわかって
いるので、上の図から4.3を計算する方法を理解するのに役立つように、状態の値関数を計算する例を示しましょう。下の写真をご覧ください。
この状態の値関数を計算するときに、他の状態の値関数をどのように知っているかを尋ねる子供靴があるかもしれません。
たとえば、4.3を計算する場合、後続の状態の値関数が0.8、10であることをどのようにして知ることができますか。実際、これらの値は最初に任意に初期化でき、後で学習および更新できます。これは、ニューラルネットワークの重みパラメーターと同様です。最初は任意に初期化され、後で損失によって更新されます。
3行列形式のベルマン方程式
最後に、ベルマン方程式の行列形式と、
結合された行列を解く特定の式形式を次のように与えることができます。
スライドの合計は次のとおりです。
ベルマン方程式は線形方程式システムであり、理論的には解を直接解くことができます。
しかし、マトリックスの反転プロセスは0(n ^ 3)であるため、その計算の複雑さは状態の数である0(n ^ 3)です。
ソリューションが非常に複雑なため。したがって、直接ソリューションは小規模のMRPにのみ適しています。
大規模なMRPのソリューションには、通常、反復的な方法が必要です。一般的に使用される反復方法は次のとおりです。
- 動的プログラミング、
- モンテカルロ評価、
- 時系列微分学習時間差、
これらの方法は後で個別に紹介されます。
参照:
David Silver Deep ReinforcementLearningコースレッスン2-Markov決定プロセスYeQiang:
Ye Qiang https://zhuanlan.zhihu.com/p/28084942
推奨読書:
RNNニューラルネットワークがNER(Named Entity Recognition)と出会うとき:双方向LSTM、条件付きランダムフィールド(CRF)、スタックスタックLSTM、文字埋め込み
[深層学習の実際の戦闘] pytorchでのRNN入力可変長シーケンスパディングの処理方法
[機械学習の基本理論]最大事後確率推定(MAP)の理解を説明する
欢迎关注公众号学习交流~