Sequential Decision Analytics and Modeling 第2版
Back to SDA site →
‹ ›

第7章:応用、再考

ここまで一連の問題設定を見てきたので、いったん立ち止まり、これらの応用例を用いて、Chapter 1 で触れたモデリング上の論点をより深く掘り下げていきます。

Chapter 1 の在庫問題から始めて、これまでに6つのクラスの逐次決定問題を扱いました。それぞれの問題について、決定を行うための1つか2つの戦略を示しました。

先に、4つのクラスの方策を導入しました。これまでに見てきた応用例では、4つのクラスそれぞれの例を見てきました。この章では、4つのクラスをより深く復習し、その後、応用例の集合に戻って、提案された各方策がどのクラスに属するかを特定します。

4つのクラスの方策

まず、4つのクラスの方策は2つのカテゴリに分けられることに注目します。すなわち、方策探索クラスと先読みクラスです。それぞれがさらに2つのクラスに分けられ、合計4つのクラスの方策が生まれます。以下でより詳しく説明します。

方策探索

「方策探索」クラスの方策は、決定を行うための関数の集合の中を探索し、その問題に適した目的を用いて、平均的に最もよく機能する関数を見つけるというものです。ほとんどの場合、これはパラメータ化された方策を特徴づけるパラメータ集合の最良の値を探索することを意味しますが、異なるパラメータ化を評価しなければならない場合もあります。

方策探索型の方策は2つのクラスに分けられます。

PFA も CFA も、調整しなければならないパラメータを持ちます。唯一の違いは、方策が最適化問題を内部に埋め込んでいるかどうかです。どちらも非常に強力であり、さまざまな場面で広く使われています。

先読み近似

先読み近似に基づく方策は、いま決定を行うことによる下流のコスト(または報酬)を近似し、それを初期決定の初期コスト(または報酬)と併せて考えることで構成されます。

\[V_t(S_t) = \min_{x\in\Xcal_s} \big(C(S_t,x) + V_{t+1}(S_{t+1}) \big).\]

$S_{t+1}$ への遷移が、時刻 $t$ には分かっていない情報($W_{t+1}$ に含まれる)を伴う問題が多くあり、これは $S_{t+1}$ が時刻 $t$ において確率変数であることを意味します。この場合、先に行ったように期待値を挿入する必要があり、次が得られます。

\[V_t(S_t) = \min_{x\in\Xcal_s} \big(C(S_t,x) + \E \{V_{t+1}(S_{t+1})\vert S_t,x\} \big).\]

実際には通常、Chapter 5 の近似動的計画法の節で行ったように、価値関数 $V_{t+1}(S_{t+1})$ を近似 $\Vbar_{t+1}(S_{t+1})$ で置き換えなければなりません。こうした近似を研究する分野は、近似動的計画法、強化学習(計算機科学に起源を持つ)、適応動的計画法(工学の制御コミュニティで使われる用語)などの名前で呼ばれています。この場合、方策は次のように与えられます。

\[X^\pi(S_t) = \argmin_{x\in\Xcal_s} \big(C(S_t,x) + \E \{\Vbar_{t+1}(S_{t+1})\vert S_t,x\} \big).\]

決定後状態 $S^x_t$ を使うなら、方策は次のように書けます。

\[X^\pi(S_t) = \argmin_{x\in\Xcal_s} \big(C(S_t,x) + \Vbar^x_t(S^x_t) \big),\]

これは Chapter 5 で示しました。

価値関数を厳密に計算できる応用例を示すために、決定論的最短経路問題を用いました。これは確率的問題でも時に可能ですが、ほとんどの応用では近似的に行わなければなりません。課題は、効果的な方策を生み出すのに十分な品質の計算を行うことです。

価値関数に対する一般的な近似戦略は、次で与えられる線形モデルを使うことです。

\[\begin{align} \Vbar^x_t(S^x_t\vert \theta^{VFA}) = \sum_{f\in\Fcal} \theta^{VFA}_f \phi_f(S^x_t), \label{eq:hybridlinearvfa} \end{align}\]

ここで $(\phi_f(S^x_t))_{f\in\Fcal}$ はユーザーが定義する特徴量の集合であり、$\theta^{VFA}$ は近似動的計画法のアルゴリズムを用いて選ばれるパラメータの集合です。

この線形モデルは、$n$ 回目の反復で状態 $S^n_t$ にいることの価値 $\vhat^n_t$ の「観測値」を収集することで当てはめます。$n-1$ 回の更新後の $\theta^{VFA}$ の推定値を $\thetabar^{VFA,n-1}$ とします。$\vhat^n_t$ を用いて $\thetabar^{VFA,n-1}$ を容易に更新し $\thetabar^{VFA,n}$ を得る方法があります。これにより、次のように書ける VFA 方策が得られます。

\[\begin{align} X^{VFA}_t(S_t\vert \theta^{VFA}) &= \argmax_x \big(C(S_t,x) + \Vbar^x_t(S^x_t\vert \theta^{VFA})\big) \nonumber \\ &= \argmax_x \left(C(S_t,x) + \sum_{f\in\Fcal} \theta^{VFA}_f \phi_f(S^x_t)\right). \label{eq:linearvfa} \end{align}\]

線形モデルを用いて価値関数を近似することは非常に人気がありますが、得られる解の品質に関する理論的保証は実質的にありません。さらに悪いことに、結果が非常に悪くなりうるという経験的な証拠もあります。それでもなお、「数値を得る」ための容易な方法であるため、人気が続いています。

今日また人気があるのは、価値関数を近似するためにニューラルネットワーク(特に深層ニューラルネットワーク)を使うことです。ニューラルネットワークは、$f\in\Fcal$ のための特徴量集合 $(\phi_f(S_t))$ を設計する必要がなくなるため魅力的です。ただし、特に価値関数のノイズの多い観測値を扱わなければならない場合には注意が必要です。ニューラルネットワークの膨大な柔軟性が過学習を引き起こしうるからです。

