戦略を解決するマルコフ決定過程のTD - 学習システムの学習機械(5)を学習強化

転送:https://www.cnblogs.com/pinard/p/9529828.html

1.時間差(時間差)

モンテカルロ法では、我々はすべての経験のサンプリングシーケンスは、状態の完全な配列である必要があります。我々は状態の完全な配列を持っていない場合、それはモンテカルロ法を用いて解くことができません。タイミング差(時間差、TD):本論文では、状態は強化学習の問題を解決するための方法の全配列を使用することはできません話し合います。

1.はじめに、時間差TD

    タイミング差法とモンテカルロ法と同様に、モデルの問題を解決するための強化学習法に基づいていません。だから、強化学習制御の定義と問題を予測するにはまだ適用され、ここで定義されたモデルに基づくものではありません。

    予測問題:学習の5つの要素強化するために与えられていること:状態Sのセット、アクションのセットをA、インスタント報酬R、ポリシーの価値関数Vの状況を解決する減衰率γ、与えられた政策π、(π)

    制御問題:ある、最適値関数とポリシーを検索します。五行の集中的な研究を考える:状態S、Aは、インスタント報酬R、減衰率γ、探査率εは、最適な行動価値関数Q *と、最適な政策πを見つけるアクションのセットのセット*

    リコールモンテカルロ法は、状態収穫に計算されます。

G_T = R_ {T + 1} + \ガンマR_ {T + 2} + \ガンマ^ 2R_ {T + 3} + ... \ガンマ^ {TT-1} R_ {T}

    タイミング差方法として、我々は状態の完全なシーケンスではありません、状態シーケンスの一部のみを行い、その後、どのように収穫がそれのステータスを得近似することができますか?ベルマン方程式を想起:

V _ {\ PI}(S)= \ mathbb {E} _ {\ PI}(R_ {T + 1} + \ガンマV _ {\ PI}(S_ {T + 1})| S_t = S)

    私たちは、このヒューリスティックRtの+ 1 +γV(セント+ 1)収穫はGtの近似の代わりに、我々は一般的にRtを+ 1 +γV(セント+ 1)と呼ばれるターゲットTDを使用することができます。プロセスRtの+代わりに、G(t)を採取し、目標値TDと近似のTD誤差と呼ばれる1 +γV(ST + 1)-V(ST)を室温+ 1 +γV(ST + 1)-V(ST)は、前記しました(ブートストラップ)を案内するために。だから我々はあなたが強化学習の問題を解決しようとすることができ、二つの連続状態とそれに対応する報酬を必要とします。

    今、私たちは、あなたが予測とタイミング差の制御の問題を解決するために行くことができ、私たち自身の収穫Gtの近似式を持っています。

2.時間差TD予測問題解決

    タイミング差予測問題解決と同様のモンテカルロ法が、2つの大きな違いがあります。次のように最初の収穫GTの異なる表現、タイミング差動式G(t)は次のとおりです。

G(T)= R_ {T + 1} + \ガンマV(S_ {T + 1})

    第二は、わずかに異なるレビューモンテカルロ法は、反復式である、反復式の係数です。

V(S_t)= V(S_t)+ \ FRAC {1} {N(S_t)}(G_T  -  V(S_t))

    我々は、タイミングシーケンスで完全に差がないため、該当する番号N(ST)、それは[0,1]で一般に代えて係数αは存在しません。このようなタイミングの差がある値関数反復式:

V(S_t)= V(S_t)+ \アルファ(G_T  -  V(S_t))

Q(S_t、A_tと)= Q(S_t、A_tと)+ \アルファ(G_T  -  Q(S_t、A_tと))

    ここでは、モンテカルロ法とタイミング差法を解く異なる予測問題を見て簡単な例を使用します。

    我々はA、B二つの状態を強化学習の問題があると、モデルの未知の、政策と行動を伴いません。唯一の変換ステータスとインスタント報酬を必要とします。次のように8つの完全な状態シーケンスの合計は以下のとおりです。

    ①A、0、B、0②B、1③B、1件の④B、1⑤B、1⑥B、1⑦B、1⑧B、0

    最初の状態は、状態遷移列、および残りの7つの唯一の状態です。γ= 1の減衰率を設定します。

    モンテカルロ法によるまず、予測の問題を解決します。配列A、Aに含まれる最初の状態、及び第一の配列によって算出従ってのみ値ので、シーケンス収穫状態Aを計算することと等価です。

V(A)= G(A)= RA + 0 =γRB

    Bの場合は、その8つのシーケンスを採取する必要が値を意味し、結果は6/8です。

    タイミング差法を解く過程を見てみましょう。収穫状態シーケンスが状態値のその後の状態がBについて計算するときに適用されている推定値で計算され、それが常に終了するので、状態、後続状態、その値を直接その8シーケンスは、平均値を採取し、結果は6/8です。

    Aの場合は、最初の順序で表示され、その値は次のとおりです。

V(A)= RA +γV(B)= 6/8

    上記の例から、我々は、モンテカルロ法を予測し、差分法をタイミングの問題を解決するとの違いを見ることができます。

    まず、タイミング差の方法を使用すると、結果の不存在下で学ぶことができ、前の結果を知ることを学ぶことができ、モンテカルロは、最終的な結果は学ぶためになるまで待つようにルールのに対し、あなたはまた、現在進行中の環境で学ぶことができる、とのタイミング差分法は、より速く、より柔軟にすることができいくつかのケースで非常に重要な実用的な意義を持っている推定値の更新状況、。

    第二に、更新状態値で使用されるタイミング差分法は、状態を取得する可能性がありますシーケンスの最後に収穫の現在の状態を置き換えるために即時報酬と次の状態の推定値に基づいてTD目標値は、バイアスさの値の現在の状態がされています推定し、収穫の状態値を更新するモンテカルロルールの実際の使用は、モンテカルロ法を支配ポリシー、下非状態の値の不偏推定値です。

    第三に、タイミング差法により得られた値は、偏った推定値であるが、それは、低得るために分散分散法比蒙特卡罗で、通常より効率的な比蒙特卡罗法、初期値に敏感けれども。

    以上の説明から分かるようにタイミング差方式の利点は、今強化学習法を解決する主流は、タイミング差に基づいて、比較的大きいです。今後の記事では、タイミング差法に基づいて展開して主に説明します。

ステップ3のn時間差

    第2のタイミング差方式では、代わりに収穫Rtの+ 1 +γV(ST + 1)を使用しGtを近似。それが私たちの収穫Gtのを近似する一歩前進である、それは前方に2つの段階にすることはできませんか?我々はGtの近似式を収穫するとき確かに、次のとおりです。

G_T ^ {(2)} = R_ {T + 1} + \ガンマR_ {T + 2} + \ガンマ^ 2V(S_ {T + 2})

    二段階、三段階、次いでN段階から、我々は、差動収穫時期ステップN G(N)Tを合計することができるように表現。

G_T ^ {(N)} = R_ {T + 1} + \ガンマR_ {T + 2} + ... + \ガンマ^ {N-1} R_ {T + N} + \ガンマ^ NV(以下S_ { T + N})

    場合、Nが増加すると、無限大になる、または状態の完全な配列を使用する傾向があり、N段階のタイミング差は、モンテカルロ法と同等です。

    差、時間差、及び共通のタイミング差nステップのために回収し、算出した差分です。まあ、そこにこの引数n個のステップは、その後、あるn個のエンド良いのステップ数であるから?Nは、どのようにそれが良いか悪いかを測定するには?私たちは、次のセクションで説明します。

4. TD(L)

    ステップ数nをタイミング差算出パラメータとして選択されているどのように多くの手順優れたハイパーパラメータチューニングの問題をしようとする必要があります。計算の複雑さを増大させることなく、ステップの予測数のすべてを考慮するために、我々は新しい[0,1]パラメータ[ラムダ]を導入し、nは1から∞までのすべてのステップが重量で収穫λ-収穫を定義していますそして、。各ステップは、λ^(N-1)、収穫式λ-かかるは次のように表現される量(1-λ)です。

G_T ^ {\ラムダ} =(1- \ラムダ)\和\ limits_ {N = 1} ^ {\ inftyの} \ラムダ^ {N-1} G_T ^ {(N)}

    そして、我々は、関数の値の反復式のTD(λ)を得ることができます:

V(S_t)= V(S_t)+ \アルファ(G_T ^ {\ラムダ}  -  V(S_t))