\[\begin{align} X^{\ast }(S_t) &= \argmin_{x_t\in\Xcal}\Big(C(S_t,x_t) + {} \nonumber \\ & \quad \E_{W_{t+1}} \Big\{\min_{\pi} \E_{W_{t+2}, \ldots, W_T} \Big\{\sum_{t'=t+1}^T C(S_{t'},X^\pi(S_{t'}))\Big\vert S_{t+1}\Big\} \Big\vert S_t,x_t\Big\}\Big). \label{eq:policiesDLA} \end{align}\]

式 $\eqref{eq:policiesDLA}$ を計算できるなら、最適方策が得られます。式 $\eqref{eq:policiesDLA}$ を厳密に解けることはごく稀です。Chapter 5 の基本的な確率的最短経路問題はその一例ですが、これは不確実性が特に単純な形で生じるためです。

ほとんどの応用では、近似先読みモデルを解くことによって $\eqref{eq:policiesDLA}$ を解くことに取り組みます。状態、決定、情報の列を

\[(S_0, x_0, W_1, \ldots, S_t, x_t, W_{t+1}, \ldots),\]

と書く代わりに、時刻 $t$ に解くモデルのための、状態、決定、情報の簡略化された集合を作り、次のように表します。

\[(\Stilde_{tt}, \xtilde_{tt}, \Wtilde_{t,t+1}, \ldots, \Stilde_{tt'}, \xtilde_{tt'}, \Wtilde_{t,t'+1}, \ldots),\]

ここで $\Stilde_{tt’}$ は通常、時刻 $t$ に決定を行う際に作成する先読みモデルにおける、先読みモデル内の時刻 $t’$ の簡略化された状態変数です。$\xtilde_{tt’}$ は先読みモデル内の時刻 $t’$ について作成した(場合によっては簡略化された)決定であり、$\Wtilde_{tt’}$ は先読みモデル内の時刻 $t’$ における簡略化された情報過程です。決定 $\xtilde_{tt’}$ は先読み方策 $\Xtilde^{\tilde \pi}_t(\Stilde_{tt’})$ を用いて行われ、これは計算が容易であるという理由で選ばれた簡略化された方策であるのが通常です。

近似先読みモデルに基づく方策は次のように書けます。

\[\begin{align} X^{DLA}(S_t) &= \argmin_{x_t\in\Xcal}\Big(C(S_t,x_t) + {} \nonumber \\ & \ \Etilde_{\Wtilde_{t,t+1}} \Big\{\min_{\tilde \pi} \E_{\Wtilde_{t,t+2}, \ldots, \Wtilde_{tT}} \Big\{\sum_{t'=t+1}^T C(\Stilde_{tt'},\Xtilde^{\tilde \pi}_t(\Stilde_{tt'}))\Big\vert \Stilde_{t,t+1}\Big\} \Big\vert S_t,x_t\Big\}\Big). \label{eq:policiesapproximateDLA} \end{align}\]

式 $\eqref{eq:policiesapproximateDLA}$ は、図 7.1 の決定木を用いて示されており、将来を見通す際に近似的な状態、決定、不確実性を用いることを図示しています。これらの近似を作ることには、技術と科学の融合が必要です。将来を正確にモデル化することと計算要件とのバランスを取りたいのです。

状態、決定、不確実性の近似を用いた確率的決定木。
図 7.1. 状態、決定、不確実性の近似に加えて、将来の決定を行うための近似方策を用いた確率的決定木。四角のノードは決定を行う箇所であり、円は外生情報を観測する箇所です。

先読み方策 $\tilde \pi$(方策の中の方策と呼ばれることもあります)の設計は、問題に強く依存します。実際、4つのクラスの方策のいずれを使うこともできます。重要なのは、何度も計算しなければならないため、計算的に単純である必要があるということです。先読みモデルは厳密である必要はないことを思い出してください(ほとんどの場合、厳密な先読みモデルを使おうとすればまったく解けません)。そうではなく、将来に行うかもしれない決定を近似することによって、いま良い決定を生み出すと考えられる近似を選んでいるのです。

この手法の応用はすでに見てきた。Chapter 6 の動的最短経路問題では、決定論的な先読みモデルを解くという広く用いられている手法に頼った。そこでは、将来何が起こりうるかについての最良の推定値を用い、決定論的な最適化問題を解いた。この手法は将来の不確実性の影響を無視するが、パラメータ化された決定論的最適化問題を用いるという考え方を導入した。ただし、パラメータをチューニングしなければならない。

これら4つの方策クラス(PFA、CFA、VFA、DLA)は普遍的である。つまり、逐次決定問題(あらゆる逐次決定問題)に対して選ばれるどんな方策も、この4クラスのいずれかに属する。さらに、これらはハイブリッド方策の構成要素にもなりうる。

4つのクラスすべてを例示してきたが、ここで疑問が残る。どれを使えばよいかをどう判断するのか? 目的地への最良の経路を見つける場合のように、明らかに思えることもある。このような問題では、直接先読みが自然な選択となる。しかし、4つのクラスのどれもが有力な候補となる問題も存在する。

4つのクラスすべてをうまく実証できた問題が2つある。Chapter 1 の在庫問題と、Chapter 4 の糖尿病学習問題である。鍵となるのは、今日あまりにも頻繁に行われているように1つだけに注目するのではなく、4つのクラスすべてについて注意深く考えることである。

モデルの再考

本節では、まず状態変数の復習から始めて、さまざまな応用例を巡っていく。その後、これまでに見てきた方策を振り返り、4つのクラスに分類する。

状態変数の再考

学術文献では状態変数が何を意味するのかについてかなりの混乱がある。動的計画法、確率計画法、強化学習に関する書籍において、状態変数とは何かという定義が目立って欠落していることがその証拠である。

このパターンの唯一の例外として際立っているのが最適制御の文献であり、そこでは状態変数の定義がごく一般的である。制御コミュニティでは、状態変数は一般に「時刻 $t$ 以降のシステムをモデル化するために時刻 $t$ において必要なすべての情報」と定義される。しかし欠けているのは、時刻 $t$ 以降のシステムをモデル化するために正確にどのような情報が必要なのかについての記述である。

私たちは状態変数について2つの版を定義する(Reinforcement Learning and Stochastic Optimization、Section 9.4 より)。

状態変数とは:

a) 方策依存版 – 履歴の関数であって、外生情報(および方策)と組み合わせることで、コスト/貢献関数、決定関数(方策)、およびコスト/貢献関数と決定関数に必要な情報をモデル化するために遷移関数が要求する任意の情報を計算するのに必要十分なもの。

b) 最適化版 – 履歴の関数であって、コスト/貢献関数、制約、およびコスト/貢献関数と制約に必要な情報をモデル化するために遷移関数が要求する任意の情報を計算するのに必要十分なもの。

この2つの版が必要なのは、方策の構造を指定したシステムを扱う場合、その方策が必要とする情報をすべて含めることを確実にしなければならないからである。たとえば在庫問題があり、2つの方策を検討するとしよう。1つは将来需要の予測を用いる方策、もう1つは単に発注点補充(order-up-to)方策である。予測は確かに関連がありそうに見えるが、発注点補充方策を用いるならば予測は使われないので、状態変数には含まれないことになる。

ここまでの応用例を一巡し、それぞれの状態変数を振り返っておくと役に立つ。各応用について状態変数を要約する。状況に応じて $S_t$ あるいは $S^n$ と書き、その要素を物理状態変数 $R_t$、情報変数 $I_t$、信念状態変数 $B_t$ に分類していく。

Chapter 1 – この章では2つの在庫問題を導入したが、これらは状態変数のさまざまな趣を引き出すようにも設計されていた。単純な在庫問題は、時刻 $t$ における在庫 $R^{inv}_t$ だけからなる状態変数 $S_t$ によって特徴づけられた。この問題は動的計画法を説明するために最も広く使われている応用の1つである。

より複雑な在庫問題では、次の状態変数が必要であった。

\[S_t = (\underbrace{R^{inv}_t}_{R_t},\underbrace{c_t}_{I_t},\underbrace{f^D_{t,t+1},\sigmabar^D_t,\sigmabar^f_t}_{B_t}).\]

この状態変数は、状態変数における3つのクラスの情報すべてを示している。物理状態変数 $R_t = R^{inv}_t$、その他の情報 $I_t = c_t$、そして信念状態変数 $B_t = (f^D_{t,t+1}, \sigmabar^D_t, \sigmabar^f_t)$ である。ここで $(f^D_{t,t+1},\sigmabar^D_t,\sigmabar^f_t)$ は将来需要 $\Dhat_{t+1}$ の予測平均と誤差の標準偏差、および時刻 $t$ から $t+1$ への予測の変化の標準偏差を表す(予測の変化の平均は0と仮定する)。

Chapter 2 – この章では、次の状態変数をもつ単純な資産売却問題を導入した。

\[S_t = (R^{asset}_t, p_t).\]

ここで物理状態変数 $R_t$ はまだ資産を保有しているかどうかを表し(株を何株保有しているかを表すこともできた)、情報状態 $I_t = p_t$ は株を売却する価格である。

また、次式を用いて資産価格の平滑化推定値を計算するという考え方も導入した。

\[\pbar_t = (1-\alpha) \pbar_{t-1} + \alpha \phat_t.\]

そして、価格 $p_t$ がこの平滑化推定値からどれだけ乖離しているかに基づいて意思決定を行う方策を設計した。このとき状態変数は次のようになる。

\[S_t = \big(\underbrace{R^{asset}_t}_{R_t}, \underbrace{(p_t,\pbar_t)}_{I_t}\big).\]

さて、時刻 $t$ に株を売却すると決めたとき、未知の価格 $p_{t+1}$ で売却し、それが次のように推移するとしよう。

\[p_{t+1} = \eta_0 p_t + \eta_1 p_{t-1} + \eta_2 p_{t-2} + \varepsilon_{t+1},\]

ここで $\varepsilon_{t+1}$ は平均0のノイズ項である。このとき状態変数は次のようになる。

\[S_t = \big(\underbrace{R^{asset}_t}_{R_t}, \underbrace{(p_t,p_{t-1},p_{t-2})}_{I_t}\big).\]

Chapter 3 – ここでは、次式で与えられる古典的な確率的探索の反復に従って進む勾配ベースの探索アルゴリズムを説明した。

\[\begin{align} x^{n+1} = x^n + \alpha_n \nabla_x F(x^n,W^{n+1}). \label{eq:stochasticgradientaltransitionrevisited} \end{align}\]

この手続きは $x$ の最良値を探索する方法だが、これはステップサイズ $\alpha_n$ が決定である逐次決定問題である。$\alpha_n =1/n$ のような決定論的な式でステップサイズを選ぶなら、探索手続きの「状態」は

\[S^n = (x^n).\]

となる。しかし、次のような適応的(確率的)ステップサイズ公式を使うかもしれない。

\[\begin{align} \alpha_n = \frac{\theta}{\theta + N^n - 1} \label{eq:adaptivealpharevisited} \end{align}\]

ここで $N^n$ は勾配 $\nabla_x F(x^n,W^{n+1})$ が向きを変えた回数であり、この場合 $N^n$ を知る必要があるので、状態変数は次のようになる。

\[S^n = (x^n,N^n).\]

Chapter 4 – 糖尿病問題は純粋な学習問題の一例であり、薬剤に対する患者の真の反応 $\mu_x$ を学習しようとしている。いくつかの薬剤を試した後、私たちの信念は次の状態で表せるだろう。

\[S^n = (\underbrace{\mubar^n_x, \sigmabar^n_x}_{B^n})_{x\in\Xcal},\]

ここで真の反応は $\mu_x \sim N(\mubar^n_x, (\sigmabar^n_x)^2)$ と仮定する。

この信念モデルは、患者ごとに異なる信念をもつ場合には機能するかもしれないが、おそらく私たちは、その薬剤が全患者にわたってどのように働くかについての知識体系から出発する。これは初期状態

\[S^0 = (\mubar^0_x, \sigmabar^0_x)_{x\in\Xcal}.\]

として表せるだろう。ここで、$n$ 番目の患者が属性 $a^n$(性別、体重、喫煙歴、…)をもって到着したとしよう。薬剤 $x$ に対する患者の反応は、薬剤と患者の属性の両方に依存する。つまり、状態変数(すなわち意思決定を行うために利用できる情報)は、私たちが制御しない情報(患者の属性 $a^n$)と、私たちが制御する情報(薬剤の選択 $x^n$)から構成される。したがって、状態変数(意思決定に用いる情報)を次のように書くことになる。

\[S^n = (\underbrace{a^n}_{I^n}, \underbrace{(\mubar^n_x, \sigmabar^n_x)}_{B^n})_{x\in\Xcal},\]

ここでは $a^n$ を情報状態変数 $I^n$ に、変数 $(\mubar^n_x, \sigmabar^n_x)$ を信念状態変数 $B^n$ に入れることにした。

Chapter 5 – 確率的最短経路問題では、旅行者がリンクを通過する際にランダムなコストを被るが、ノード $i$ でどのリンク $(i,j)$ を通るかを決定する前にはコストの平均と分散しか知らないという基本的な問題から始めた。この問題では、旅行者の状態は $t$ 本のリンクを通過した後に位置しているノード $N_t$ にすぎず、次のようになる。

\[S_t = N_t.\]

次に、ノード $i$ にいる旅行者が、リンク $(i,j)$ を通った場合に被る実際のコスト $\chat_{tij}$ を見ることができる問題へと移行した。この追加情報により、状態変数は次のようになる。

\[S_t = \left(\underbrace{N_t}_{R_t},(\underbrace{\chat_{t, N_t, j}}_{I_t})_{j\in\Ncal^+_i}\right).\]

Chapter 6 – リンク $(i,j)$ 上の推定コスト $\cbar_{tij}$ が時間とともに変化する動的最短経路問題を考えた。すなわち、時刻 $t+1$ において、$\cbar_{t+1}$ と表す更新された推定値の集合が与えられると仮定する。旅行者がノード $N_t= i$ にいるとしよう。すると、(旅行者にとっての)システムの状態は次で与えられる。

\[S_t = (\underbrace{N_t}_{R_t}, \underbrace{\cbar_t}_{I_t}).\]

ここで、$p_t$ と表す経路——現在のノード $N_t$ から目的地へ到達するために計画しているリンクの集合——を旅行者に提示するとしよう。ちょうど経路を更新し、旅行者に新しい経路を受け入れるかどうか尋ねたとする。彼が「はい」と答えれば、ナビゲーションシステムは再最適化を続けるが、旅行者が受け入れたばかりの最新の経路 $p_t$ に留まることに対して小さなボーナスを導入する(これは、ほぼ同等な2つの経路の間でシステムが振動するのを防ぐために行われる)。

$p_t$ が最も最近受け入れられた経路であれば、これは将来の意思決定に必要な情報である。この場合、状態変数は次のようになる。

\[S_t = (\underbrace{N_t}_{R_t}, (\underbrace{\cbar_t,p_t}_{I_t})).\]

これらの決定問題は、3種類の状態変数すべてを示してきた。すなわち、物理状態変数 $R_t$、情報状態変数 $I_t$、信念状態変数 $B_t$ である。$R_t$ だけの問題、$B_t$ だけの問題、そして $(R_t, I_t)$ や $(I_t, B_t)$ のような $I_t$ との組み合わせ、さらには3つすべての $(R_t, I_t, B_t)$ を見てきた。$R_t$ と $I_t$ の区別は時に恣意的になりうることを強調しておくが、物理的または金融的な資源の管理(購入、売却、移動、変更)を伴い、物理的・金融的資源に影響を与える(あるいはそれによって制約される)決定を伴う問題は非常に多いため、資源のためだけに特別なクラスを設けることが必要だと考えた。

不確実性を伴う問題の多くは学習も伴い、しかも決定が観測内容に影響を与えうる(糖尿病の例のように)ため能動的学習を伴う場合もあると考える。モデル作成者が逐次決定問題に信念状態変数を含めることに慣れるにつれ、それらがより頻繁に使われるようになるだろうと予想している。

方策の再考

6つの応用設定(および場合によってはその拡張)は、4つの方策クラスそれぞれを浮き彫りにするように選ばれた。以下では、さまざまな方策を振り返り、それらが属するクラスを特定する。

Chapter 1 – 2つの在庫問題を導入した。1つは次の形の発注点補充方策を用いた。

\[X^\pi(S_t\vert \theta) = \begin{cases} \theta^{max} - R_t & \text{if } R_t < \theta^{min}, \\ 0 & \text{otherwise,}\end{cases}\]

もう1つは、在庫を予測需要にバッファを加えた水準まで引き上げる方策を用いた。

\[X^\pi(S_t\vert \theta) = \max\{0,f^D_{t,t+1}-R_t\} + \theta.\]

これらの方策はいずれも1つまたは2つのチューニング可能なパラメータを含む。どちらも最適化演算子($\min$ や $\max$)を内包しない解析的な関数である。これらは方策関数近似(PFA)の際立った特徴である。

Chapter 2 – この章では、資産をいつ売却するかを決める問題を扱った。いくつかの方策が提案されたが、代表的な例は次の「セル・ロー(sell-low)」方策

\[X^{sell-low}(S_t\vert \theta^{low}) = \begin{cases} 1 & \text{if } p_t < \theta^{low} \text{ and } R_t = 1, \\ 1 & \text{if } t=T, \\ 0 & \text{otherwise.}\end{cases}\]

と、「トラッキング方策」

\[X^{track}(S_t\vert \theta^{track}) = \begin{cases} 1 & \text{if } p_t \geq \pbar_t + \theta^{track}, \\ 1 & \text{if } t=T, \\ 0 & \text{otherwise.}\end{cases}\]

である。これらの方策はいずれも、チューニング可能なパラメータをもつパラメトリック関数であるという点で「発注点補充」在庫発注方策と類似しており、方策関数近似(PFA)のさらなる例である。これが資産売却問題を解く唯一の方法というわけでは決してないが、このクラスの方策はウォール街でかなり人気がある。

PFA はその単純さと透明性から実務で人気があるが、次のことを心に留めておくことが重要である。単純さの代償はチューニング可能なパラメータであり…そしてチューニングは難しい!

第 3 章 – 適応的市場計画 – この問題では、広く用いられている勾配ベースの探索法(式 $\eqref{eq:stochasticgradientaltransitionrevisited}$ を参照)を使い、ステップサイズ $\alpha_n$ が決定となる。もし決定論的な問題であれば、$\alpha_n$ を次の 1 次元最適化問題を解くことで計算するだろう。

\[\alpha_n = \argmax_{\alpha \geq 0} \big(F(x^n + \alpha \nabla_x F(x^n))\big),\]

これは直接先読み近似(DLA)の一形態である。しかし、不確実性を扱わなければならない場合、1 次元探索は期待値 $F(x) = \E F(x,W)$ を計算できる必要があることを意味し、これは実際には一般に不可能である。代わりに、次のような決定論的方策を用いるかもしれない。

\[\alpha^\pi_n(\theta) = \frac{\theta}{\theta+n-1},\]

ここではこれをパラメータ化された関数(すなわち PFA の一形態)として書いている。また、式 $\eqref{eq:adaptivealpharevisited}$ で与えられる適応的(状態依存の)方策も示した。そこでは $n$ を、勾配が方向を変えた回数を数えるカウンタ $N^n$ に置き換えた(あるいは目的関数が改善しなかった回数を数えることもできる)。この方策は次のように書ける。

\[\alpha^\pi_n(S^n\vert \theta) = \frac{\theta}{\theta+N^n-1},\]

ここで状態 $S^n$ は情報 $N^n$ を保持している。

補足:PFA 型の方策は確率的勾配アルゴリズムで普遍的に使われている。実際にそれが最良である可能性はあるが、現実には他の 3 つの方策クラスを試した人は誰もいない。検討してみる価値はあるだろう。

第 4 章 – 最良の糖尿病治療の学習 – これは純粋な学習問題であり、上側信頼限界(upper confidence bounding)として知られる非常に人気のある方策クラスを用いてアプローチした。おそらく最もよく知られた UCB 方策は次で与えられる。

\[X^{UCB}(S^n\vert \theta^{UCB}) = \argmax_{x\in\Xcal} \left(\mubar^n_x + \theta^{UCB} \sqrt{\frac{\log n}{N^n_x}}\right).\]

非常によく機能する別の変種は、もともと区間推定(interval estimation)として導入されたもので、次で与えられる。

\[X^{IE}(S^n\vert \theta^{IE}) = \argmax_{x\in\Xcal} \left(\mubar^n_x + \theta^{IE} \sigmabar^n_x \right).\]

最後に、1933 年に最初に発見され、その後数年前に再発見された変種がトンプソンサンプリングであり、次で与えられる。

\[X^{TS}(S^n\vert \theta^{TS}) = \argmax_{x\in\Xcal} \muhat^n_x.\]

ここで $\muhat^n_x$ は平均 $\mubar^n_x$、分散 $\theta^{TS} \sigmabar^n_x$ の正規分布からランダムにサンプリングされる。

これら 3 つの方策はいずれも 2 つの特徴を共有していることに注意しよう。すなわち、最適化演算子(これらの方策では $\argmax_x$)と調整可能なパラメータである。これらはパラメータ化された最適化問題と見ることができ、パラメトリック・コスト関数近似(すなわち CFA)のクラスに属する。

CFA 方策は実務では広く使われているが、糖尿病の応用のような学習方策という特定の応用を除いては、学術文献ではほとんど注目されてこなかった。この考え方が後の章で全く異なる設定に適用されるのを見ることになる。

第 5 章 – 静的確率的最短経路 – 最初の確率的最短経路問題では、旅行者が確率的なコストを負担するが、それはリンクを通過した後にのみ知られると仮定した。この仮定により、問題を決定論的最短経路問題として解くことができ、それはベルマン方程式を用いて容易に解ける。得られる方策は次で与えられる。

\[X^\pi_t(S_t=i) = \argmin_{j\in\Ncal^+_i} \big(\cbar_{tij} + V_{t+1}(S_{t+1}=j)\big).\]

ここで $S_t = N_t = i$ は旅行者がいるノードである。価値関数 $V_t(S_t)$ は時間を逆向きに進めて計算され、$t=T$ から始めて、すべてのノード $S_T$ について $V_T(S_T) = 0$ と設定する。これは価値関数近似に基づく方策の一形態であり、VFA 方策が実際に最適となる稀なケースである。

次に、旅行者がノード $i = N_t$ から出るコスト $\chat_{tij}$ を見ることができる、より難しい問題に移った。この問題では、状態変数は $S_t = (N_t, (\chat_{t,N_t,j},~j\in\Ncal^+_i))$ となる。この問題では、決定後状態 $S^x_t = N^x_t$ を用いて価値関数を近似しなければならなかった。ここで $N^x_t$ は、ノード $N_t$ にいるときに決定 $x_t$ を行った後に向かうことを選んだノードである。この場合、方策は次のようになった。

\[X^\pi_t(S_t=i) = \argmin_{j\in\Ncal^+_i} \big(\chat_{tij} + \Vbar^x_t(S^x_t)\big).\]

これも再び VFA ベースの方策であるが、今回は $\Vbar^x_t(S^x_t)$ がデータから推定しなければならない近似であるため、もはや最適ではない。しかし、注意深く扱えば、漸近的に最適な方策を考案することができる。

第 6 章 – 動的確率的最短経路 – ここでは、各リンク $\cbar_{tij}$ の推定コストが時間とともに変化する問題に遭遇する。すなわち、時刻 $t$ において $\cbar_t$ は推定リンクコストのベクトルであり、それが次の時間期には $\cbar_{t+1}$ となる。これは、状態変数が旅行者のいるノードだけである $S_t = N_t$ から、極めて高次元の状態変数である $S_t = (N_t, \cbar_t)$ へと遷移することを意味する。これは近似動的計画法をもってしても取り組めない問題である(この状態変数を中心に構築された VFA を想像するのは困難である)。

代わりに、先読みモデルを使うという考え方を提案する。そこでは、旅行者がネットワークを進むにつれて推定リンクコストのベクトル $\cbar_t$ が時間とともに変化するという事実を無視する。代わりに、それが固定されている(そして決定論的であるとしよう)と仮定できる。これにより、実質的に決定論的最短経路問題である先読みモデルが得られるが、我々が最適化しているのは決定論的な先読みモデルであること、すなわちこれは DLA 方策であることを忘れてはならない。もちろん、これを最適に解く方法は知っているが、近似的な先読みモデルの最適解は最適方策ではない!

決定論的先読みは人気があるが、複雑にすることなくさらに良くする方法がある。その考え方は、平均 $\cbar_t$ ではなくコストの $\theta$ パーセンタイルを使うことを提案したときに導入した。$\ctilde_{tij}(\theta)$ を、時刻 $t$ に分かっていることを所与としたリンク $(i,j)$ のコストの $\theta$ パーセンタイルとしよう。そして、コスト $\ctilde_{tij}(\theta)$ を用いて決定論的先読みモデルを解く。これでパラメータ化された決定論的先読みモデルが得られ、これはパラメトリック CFA と DLA のハイブリッドである。

オンライン目的とオフライン目的

方策の性能を評価する視点は 2 つある。

オンラインとオフラインという用語について一言注意しておく。機械学習のコミュニティでは、「オフライン」とは単一のバッチデータセットを用いたモデルの推定を指す。対照的に、オンライン学習はデータが時間とともに到着する完全に逐次的な設定を指すのに使われる。これは通常、(医院に到着する患者を観察するような)何らかの外生的プロセスによってデータが生成される現場の状況であり、我々が「オンライン」という用語を使うときに想定するのと同じ設定である。しかし、機械学習では「オンライン」はシミュレーションで使われる反復的アルゴリズムを指すのにも依然として使われるだろう。

逐次決定問題を扱う分野全体が、最終報酬に着目するか累積報酬に着目するかで分かれている。例えば、「確率的探索」に取り組むコミュニティは最終報酬に焦点を当てる傾向があり、一方「多腕バンディット問題」(確率的探索問題の一形態)に取り組むコミュニティは一般に累積報酬を最適化する。実のところ、どちらの目的にも同じ方策を使うことができるが、選んだ目的に合わせて調整しなければならない。

オンライン(累積報酬)最適化

方策探索を行う際には、通常 $X^\pi(S_t\vert \theta)$ と書けるパラメータ化された方策を持っている。決定 $x_t = X^\pi(S_t\vert \theta)$ は製品の価格、血圧薬の選択、あるいは広告クリックを最大化するために入れる入札額かもしれない。これらすべての場合において、進めながら学習しなければならず、それは学習しながら性能を最大化する必要があることを意味する。

$C(S_t,x_t)$ を我々の性能指標(収益、血圧の低下、広告クリックからの純収益)とする。次の最適化問題を解く方策 $X^\pi(S_t\vert \theta)$ を生み出す $\theta$ を見つけたい。

\[\begin{align} \max_\theta F^\pi(\theta) = \E_{S_0} \E_{W_1, \ldots, W_T\vert S_0} \left\{\sum_{t=0}^T C(S_t,X^\pi(S_t\vert \theta))\vert S_0\right\}, \label{eq:derivativebasedonline} \end{align}\]

ここで $S_{t+1} = S^M(S_t, X^\pi(S_t\vert \theta),W_{t+1})$ である。$\eqref{eq:derivativebasedonline}$ における期待値は、$W_1, \ldots, W_T$ のすべての可能な実現、および初期状態 $S_0$ に含まれる不確実なパラメータの可能な値(市場反応に関する不確実な初期信念や、ある人が薬にどう反応するかなど)にわたって取られる。

式 $\eqref{eq:derivativebasedonline}$ は「オンライン」あるいは「累積報酬」目的関数の例であり、ある期間にわたるすべての報酬の和を最大化したいからである。これは、価格からの収益や特定の患者に対する薬剤の効果のように性能を学習しなければならないオンライン学習問題において特に興味深く、学習のプロセスとできるだけ良い成績を出そうとすることのバランスを取ることを意味する。

オフライン(最終報酬)最適化

オフラインの設定では、通常 $N$ 回の実験という予算がある。オフラインの微分不要学習を説明するのにしばしば使われる古典的な(適切とは言えないが)問題は、第 3 章 で扱った新聞売り子問題である。復習として、新聞売り子問題は次のように書かれる。

\[F(x) = \E_W \big(p \min\{x,W\} - cx\big),\]

ここで $x$ は単価 $c$ で発注する資源の量であり、これが需要 $W$($x$ を選ぶ時点では未知)を満たすために使われる。$W$ の分布は未知であると仮定する。

$x^n = X^\pi(S^n\vert \theta)$ を、$S^n$ に捉えられた既知情報を所与とした $x$ の選択とする。ここで方策 $X^\pi(S^n\vert \theta)$ は $\theta$ 内の 1 つ以上のパラメータに依存する。$x^n$ を実行した後、$W^{n+1}$ を観測し、$S^{n+1}$ を更新して、そのプロセスを繰り返す。$N$ 回の反復の後、$x^{\pi,N}(\theta)$ と表す最終設計が得られる。

次に、最終設計 $x^{\pi,N}(\theta)$ を評価しなければならない。この評価を行うには、2 つ、場合によっては 3 つの不確実性の源を考慮する必要がある。第 1 に、$W$ の平均のような未知パラメータに不確実性があるかもしれない。例えば、$W$ が平均 $\mu$ のポアソン分布から来ているかもしれず、$p_k = Prob[\mu = \mu_k]$ として $\mu \in \lbrace \mu_1, \ldots, \mu_K\rbrace $ と仮定するかもしれない。分布 $(p_k)_{k=1}^K$ は初期状態 $S_0$ に含まれる。

次に、平均 $\mu$ の分布からサンプリングされる需要 $W^1, \ldots, W^N$ のランダムな到着がある。これらの観測と方策 $X^\pi(S^n\vert \theta)$ を用いて $x^{\pi,N}(\theta)$ を計算する。$x^{\pi,N}(\theta)$ が、(決定論的かランダムかにかかわらず)$S^0$ 内の任意の情報に依存する確率変数であることを認識するのが重要である。

$x^{\pi,N}(\theta)$ を計算した後、それがどれだけうまく機能するかを評価するために最終のシミュレーション一式を実行しなければならない。最終設計の評価に使う $W$ のサンプルを表すために、新しい確率変数 $\What$ を導入する。

この記法により、オフライン学習の目的関数を次のように書くことができる。

\[\begin{align} \max_\theta F^\pi(\theta) = \E_{S^0} \E_{W^1, \ldots, W^N\vert S^0} \E_{\What\vert S^0} F(x^{\pi,N}(\theta),\What).\label{eq:derivativebasedoffline} \end{align}\]

期待値を書くのは、ランダムな情報にわたって平均を取らなければならないことを示す方法にすぎないことを強調しておく。これらの期待値を計算する問題は次に扱う。

方策の評価

累積報酬($\eqref{eq:derivativebasedonline}$ で与えられる)と最終報酬($\eqref{eq:derivativebasedoffline}$ で与えられる)の目的関数はいずれも期待値を用いて書かれており、これはランダムなものにわたって平均を取るという意味である。数学的に書くには良いが、これらは実質的にほぼ決して計算可能ではない。

期待値を取る必要があるときはいつでも、サンプリングを通じて期待値を推定するつもりだと仮定すると理解しやすくなります。まず、$\eqref{eq:derivativebasedonline}$で与えられる累積報酬目的についてこれをどう行うかを示します。ここでは、初期状態$S_0$の中に不確実な量が含まれているかもしれません。たとえば、市場が価格にどう反応するかの不確実性、油井によるメタン生成量、あるいは患者が薬にどう反応するかなどです。次に、外生情報$W_1, \ldots, W_T$があります。これは販売の観測値、大気温度の変化、あるいは患者が投薬にどう反応するかなどです。

$\omega$を、これらすべての不確実な量のサンプル実現値としましょう。これらすべての不確実な量のサンプル集合を生成し、集合$\Omega = \lbrace \omega^1, \ldots, \omega^K\rbrace $に保存すると仮定します。したがって、$W_t(\omega)$と書くときはいつでも、これは時刻$t$に観測するもののサンプル実現値です。方策$X^\pi(S_t\vert \theta)$を用いている場合、遷移関数によって支配される状態$S_t(\omega)$、決定$x_t(\omega) = X^\pi(S_t(\omega)\vert \theta)$、外生情報$W_{t+1}(\omega)$のサンプルパスをたどることになります。

\[S_{t+1}(\omega) = S^M(S_t(\omega), x_t(\omega), W_{t+1}(\omega)).\]

サンプル観測値の集合$\Omega$を用いて、期待値$F^\pi(\theta)$を次のように近似できます。

\[\begin{align} \Fbar^\pi(\theta) = \frac{1}{K} \sum_{k=1}^K \sum_{t=0}^T C(S_t(\omega^k),X^\pi(S_t(\omega^k)\vert \theta)). \label{eq:simulatedcumulativereward} \end{align}\]

最終報酬目的を用いている場合、まず$x^{\pi,N}(\theta)$を推定する必要があります。サンプルパス$\omega$をたどるなら、最終的な設計を$x^{\pi,N}(\omega\vert \theta)$と書くことになります。ここで$\omega$は、$(S_0(\omega), W_1(\omega), \ldots, W_T(\omega))$によって与えられる学習を実行するために用いたすべてを捉えています。

次に、$\What$に含まれるテストデータを用いて設計$x^{\pi,N}(\omega\vert \theta)$を評価する必要があります。$\psi$を$\What$のサンプル実現値とし、$\omega$に対してサンプル集合$\Omega$を持つと仮定したのと同様に、$\Psi = \lbrace \psi^1, \ldots, \psi^L\rbrace $で与えられる$\What$のサンプル結果の集合を作成すると仮定しましょう。$\What$は、設計$x^{\pi,N}$を評価するために必要な任意のシミュレーション情報を表すことに注意してください。それは確率変数の集合(患者の属性、天候、市場条件)かもしれませんし、時間とともに変化する情報を表すことさえあります。言い換えれば……何でもありです。

さて、最終報酬設定における方策の性能の推定値は次のように書けます。

\[\begin{align} \Fbar^\pi(\theta) = \frac{1}{K} \frac{1}{L} \sum_{k=1}^K \sum_{\ell=1}^L F(x^{\pi,N}(\omega^k),\What(\psi^\ell)). \label{eq:simulatedfinalreward} \end{align}\]

両者をまとめる

式$\eqref{eq:derivativebasedonline}$は、学習過程の間の総性能を最大化しなければならないオンライン、つまり累積報酬の目的関数を示しています。式$\eqref{eq:derivativebasedoffline}$は、設計を固定した後に平均的に最も良く機能する最良の設計を探索しなければならないオフライン、つまり最終報酬の目的関数を示しています。現時点で重要なのは、どちらの問題も次を解くことを含むという点です。

\[\begin{align} \max_\theta F^\pi(\theta), \label{eq:searchovertheta} \end{align}\]

ここで$F(\theta)$は未知の関数であり、ノイズを伴う形でサンプリングできます。

$\eqref{eq:searchovertheta}$の目的関数を拡張して、異なる方策クラスにわたる探索を含めることができます。$\Fcal$を、主要なクラス(PFA、CFA、VFA、DLA)およびそれぞれのクラス内の異なる関数を含む、すべての可能な方策タイプの集合を表すものとします。次に$\Theta^f$を、選択した方策クラス$f\in\Fcal$に対応するすべての可能なパラメータベクトル$\theta$の集合とします。この場合、最適化問題は次のように書けます。

\[\max_{\pi=(f\in\Fcal, \theta\in\Theta^f)} F^\pi(\theta).\]

実際には、直感と問題の構造の理解を用いて方策クラス$f\in\Fcal$を選ぶ傾向がありますが、これは必ずしも自明ではありません。読者には直感と常識を使う準備をしつつ、4つのクラスすべてを認識しておくよう強くお勧めします。これは4つのクラスすべてをテストしなければならないという意味ではありませんが、なぜその選択をしたのかを説明できるようにしておくべきです。

次に、$\theta$にわたる最適化の問題に移ります。$\theta$は連続で、多くの場合ベクトル値であると仮定します。$\theta$を見つけるために適用できる探索手法には、微分ベースと微分不要という2つの大きなクラスがあります。

初期状態への依存性

累積報酬目的(式$\eqref{eq:derivativebasedonline}$など)を用いているか最終報酬目的(式$\eqref{eq:derivativebasedoffline}$など)を用いているかにかかわらず、$\theta$の最適化は初期状態$S_0$に依存します。これは、$S_0$の情報を変えると、方策の選択を含めて結果が変わる可能性があることを意味します。

初期状態$S_0$は、何らかの形でシステムの挙動に影響を与えるあらゆる情報を含みます。決定論的なパラメータ、不確実なパラメータに関する分布、さらには探索アルゴリズムの開始位置さえ含まれるかもしれません。

最適解が$S_0$内の情報に依存することは、アルゴリズムに関する文献で広く見落とされています。この依存性を捉えるために関数$\theta(S_0)$を計算できれば良いのですが、この関数を推定することは扱いにくいものです。これは、$S_0$が変われば$\theta$を再最適化しなければならないかもしれないことを意味します。それ自体は問題ないのですが、$S_0$が変わる状況は数多くあり、単にそれがかなり難しいという理由だけで$\theta$を再最適化しないことがあります。

これは読者が認識しておくべきことです。

微分ベースの方策探索

次の問題を解こうとしていると仮定します。

\[\begin{align} \max_\theta F(\theta), \label{eq:maxFtheta} \end{align}\]

ここで$F(\theta)$は$\theta$に関する何らかのパラメトリック関数です。さらに$\theta$はベクトルであり、勾配を計算できると仮定します。

\[\nabla_\theta F(\theta) = \begin{pmatrix} \frac{\partial F(\theta)}{\partial \theta_1} \\ \frac{\partial F(\theta)}{\partial \theta_2} \\ \vdots \\ \frac{\partial F(\theta)}{\partial \theta_K} \end{pmatrix}.\]

実際には、導関数を厳密に計算することはしばしば不可能です。

高次元のパラメータベクトルを扱うのに有用な手法が、Spall (2003) によって開発された同時摂動確率近似(SPSA)であり、次のように勾配を近似します。$Z_p, p=1, \ldots, P$を、平均0の確率変数の実現値のサンプル(正規分布に従うかもしれません)とします。$Z^n$を、反復$n$における実現値を持つ$p$次元ベクトルとします。$x^n+\eta^nZ^n$および$x^n-\eta^nZ^n$を用いて、$x^n$をベクトル$Z$によって摂動させることで勾配を近似します。ここで$\eta^n$はスケーリングパラメータであり、反復を通じて定数であることも、変化する(通常は減少する)こともあります。

さて、$W^{n+1,+}$と$W^{n+1,-}$を、シミュレーションを駆動する確率変数の2つの異なるサンプルを表すものとします(これらは事前に生成することもその場で生成することもできます)。そしてシミュレーションを2回実行します。1回は$F(x^n + \eta^nZ^n,W^{n+1,+})$を求めるため、もう1回は$F(x^n - \eta^nZ^n,W^{n+1,-})$を求めるためです。すると勾配の推定値は次で与えられます。

\[\begin{align} \nabla_\theta F(\theta^n,W^{n+1}) \approx \begin{bmatrix} \dfrac{F(x^n + \eta^nZ^n,W^{n+1,+}) - F(x^n - \eta^nZ^n,W^{n+1,-})}{2\eta^nZ^n_1} \\[6pt] \dfrac{F(x^n + \eta^nZ^n,W^{n+1,+}) - F(x^n - \eta^nZ^n,W^{n+1,-})}{2\eta^nZ^n_2} \\[6pt] \vdots \\[6pt] \dfrac{F(x^n + \eta^nZ^n,W^{n+1,+}) - F(x^n - \eta^nZ^n,W^{n+1,-})}{2\eta^nZ^n_P} \end{bmatrix}. \label{eq:SPSAgradient} \end{align}\]

式$\eqref{eq:SPSAgradient}$における勾配の各要素の分子は同じであることに注意してください。つまり、必要な関数評価は$F(x^n + \eta^nZ^n,W^{n+1,+})$と$F(x^n - \eta^nZ^n,W^{n+1,-})$の2回だけです。唯一の違いは各次元$p$に対する分母の$Z^n_p$です(これがSPSAの魔法です)。(SPSAの解説についてはReinforcement Learning and Stochastic Optimization、Chapter 5、section 5.4.4を参照してください。)

SPSAの「魔法」について簡単に注意を述べると、勾配はかなりノイズが多くなり得ます。このため、一般的な戦略は、摂動させた各シミュレーションを複数回実行(文献ではミニバッチと呼ばれます)して平均を取ることです。ミニバッチの適切なサイズは問題の特性に依存するので、このパラメータの調整にある程度の時間を費やすことを見込んでおいてください。

どのように勾配を計算するにせよ、探索アルゴリズム(Chapter 3で見たもの)は次で与えられます。

\[\theta^{n+1} = \theta^n + \alpha_n \nabla_\theta F(\theta^n,W^{n+1}).\]

ここでステップサイズ$\alpha_n$の方策を選ばなければなりません。これについてはChapter 3で議論しましたが、ステップサイズ方策の徹底的な議論についてはReinforcement Learning and Stochastic Optimization、Chapter 6を参照してください。確率的勾配アルゴリズム自体が逐次決定問題であることを読者に思い出していただきます(Chapter 3で見たとおりです)。

微分不要の方策探索

微分不要の方策探索は、本書全体の焦点である逐次決定問題のもう一つの例に過ぎません。主な違いは、唯一の状態変数が最大化しようとしている関数についての信念となる点です(これはChapter 4の糖尿病の応用と同じです)。

以下のいずれかを用いて信念を形成できます。

Reinforcement Learning and Stochastic Optimization、Chapter 3では、関数を再帰的に推定するための多くの手法を説明しており、ルックアップテーブル、線形モデル、非線形モデルに対するいくつかの信念モデルを扱っています。この章はベイズモデルと頻度論モデルの両方も扱っています。糖尿病の例におけるルックアップテーブルの再帰式は既に見ており、更新はChapter 4の遷移方程式で与えられていました(これらの式はベイズ的信念モデルを仮定しています)。後ほど、線形モデルと非線形モデルの再帰的更新を説明します。

微分不要探索を実行するプロセスは、汎用モデリングフレームワークの5つの要素を用いてモデル化できます。

上で示したように、期待値はシミュレーションによって計算することを思い出してください。累積報酬については式 $\eqref{eq:simulatedcumulativereward}$、最終報酬については $\eqref{eq:simulatedfinalreward}$ で示しました。

ここで次の問いが残ります。探索方策 $\Theta^\pi(S^n)$ をどのように設計すればよいのでしょうか? 4つの方策クラスのいずれからでも選べるということは、もはや驚きではないでしょう。4つのクラスすべては Reinforcement Learning and Stochastic Optimization の第 7 章で詳しく議論されていますが、同書の第 12 章にある方策探索の議論も参照してください。

ここでの目的のために、比較的単純で自然な2つの方策を示します。

パネル (a): 3つの可能な売上応答直線と対応する収益曲線

(a)

パネル (b): 収益を最大化すると思われる価格を用いた場合に観測される価格・売上の組み合わせ

(b)

パネル (c): 売上応答の学習を改善するために極端な価格を観測する

(c)

パネル (d): 学習と収益のバランスを取る

(d)

図 7.2. 需要応答関数を能動的に学習する: (a) 3つの可能な売上応答直線と対応する収益曲線、(b) 収益を最大化すると思われる価格を用いた場合に観測される価格・売上の組み合わせ、(c) 売上応答の学習を改善するために極端な価格(高価格と低価格)を観測する、(d) 学習(中央から離れたところを観測する)と収益(中央付近の価格を観測する)のバランスを取る。

図 7.2(b) のように収益を最適化する価格を提示したくなりますが、これは点が一つの球状の塊に集まってしまい、需要曲線を推定することが難しくなります。需要曲線を推定する最良の方法は、図 7.2(c) のように極端に近い価格を提示することですが、これらの点では収益が非常に低いため、学習している間は儲けが出ません。

良いアプローチは「肩」の部分の点を試すこと、つまり最適点ではないが遠すぎない点を試すことで、これは図 7.2(d) に示す通りです。この振る舞いは次に述べる方策によって実現されます。

何を学んだか?

演習問題

復習問題

  1. PFA を他の3つの方策クラスと区別するものは何ですか?
  2. VFA と DLA を PFA と CFA から区別するものは何ですか?
  3. 第 1 章では、より複雑な在庫問題の状態変数は、物理状態変数 $R_t$、情報状態変数 $I_t$、信念状態変数 $B_t$ から構成されていました。信念状態変数を情報状態変数から区別するものは何ですか?
  4. オンライン学習とオフライン学習の目的関数の違いは何ですか?
  5. 微分に基づく確率的探索と微分を使わない確率的探索を逐次決定問題として説明しました。この2つの戦略のうちどちらが信念状態を使いますか。またなぜそれが必要なのですか?

問題解決演習

  1. 図 7.3 は決定論的なグラフを示しており、異なる目的の下でノード 1 からノード 11 への経路を見つけようとしています。
    1. 旅行者が単にノード 1 から 11 までの総移動時間を最小化したいだけで、現在 1-2-6-9 の経路をたどってきた場合、彼女の状態は何ですか?
    2. 次に、旅行者が時刻 45 までにノード 11 に到着しなければならないと仮定します。時刻 45 より後に到着した場合、遅延の2乗に等しいペナルティが課されます。これまでに経路 1-2-6-9 をたどってきた旅行者の状態は何ですか?
    3. 経路 1-2-6-9 をたどってきた旅行者が、経路上のいずれかのリンクにおける2番目に高いコストを最小化したい場合、状態は何ですか?
    決定論的なグラフ。
    図 7.3. 決定論的なグラフ。
  2. 実話: ある金融テクノロジー企業(「フィンテック」)は、高頻度取引のためのアルゴリズム取引システムを持っています。時刻 $t$ において、ある資産が価格 $p_t$ で取引されているとき、彼らは1日以内のローリングホライズンにわたって価格がどう変化しうるかの予測の系列を用いて、価格が上がるか下がるかを推定します。ここで、時間は15分刻みで測られます。$t$ 時点の情報の下で行われた、時刻 $t'$ における資産の推定価格を $f_{tt'}$ とします。ここで、次式を用いて推定価格を作ります。 $$ \fbar_t(\theta) = \sum_{t'=t+1}^{t+H} \theta_{t'-t} f_{tt'}, $$ ここで $\theta = (\theta_1, \theta_2, \ldots, \theta_H)$ は、将来6時間分の各15分刻み(24 刻み)に対する重みのベクトルです。$x_t = 1$ は時刻 $t$ に売る決定を表し、$x_t = -1$ は買う決定、$x_t = 0$ は保持を表すものとし、方策は次の通りです。 $$ X^\pi(S_t\vert \theta) = \begin{cases} +1 & \text{if } \fbar_t(\theta) \geq p_t + 1.0, \\ 0 & \text{if } p_t - 1.0 < \fbar_t(\theta) < p_t + 1.0, \\ -1 & \text{if } \fbar_t(\theta) \leq p_t - 1.0. \end{cases} $$ 課題は重みベクトル $\theta$ を最適化することです。
    1. 時刻 $t$ において、このシステムの状態は何ですか?
    2. $X^\pi(S_t\vert \theta)$ はどの方策クラスに入りますか? 説明してください。
    3. シミュレータ内で過去データを用いて方策をシミュレートできると仮定します。パラメータベクトル $\theta$ が与えられたときの方策の期待性能を $F(\theta)$ とします。履歴の単一サンプルを用いて方策をシミュレートすると仮定して、この目的を書き出してください。
    4. シミュレータを用いて数値微分を計算する方法を説明してください。単一の要素 $\theta_\tau$ に対する数値微分だけを書いてください。