Q(S_t、A_tと)= Q(S_t、A_tと)+ \アルファ(G_T ^ {\ラムダ}  -  Q(S_t、A_tと))

    右の収穫重量のすべてのステップは次のように定義される(1-λ)λ^(n-1)は、それがどのようなどのようなものですので、?以下に示される画像は、nは、その右側ステップを増加し、N、指数関数的に減衰量を収穫していることがわかります。時間Tは、最終的な状態、状態を終了し、すべての未割り当ての実際の重量増加に与えられる重量に達したとき。このような状態は、n個の完全な配列は、すべての重みが小さく体重増加重量の現在の状態から、遠く離れて収穫1つの重量まで追加手順を行うことができます。

    正転TD(λ)、Gtと、Gtとから得られ、それ以降のすべての計算の状態の値から間接的に取得したV(ST)の状態値から、ステータス更新値は、後続のすべての状態の値を知っている必要が考えることができます。言い換えれば、状態は現在の状態を更新するための即時報酬の状態の終了を含め、各状態の値を取得するために完全な配列を通過する必要があります。TD(λ)とモンテカルロ法は、同じ欠点を有しているので、これは、モンテカルロ法と同様に、必要です。λ= 0のときλ= 1のとき、タイミング差は、通常の第二ような方法で、モンテカルロ法です。

    我々は、その後の状態の状態の影響を分析することができるビューTD(λ)の反対側の点から。例えば、マウスに連続3個の環と1つの点灯信号を受信した後、最終的にリンギングがより重要な因子である、電気ショックの原因の、分析、ショックた点灯率がより重要ですか?この周波数と呼ばれるリングの多数を受け入れる前に考え電気ショックに供したマウスの原因は、(周波数ヒューリスティック)型触発起因する場合、近年の状態の影響及び衝撃を数回呼び出さ最寄り(新しヒューリスティック)タイプに触発されています。

    あなたは、各状態の値導入する場合は、次の状態の次の状態の影響を表現するためのユーティリティ(資格、E)を、両方の吸気に同時に使用することができます。すべての状態の効用値をまとめユーティリティトレース(適格トレース、ES)をいいます。それは以下のように定義されています。

E0(S)= 0

E_T(S)= \ガンマ\ラムダE_ {T-1}(S)+1(S_t = S)= \開始{ケース} 0 {T <K} \\(\ガンマ\ラムダ)^ {TK}& {T \ GEQ K} \端{}の場合、\; \; ST \。 \ラムダ、\ガンマ\で[0,1]、S \。 \です。 \を訪れ、かつて\; \にあります。 時間\;  K

    この時点でTD(λ)関数値式のように表すことができる。更新します。

\ delta_Tの= R_ {T + 1} + \ガンマV(S_ {T + 1})-V(S_t)

V(S_t)= V(S_t)+ \アルファ\ delta_tE_t(S)

     一部の人々は前方に、この式を尋ねると、式が異なるああ見える逆かもしれないが、それの異なるロジックではないのですか?実際には、両者は同等です。今、私たちは逆の更新式を導出するために、過去を見てください。

\ {整列} G_T ^ {\ラムダ}開始 -  V(S_t)&=  -  \ V(S_t)+(1- \ラムダ)ラムダ^ {0}(R_ {T + 1} + \ガンマV(S_ { T + 1}))\\&+(1- \ラムダ)\ラムダ^ {1}(R_ {T + 1} + \ガンマR_ {T + 2} + \ガンマ^ 2V(S_ {T + 2} ))\\&+(1- \ラムダ)\ラムダ^ {2}(R_ {T + 1} + \ガンマR_ {T + 2} + \ガンマ^ 2 R_ {T + 3} + \ガンマ^ 3V (S_ {T + 3}))\\&+ ... \\&=  -  V(S_t)+(\ガンマ\ラムダ)^ 0(R_ {T + 1} + \ガンマV(S_ {T + 1}) -  \ガンマ\ラムダV(S_ {T + 1}))\\&+(\ガンマ\ラムダ)^ 1(R_ {T + 2} + \ガンマV(S_ {T + 2}) - \ガンマ\ラムダV(S_ {T + 2}))\\&+(\ガンマ\ラムダ)^ 2(R_ {T + 3} + \ガンマV(S_ {T + 3}) -  \ガンマ\ラムダV(S_ {T + 3}))\\&+ ... \\&=(\ガンマ\ラムダ)^ 0(R_ {T + 1} + \ガンマV(S_ {T + 1}) -  V (S_t))\\&+(\ガンマ\ラムダ)^ 1(R_ {T + 2} + \ガンマV(S_ {T + 2}) -  V(S_ {T + 1}))\\&+ (\ガンマ\ラムダ)^ 2(R_ {T + 3} + \ガンマV(S_ {T + 3}) -  V(S_ {T + 2}))\\&+ ... \\&= \ delta_Tの+ \ガンマ\ラムダ\ delta_ {T + 1} +(\ガンマ\ラムダ)^ 2 \ delta_ {T + 2} + ... \端{整列}

    従来のエラーと一致する、実際に見られ、TD TD誤差を逆転させることができます。

差分を解決5.タイミング制御の問題

    现在我们回到普通的时序差分,来看看它控制问题的求解方法。回想上一篇蒙特卡罗法在线控制的方法,我们使用的是ϵ−贪婪法来做价值迭代。对于时序差分,我们也可以用ϵ−贪婪法来价值迭代,和蒙特卡罗法在线控制的区别主要只是在于收获的计算方式不同。时序差分的在线控制(on-policy)算法最常见的是SARSA算法。

    而除了在线控制,我们还可以做离线控制(off-policy),离线控制和在线控制的区别主要在于在线控制一般只有一个策略(最常见的是ϵ−贪婪法)。而离线控制一般有两个策略,其中一个策略(最常见的是ϵ−贪婪法)用于选择新的动作,另一个策略(最常见的是贪婪法)用于更新价值函数。时序差分的离线控制算法最常见的是Q-Learning算法,我们在下篇单独讲解。

5.1. SARSA算法的引入

    SARSA算法是一种使用时序差分求解强化学习控制问题的方法,回顾下此时我们的控制问题可以表示为:给定强化学习的5个要素:状态集S, 动作集A, 即时奖励R,衰减因子γ, 探索率ϵ, 求解最优的动作价值函数q∗和最优策略π∗。

    这一类强化学习的问题求解不需要环境的状态转化模型,是不基于模型的强化学习问题求解方法。对于它的控制问题求解,和蒙特卡罗法类似,都是价值迭代,即通过价值函数的更新,来更新当前的策略,再通过新的策略,来产生新的状态和即时奖励,进而更新价值函数。一直进行下去,直到价值函数和策略都收敛。

    我们的SARSA算法,属于在线控制这一类,即一直使用一个策略来更新价值函数和选择新的动作,而这个策略是ϵ−贪婪法,在系统学习机器学习之增强学习(四)--马尔可夫决策过程策略MC求解中,我们对于ϵ−贪婪法有详细讲解,即通过设置一个较小的ϵ值,使用1−ϵ的概率贪婪地选择目前认为是最大行为价值的行为,而用ϵ的概率随机的从所有m个可选行为中选择行为。用公式可以表示为:

\pi(a|s)= \begin{cases} \epsilon/m + 1- \epsilon & {if\; a^{*} = \arg\max_{a \in A}Q(s,a)}\\ \epsilon/m & {else} \end{cases}

2. SARSA算法概述

    作为SARSA算法的名字本身来说,它实际上是由S,A,R,S,A几个字母组成的。而S,A,R分别代表状态(State),动作(Action),奖励(Reward),这也是我们前面一直在使用的符号。这个流程体现在下图:

    在迭代的时候,我们首先基于ϵ−贪婪法在当前状态S选择一个动作A,这样系统会转到一个新的状态S′, 同时给我们一个即时奖励R, 在新的状态S′,我们会基于ϵ−贪婪法在状态S‘′选择一个动作A′,但是注意这时候我们并不执行这个动作A′,只是用来更新的我们的价值函数,价值函数的更新公式是:

Q(S,A) = Q(S,A) + \alpha(R+\gamma Q(S',A') - Q(S,A))

    其中,γ是衰减因子,α是迭代步长。这里和蒙特卡罗法求解在线控制问题的迭代公式的区别主要是,收获Gt的表达式不同,对于时序差分,收获Gt的表达式是R+γQ(S′,A′)。

    除了收获Gt的表达式不同,SARSA算法和蒙特卡罗在线控制算法基本类似。

3. SARSA算法流程

    下面我们总结下SARSA算法的流程。

    算法输入:迭代轮数T,状态集S, 动作集A, 步长α,衰减因子γ, 探索率ϵ,

    输出:所有的状态和动作对应的价值Q

    1. 随机初始化所有的状态和动作对应的价值Q. 对于终止状态其Q值初始化为0.

    2. for i from 1 to T,进行迭代。

      a) 初始化S为当前状态序列的第一个状态。设置A为ϵ−贪婪法在当前状态S选择的动作。

      b) 在状态S执行当前动作A,得到新状态S′和奖励R

      c) 用ϵ−贪婪法在状态S′选择新的动作A′

      d) 更新价值函数Q(S,A):

Q(S,A) = Q(S,A) + \alpha(R+\gamma Q(S',A') - Q(S,A))

      e) S=S′,A=A′

      f) 如果S′是终止状态,当前轮迭代完毕,否则转到步骤b)

    这里有一个要注意的是,步长α一般需要随着迭代的进行逐渐变小,这样才能保证动作价值函数Q可以收敛。当Q收敛时,我们的策略ϵ−贪婪法也就收敛了。

4. SARSA算法实例:Windy GridWorld

    下面我们用一个著名的实例Windy GridWorld来研究SARSA算法。

    如下图一个10×7的长方形格子世界,标记有一个起始位置 S 和一个终止目标位置 G,格子下方的数字表示对应的列中一定强度的风。当个体进入该列的某个格子时,会按图中箭头所示的方向自动移动数字表示的格数,借此来模拟世界中风的作用。同样格子世界是有边界的,个体任意时刻只能处在世界内部的一个格子中。个体并不清楚这个世界的构造以及有风,也就是说它不知道格子是长方形的,也不知道边界在哪里,也不知道自己在里面移动移步后下一个格子与之前格子的相对位置关系,当然它也不清楚起始位置、终止目标的具体位置。但是个体会记住曾经经过的格子,下次在进入这个格子时,它能准确的辨认出这个格子曾经什么时候来过。格子可以执行的行为是朝上、下、左、右移动一步,每移动一步只要不是进入目标位置都给予一个 -1 的惩罚,直至进入目标位置后获得奖励 0 同时永久停留在该位置。现在要求解的问题是个体应该遵循怎样的策略才能尽快的从起始位置到达目标位置。

    逻辑并不复杂,完整的代码在我的github。这里我主要看一下关键部分的代码。

    算法中第2步步骤a,初始化SS,使用ϵ−ϵ−贪婪法在当前状态SS选择的动作的过程:

复制代码

    # initialize state
    state = START

    # choose an action based on epsilon-greedy algorithm
    if np.random.binomial(1, EPSILON) == 1:
        action = np.random.choice(ACTIONS)
    else:
        values_ = q_value[state[0], state[1], :]
        action = np.random.choice([action_ for action_, value_ in enumerate(values_) if value_ == np.max(values_)])

复制代码

    算法中第2步步骤b,在状态SS执行当前动作AA,得到新状态S′S′的过程,由于奖励不是终止就是-1,不需要单独计算:

复制代码

def step(state, action):
    i, j = state
    if action == ACTION_UP:
        return [max(i - 1 - WIND[j], 0), j]
    elif action == ACTION_DOWN:
        return [max(min(i + 1 - WIND[j], WORLD_HEIGHT - 1), 0), j]
    elif action == ACTION_LEFT:
        return [max(i - WIND[j], 0), max(j - 1, 0)]
    elif action == ACTION_RIGHT:
        return [max(i - WIND[j], 0), min(j + 1, WORLD_WIDTH - 1)]
    else:
        assert False

复制代码

    算法中第2步步骤c,用ϵ−ϵ−贪婪法在状态S‘S‘选择新的动作A′A′的过程:

复制代码

        next_state = step(state, action)
        if np.random.binomial(1, EPSILON) == 1:
            next_action = np.random.choice(ACTIONS)
        else:
            values_ = q_value[next_state[0], next_state[1], :]
            next_action = np.random.choice([action_ for action_, value_ in enumerate(values_) if value_ == np.max(values_)])

复制代码

    算法中第2步步骤d,e, 更新价值函数Q(S,A)Q(S,A)以及更新当前状态动作的过程:

复制代码

        # Sarsa update
        q_value[state[0], state[1], action] += \
            ALPHA * (REWARD + q_value[next_state[0], next_state[1], next_action] -
                     q_value[state[0], state[1], action])
        state = next_state
        action = next_action

复制代码

    代码很简单,相信大家对照算法,跑跑代码,可以很容易得到这个问题的最优解,进而搞清楚SARSA算法的整个流程。

5. SARSA(λ)

    在系统学习机器学习之增强学习(五)--马尔可夫决策过程策略TD求解中我们讲到了多步时序差分TD(λ)的价值函数迭代方法,那么同样的,对应的多步时序差分在线控制算法,就是我们的SARSA(λ)。

    TD(λ)有前向和后向两种价值函数迭代方式,当然它们是等价的。在控制问题的求解时,基于反向认识的 SARSA(λ)算法将可以有效地在线学习,数据学习完即可丢弃。因此 SARSA(λ)算法默认都是基于反向来进行价值函数迭代。

    在上一篇我们讲到了TD(λ)状态价值函数的反向迭代,即:

\delta_t = R_{t+1} + \gamma V(S_{t+1}) -V(S_t)

V(S_t) = V(S_t) + \alpha\delta_tE_t(S)

    对应的动作价值函数的迭代公式可以找样写出,即:

\delta_t = R_{t+1} + \gamma Q(S_{t+1},A_{t+1}) -Q(S_t, A_t)

Q(S_t, A_t) = Q(S_t, A_t) + \alpha\delta_tE_t(S,A)

    除了状态价值函数Q(S,A)的更新方式,多步参数λ以及反向认识引入的效用迹E(S,A),其余算法思想和SARSA类似。这里我们总结下SARSA(λ)的算法流程。   

    算法输入:迭代轮数T,状态集S, 动作集A, 步长α,衰减因子γ, 探索率ϵ, 多步参数λ

    输出:所有的状态和动作对应的价值Q

    1. 随机初始化所有的状态和动作对应的价值Q. 对于终止状态其Q值初始化为0.

    2. for i from 1 to T,进行迭代。

      a) 初始化所有状态动作的效用迹E为0,初始化S为当前状态序列的第一个状态。设置A为ϵ−贪婪法在当前状态S选择的动作。

      b) 在状态S执行当前动作A,得到新状态S′和奖励R

      c) 用ϵ−贪婪法在状态S′选择新的动作A′

      d) 更新效用迹函数E(S,A)和TD误差δ:

E(S,A) = E(S,A)+1

\delta= R_{t+1} + \gamma Q(S_{t+1},A_{t+1}) -Q(S_t, A_t)

      e) 对当前序列所有出现的状态s和对应动作a, 更新价值函数Q(s,a)和效用迹函数E(s,a):

Q(s,a) = Q(s,a) + \alpha\delta E(s,a)

E(s,a) = \gamma\lambda E(s,a)

      f) S=S′,A=A′

      g) 如果S′是终止状态,当前轮迭代完毕,否则转到步骤b)

      对于步长α,和SARSA一样,一般也需要随着迭代的进行逐渐变小才能保证动作价值函数Q收敛。

6. SARSA小结

    サーザ動的プログラミングアルゴリズムと比較して、状態遷移モデルは、環境を必要とせず、モンテカルロ法と比べ状態の完全な配列を必要とし、従ってより柔軟ありません。より広く使われている強化学習の伝統的な方法で。

    しかしサーザアルゴリズムは、従来の強化学習法に共通する問題は、あまりにも複雑な問題を解決することができないでいます。私たちの状態や行動は、何百万、十万人に達している場合サーザアルゴリズムでは、Qの値(S、A)は、大きなテーブルを格納するために使用され、この大きなテーブルでも、スーパーになりますメモリに保存する必要がありますオーバーフロー、したがって、大規模な問題を解決するために非常に適していません。もちろん、特に複雑ではない問題は、問題解決の方法を学ぶまだ非常に良い強化をサーザを使用しています。

    次はサーザ姉妹アルゴリズム、タイミング差分オフライン制御アルゴリズムQ学習を議論します。

7.タイミング差の概要

    タイミング差とモンテカルロ法は、より強力な学習よりも柔軟性、および強化学習の問題を解決するため、現在の主流の方法であり、そして今も強化学習強化学習の解決のほとんどは思考の深さに基づいているが、タイミングの差に基づいていますA。したがって、我々は背中に焦点を当てます。

8.おわり

    マルコフ決定過程は、我々が判断するために、ここで議論する非MDPまずあり、それは伝達関数の報酬関数と操作である確率です。次の状態s'に進む後に採取した状態sにおいても確率です。ここでも、Q学習強化学習における重要な概念であり、本質は状態s V(S)に関連しているとの関連Q.に変換 高Q-学習と、より多くのコンテンツを記述トム・ミッチェルの「機械学習」最終章を、お勧めします。最後に、これはベルマン方程式と呼ばれる、「アルゴリズムの概要」であっベルマン・フォードダイナミックプログラミングアルゴリズムが探索最も価値が負に重み付けグラフの最短経路の重みを解決するために使用することができる非常に、収束の証拠であります値。一部の学者は、慎重に強化学習と動的計画法との関係を分析しました。

おすすめ

転載: blog.csdn.net/App_12062011/article/details/92082148