第4章:最適な糖尿病治療薬の学習
章の概要
最良の糖尿病治療薬を学習する問題は、私たちのニュースベンダー問題が終わったところから始まる。そこでは、未知パラメータについての信念によって連続する時間期間が結びつけられていた。ここでは、特定の患者に対して、糖尿病治療薬の集合の中から最良のものを学習しようとしている。ある治療薬を試し、ノイズを含むと仮定される反応を観測し、それから信念を更新して次に何を試すかを決める。ここでは血糖値の低下を最大化したいと考える。この種の問題クラスは、多腕バンディット問題、微分不要確率的探索、あるいは知的試行錯誤など、様々な名前で研究されてきた。
この問題の核心にあるのは、異なる治療薬がどのように効果を発揮するかについての私たちの信念である。提示をできるだけ単純にするために、ある治療薬から観測される結果が他の治療薬の性能について何も教えてくれないと仮定する。これは独立信念として知られる性質である。より興味深く、より現実に即した場合には相関信念を捉える必要があるが、それは提示を複雑にしてしまうだろう。
ここでは、すべて方策関数近似の形をとる、最も単純な種類の方策のみを考える。これらは使用するのが非常に簡単であるが、いずれも調整可能なパラメータを伴っており、これについては本章では扱わない。
拡張として、ある患者から学んだことを、似た属性を持つ他の患者に対して利用したい場合を考える。これは患者の属性を状態変数に導入することになり、いわゆる文脈付きバンディット問題を生み出す。これは、患者の属性という「文脈」の中で治療薬の性能を学習することを意味する。この問題はより豊かな問題設定のもとで、広告クリックを最大化するために表示するURLの選択を最適化する問題として第12章で再度取り上げる。
問題の設定
3つの設定質問に対する答えは以下の通りである。
- 指標: 患者の血糖値(A1cで測定される)を目標水準まで引き下げたい。
- 決定: 本章では、投与する治療薬の種類のみを選択する(通常は最適な投与量も見つける必要があるが、ここでは投与量は治療薬の種類と患者の体重によって決まると仮定する)。
- 不確実性: ある治療薬が患者のA1cをどれだけ低下させるか。患者がある治療薬を耐えられない場合もあり、その場合はA1cの低下をゼロとする。
ナラティブ
一般に「A1c」と呼ばれる指標を用いて評価される高血糖であると人々が気づいたとき、4つの主要なグループに分類される数十種類の薬剤が存在する。
- 感受性増強薬 – これらは肝臓、筋肉、脂肪細胞を標的としてインスリン感受性を直接高めるが、体液貯留を引き起こす可能性があるため、腎不全の既往がある患者には使用すべきではない。
- インスリン分泌促進薬 – これらの薬剤は膵臓を標的としてインスリン感受性を高めるが、しばしば低血糖と体重増加を引き起こす。
- アルファグルコシダーゼ阻害薬 – これらは腸内でのデンプン代謝速度を遅らせるが、消化器系の問題を引き起こす可能性がある。
- ペプチド類似体 – これらはインスリン産生を刺激する体内の天然ホルモンを模倣する。
最も普及している薬剤は、メトホルミンと呼ばれる感受性増強薬の一種であり、新たに糖尿病と診断された患者にほぼ常に最初に処方される薬剤であるが、必ずしも効果があるわけではない。特定の患者と関わる前に、医師はメトホルミン、および4つのグループそれぞれからの薬剤が血糖値を低下させる可能性について、図4.1に示されるような信念を持っているかもしれない。
医師は通常メトホルミンから始めるが、これは患者の約70パーセントにしか効果がない。しばしば、患者はある治療薬に単純に耐えられないことがある(重篤な消化器系の問題を引き起こす場合がある)。このような場合、医師は異なる薬剤を試すことを始めなければならない。これは遅いプロセスである。なぜなら、ある薬剤が患者に与える効果を評価できるようになるまでに数週間かかるからである。ある薬剤を患者に一定期間試した後、A1cレベルの低下を観測し、その観測結果を用いて、その薬剤がその患者にどれほど効果があるかについての推定を更新する。
私たちの課題は、患者のA1cレベルを可能な限り最大に低下させる治療薬を特定するための方策を見つけることである。
基本モデル
基本モデルとして、5つの治療薬の選択肢があると仮定する。すなわち、メトホルミン、または4つの主要な薬剤グループのいずれかから選ばれた(メトホルミン以外の)薬剤である。$\Xcal = \lbrace x_1, x_2, x_3, x_4, x_5\rbrace $をこの5つの選択肢とする。各薬剤の性能を数百から数千の患者にわたって観測することにより、全患者にわたるA1cレベルの低下の確率分布を構築することが可能である。この分析の結果は表4.1に示されており、全患者にわたる平均低下量と標準偏差が報告されている。全人口にわたるA1cの低下の分布は正規分布に従うと仮定し、平均と標準偏差は表に示された通りとする。
| 薬剤 | A1cの低下 | 標準偏差 |
|---|---|---|
| メトホルミン | 0.32 | 0.12 |
| 感受性増強薬 | 0.28 | 0.09 |
| インスリン分泌促進薬 | 0.30 | 0.17 |
| アルファグルコシダーゼ阻害薬 | 0.26 | 0.15 |
| ペプチド類似体 | 0.21 | 0.11 |
表4.1. メトホルミンと4つの薬剤クラス、および全人口にわたる平均低下量。
モデルを構築するために、$\mubar^0_x$を薬剤選択$x$に対する全人口にわたるA1cの平均低下量とし、$\sigmabar^0_x$を薬剤$x$に対するA1cの低下の標準偏差とする。私たちの関心は、特定の個人にとって最良の薬剤を学習することにある。患者を一組の属性を用いて記述することはできるが、今のところ、患者の特性は個々の患者に対する各薬剤の性能についての信念を変えないと仮定する。
各薬剤から期待できる低下量はわからないので、これを確率変数$\mu_x$として表現し、$\mu_x$は正規分布に従うと仮定する。これは次のように書く。
\[\mu_x \sim N(\mubar^0_x, (\sigmabar^0_x)^2).\]正規分布$N(\mubar^0_x, (\sigmabar^0_x)^2)$を$\mu_x$についての信念の事前分布と呼ぶ。
治療薬を処方する各反復を$n$で添字付けし、これは0から始まり、まだ実験を行っていない時点を指す。患者を常に一定期間(例えば1ヶ月)観測すると仮定する。ある患者に薬剤$x$を試すと、その患者の薬剤への反応の真の値$\mu_x$についてノイズを含む観測が得られる。薬剤の選択$x^n$は$n$回の試行後にわかっていることを用いて行い、その後$n+1$回目の試行の結果を観測し、これを$W^{n+1}$と表す(これはA1cレベルの低下量である)。これは次のように書ける。
\[W^{n+1} = \mu_{x^n} + \varepsilon^{n+1}.\]$\mu_x$はわからないことを思い出してほしい。これは確率変数であり、$\mubar^n_x$は$\mu_x$の平均についての現在の推定値である。
状態変数
私たちの状態変数は、$n$回の試行の後における、各薬剤が特定の患者に及ぼす真の効果である確率変数$\mu_x$についての信念である。$S^0$は初期状態であり、次のように書く。
\[S^0 = (\mubar^0_x, \sigmabar^0_x)_{x\in\Xcal},\]ここで$S^0$には正規性の仮定も含めており、これはすべての実験を通じて保持される。$n$回の実験の後、状態は次のようになる。
\[S^n = (\mubar^n_x, \sigmabar^n_x)_{x\in\Xcal},\]ここでは正規性の仮定はもはや含めない。なぜなら、それは初期状態に捉えられているからである(分布は静的であるため、慣習として動的な状態変数には含めない)。
後で、私たちの信念の精度を用いて作業することが有用であることがわかるが、これは次のように与えられる。
\[\beta^n_x = \frac{1}{(\sigmabar^n_x)^2}.\]これを用いて、状態変数を次のように書くことができる。
\[S^n = (\mubar^n_x, \beta^n_x)_{x\in\Xcal}.\]私たちはベイズ信念モデルとして知られるものを使用している。このモデルでは、薬剤の未知の値$\mu_x$を、初期事前分布$S^0$を持つ確率変数として扱う。異なる薬剤を用いた$n$回の実験の後、信念の事後分布$S^n$を得る。
決定変数
決定は1ヶ月間試す治療薬の選択であり、これを$x^n$、すなわち治療薬の選択と書く。ここで$x^n \in \Xcal = \lbrace x_1, \ldots, x_5\rbrace $である。$x^n$を、状態変数$S^n$のみに依存する方策$X^\pi(S^n)$を用いて決定する($S^0$における正規分布の仮定と併せて)。
外生情報
決定$x^n$を行った後、私たちは$W^{n+1}_x$、すなわち$n+1$回目の試行のために処方した薬剤$x=x^n$による結果としてのA1cレベルの低下を観測する。読者は、決定$x^n$から得られる情報を$W^n_x$ではなく$W^{n+1}_x$として書く理由を疑問に思うかもしれない。これは各変数に含まれる情報を捉えるためにこうしている。したがって、決定$x^0$は初期状態$S^0$のみに依存する。$n\geq 1$に対する状態$S^n$は$S^0$と観測値$W^1_{x^0}, \ldots, W^n_{x^{n-1}}$に依存するが、$W^{n+1}_{x^n}$には依存しない。なぜなら、$W^{n+1}_{x^n}$を明らかにする$n+1$回目の実験がまだ完了していないからである。$x^n$の処方の結果を$W^{n+1}_{x^n}$とすると、$x^n$は$W^{n+1}$に依存できないことがわかる。これは未来を見ることに等しくなってしまうからである。
遷移関数
遷移関数は、観測されたA1cの低下$W^{n+1}_x$が、私たちの信念状態$S^n$にどのように影響するかを捉える。少し代数計算が必要であるが、薬剤$x=x^n$を試し$W^{n+1}_x$を観測した場合、平均と精度の推定値を次のように更新できることを示すことができる。
\[\begin{align} \mubar^{n+1}_x &= \frac{\beta^n_x\mubar^n_x + \beta^W W^{n+1}_x}{\beta^n_x + \beta^W},\label{eq:diabetestransition1}\\ \beta^{n+1}_x &= \beta^n_x + \beta^W.\label{eq:diabetestransition2} \end{align}\]ここで$\beta^W$は観測の精度である(必要であれば$x$に依存させることもできる)。すべての$x\ne x^n$について、$\mubar^n_x$と$\beta^n_x$は変化しない。
以前に一般的な関数$S^{n+1} = S^M(S^n,x^n,W^{n+1})$として書いた遷移関数は、式$\eqref{eq:diabetestransition1}$–$\eqref{eq:diabetestransition2}$によって与えられる。
目的関数
薬剤$x=x^n$を処方するたびに、A1cの低下$W^{n+1}_{x^n}$を観測する。A1cの総低下量の期待値を最大化する薬剤$x^n = X^\pi(S^n)$を選択する方策を見つけたい。私たちの規範モデルでは、性能指標として$C(S^n,x^n,W^{n+1})$を用いた。この問題では、これは次のようになる。
\[C(S^n,x^n,W^{n+1}) = W^{n+1}_{x^n}.\]最良の方策を見つける問題を次のように書く。
\[\begin{align} \max_\pi \E \left\{\sum_{n=0}^{N-1} W^{n+1}_{x^n}\vert S_0\right\}, \label{eq:diabetesobjective1} \end{align}\]ここで$x^n = X^\pi(S^n)$であり、$S^{n+1} = S^M(S^n,x^n,W^{n+1})$である。ここで、$S_0$に対する条件付けは特に重要である。なぜなら、それが信念の事前分布を担っているからである。
不確実性のモデル化
資産売却問題のランダムな結果をサンプリングすることは比較的単純であった。この医療設定においては、確率変数$W^1, \ldots, W^n, \ldots$の結果を生成することはもう少し複雑である。
資産売却問題では、平均0と既知と仮定した分散を持つ確率変数を生成していた。この医療応用では、特定の薬剤によるA1cの低下は、真の平均$\mu_x$(特定の患者に対する)についてのノイズを含む観測であり、次のように書ける。
\[W^{n+1} = \mu_x + \varepsilon^{n+1},\]ここで$\varepsilon^{n+1}$は平均0、分散(既知と仮定する)$(\sigma^W)^2$を持つ正規分布に従う。本当の問題は、$\mu_x$がわからないことである。異なる薬剤を用いた$n$回の実験の後にわかっていることを踏まえ、$\mu_x$は平均$\mubar^n_x$、精度$\beta^n_x$の正規分布に従うと仮定する。これを次のように書く。
\[\begin{align} \mu_x\vert S^n \sim N(\mubar^n_x, \beta^n_x) \label{eq:mugivenS} \end{align}\]ここで$\eqref{eq:mugivenS}$の右辺は「状態$S^n$が与えられたときの平均$\mu_x$」と読み、これは平均$\mu_x$が$\mubar^n_x$で与えられることを知っていると仮定することを意味する。正規分布を書く際に、慣習的な分散の代わりに精度$\beta^n_x$(分散の逆数)を用いる。そして$W^{n+1}$の分布を$\mu_x$に条件付けて次のように書く。
\[W^{n+1}\vert \mu_x \sim N(\mu_x, \beta^W_x).\]これは、2つの確率変数をシミュレートする必要があることを意味する。すなわち、患者に対する薬 $x$ の真の性能($n$ 回の実験後の信念に基づく $\mu_x$ で与えられる)と、$\mu_x$ を観測しようとしたときのノイズ $\varepsilon^{n+1}$ である。これは、資産売却問題で行ったように正規分布に従う確率変数を1つ生成するのではなく、2つ生成しなければならないことを意味するにすぎない。
方策の設計
この問題クラスに対する人気の方策クラスの1つに、アッパーコンフィデンスバウンディング(upper confidence bounding)として知られるカテゴリーがある。最初期のUCB方策の1つは次の形をしている。
\[\begin{align} X^{UCB}(S^n) = \argmax_{x\in\Xcal} \left(\mubar^n_x + 4 \sigma^W \sqrt{\frac{\log n}{N^n_x}}\right), \label{eq:diabetesUCB1} \end{align}\]ここで $N^n_x$ は薬 $x$ をこれまで試した回数である(「$\argmax_x$」が $x$ を最大化する値を返すことを思い出してほしい)。係数 $4 \sigma^W$ を調整可能なパラメータで置き換えるのが標準的な慣行であり、これにより次が得られる。
\[\begin{align} 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). \label{eq:diabetesUCB2} \end{align}\]驚くほどうまくいくことがわかっている人気のバリエーションは、もともと区間推定(interval estimation)という名前で導入されたもので、次式で与えられる。
\[\begin{align} X^{IE}(S^n\vert \theta^{IE}) = \argmax_{x\in\Xcal} \left(\mubar^n_x + \theta^{IE} \sigmabar^n_x \right), \label{eq:diabetesIE} \end{align}\]ここで $\sigmabar^n_x$ は推定値 $\mubar^n_x$ の標準偏差である。
方策 $\eqref{eq:diabetesUCB2}$–$\eqref{eq:diabetesIE}$ はいずれも、性能の推定値 $\mubar^n_x$ に「不確実性ボーナス」と呼ばれることが多い項を加えたものを最大化する薬 $x$ を選ぶという構造を共有している。これらの方策の背後にある直感は、推定値 $\mubar^n_x$ が不運のせいで低くなっている可能性があるというものである。不確実性ボーナスがなければ、少数の悪い結果によって、ある薬を二度と試さないことになりかねない。これらの方策は、その性能について理論的な限界を導出できる研究文献から相当な注目を集めてきたが、最終的にはすべて現実的なデータを用いた実験的比較にかかっている。方策の評価における重要なステップは、パラメータ $\theta^{UCB}$ または $\theta^{IE}$ のチューニングである。
相当な注目を集めてきた第3の戦略はトンプソンサンプリング(Thompson sampling)として知られている。このアプローチは、各薬 $x$ について $\mu_x$ に関する我々の信念からランダムサンプルを取り、その中で最良のものを選ぶ。より正確には、
\[\muhat^n_x \sim N(\mubar^n_x, \theta^{TS} \sigmabar^n_x)\]を、平均 $\mubar^n_x$ と標準偏差 $\sigmabar^n_x$ を持つ正規分布から抽出されたランダムサンプルとする。これは真の反応 $\mu_x$ に関する現在の我々の信念である。パラメータ $\theta^{TS}$ は、推定平均 $\mubar^n_x$ 周りの不確実性に影響を与える調整可能なパラメータである。
次に、次に試す薬を次式を用いて選ぶ。
\[\begin{align} X^{TS}(S^n\vert \theta^{TS}) = \argmax_{x\in\Xcal} \muhat^n_x. \label{eq:thompsonsampling} \end{align}\]トンプソンサンプリングは、(すべての薬にわたる)$n$ 回の観測後にわかっていることに基づく推定性能 $\mubar^n_x$ が高い選択肢を好むが、その性能をランダム化する。このランダム化は探索を促進する。なぜなら、A1cへの推定される影響が最も高くない薬であっても、サンプリングされた値 $\muhat^n_x$ が最も高くなる可能性が残されているからである。
これら3つの方策、$X^{UCB}(S^n\vert \theta^{UCB})$、$X^{IE}(S^n\vert \theta^{IE})$、$X^{TS}(S^n\vert \theta^{TS})$ はいずれも2つの特徴を共有していることに注意されたい。すなわち、方策自体が最適化問題(「$\argmax_x$」)を解く必要があること、そしてすべてが調整可能なパラメータを持つことである。このため、これらはすべてコスト関数近似(cost function approximation, CFA)の例である。
方策の評価
もともと我々の目的関数は次のように書いていた。
\[\max_\pi F^\pi(S_0) = \E \left\{\sum_{n=0}^{N-1} W^{n+1}_{x^n}\vert S_0\right\},\]しかし、このように期待値を書くのは少しあいまいである。我々には2組の確率変数があったことを思い出してほしい。すなわち、すべての $x\in\Xcal$ に対する $\mu_x$ の真の値と、観測値 $W^1, \ldots, W^N$(より正確には、$\mu_x$ を観測しようとしたときのノイズ)である。この入れ子になった依存関係は、目的関数を次のように書くことで表現できる。
\[\max_\pi F^\pi(S_0) = \E_\mu \E_{W^1, \ldots, W^N\vert \mu} \left\{\sum_{n=0}^{N-1} W^{n+1}_{x^n}\vert S_0\right\}.\]方策の値をシミュレートする方法には2つある。
- ネストサンプリング(nested sampling) – まず、すべての $x\in\Xcal$ について真の値 $\mu_x$ をシミュレートする。ここで $\psi\in\Psi$ を $\mu$ の標本実現値とし、これを $\mu(\psi)$ と書く。次に観測値 $W$ をシミュレートする。ここで $\omega\in\Omega$ を $W^1(\omega), \ldots, W^N(\omega)$ の標本実現値とし、これは $\omega$ が、すべての実験 $n=1, \ldots, N$ にわたる、すべての可能な薬 $x\in\Xcal$ に対するあらゆる可能な観測の結果であることを意味する。
- 同時サンプリング(simultaneous sampling) – ここでは、$\omega$ を $\mu_x$ と観測値 $W^1, \ldots, W^N$ の両方の標本実現値とする。
ネストサンプリングを用いる場合、真の値 $\mu(\psi_k)$ の標本を $K$ 個、誤差 $\varepsilon^1(\omega_\ell), \ldots, \varepsilon^N(\omega_\ell)$ の標本を $L$ 個生成すると仮定する。サンプリングされた真値 $\mu(\psi_k)$ とノイズ $\varepsilon^n(\omega_\ell)$ について、$n+1$ 回目の実験における薬 $x^n$ の性能は次のようになる。
\[W^{n+1}_{x^n}(\psi_k,\omega_\ell) = \mu(\psi_k) + \varepsilon^n(\omega_\ell).\]これにより、次式を用いて方策の期待性能のシミュレートされた推定値を計算できる。
\[\Fbar^\pi(S_0) = \frac{1}{K} \sum_{k=1}^K \left(\frac{1}{L}\sum_{\ell=1}^L \sum_{n=0}^{N-1} W^{n+1}_{x^n}(\psi_k,\omega_\ell)\right),\]ここで $x^n = X^\pi(S^n)$ であり、
\[S^{n+1}(\psi_k,\omega_\ell) = S^M(S^n(\psi_k,\omega_\ell), X^\pi(S^n(\psi_k,\omega_\ell)), W^{n+1}(\psi_k,\omega_\ell)).\]同時サンプリングを用いる場合、標本 $\omega$ が真値 $\mu(\omega)$ とノイズ $\varepsilon(\omega)$ の両方を決定し、これにより観測値 $W^{n+1}_{x^n}$ のサンプル推定を次のように書くことができる。
\[W^{n+1}_{x^n}(\omega_\ell) = \mu(\omega_\ell) + \varepsilon^n(\omega_\ell).\]方策の推定値は次式で与えられる。
\[\Fbar^\pi(S_0) = \frac{1}{L}\sum_{\ell=1}^L \sum_{n=0}^{N-1} W^{n+1}_{x^n}(\omega_\ell).\]$\theta$ が調整可能なパラメータであるパラメータ化された方策の1つを用いる場合、期待性能を $\Fbar^\pi(\theta\vert S_0)$ と書くことができる。すると、最適化問題は次のようになる。
\[\begin{align} \max_\theta \Fbar^\pi(\theta\vert S_0), \label{eq:diabetestuningpolicy} \end{align}\]これは、本章、あるいは第3章で示した手法などのさまざまな探索手続きを用いて解くことができる。探索手法については第7章でさらに詳しく検討する。
拡張
我々はこれまで、単一の患者に適用される問題を記述してきた。これは、患者ごとにこの問題をゼロから解かなければならないことを意味する。もし100万人の糖尿病患者がいれば、100万個のモデルが必要になる。
異なる患者からの情報を用いて単一のモデルを学習したいとしよう。これは、各患者を属性の集合 $a = (a_1, \ldots, a_K)$ によって特徴づけることで実現できる。今のところ、各要素 $a_k$ は離散的(例えば性別)あるいは離散化されている(例えば年齢を範囲に分けたもの)と仮定する。実際には、まず単一の属性、すなわち性別のみを仮定することから始める。$n$ 番目の患者の性別を $G^n$ とする。これで我々は2種類の外生情報を持つことになる。すなわち、$n$ 番目の患者の性別 $G^n$ と、$n$ 番目の患者に対する治療の結果 $W^n$ である。
我々は、本章の前半で導入したベクトル $(\mubar^0, \beta^0)$ である知識状態 $K^0$ から始める。最初の患者は性別 $G^1$ を持つ。これは、最初の患者が到着した後の我々の状態変数(すなわち、我々が知っているすべてのこと)が $S^1 = (K^0,G^1)$ であることを意味する。次に、患者1の治療に関する決定 $x^1$ を行い、その後、治療がどのように効いたかを表す結果 $W^1$ を観測する。この情報を用いて更新された知識状態 $K^1$ を得て、そのプロセスが繰り返される。
\[\begin{align*} &(K^0, G^1, S^1=(K^0,G^1), x^1, W^1, K^{1}, G^2, S^2=(K^1,G^2), \ldots, \\ &\hspace{0.75in} K^{n-1}, G^n, S^n=(K^{n-1},G^n), x^n, W^{n}, K^{n}, G^{n+1}, \ldots) \end{align*}\]ここで一旦立ち止まり、我々のインデックスの付け方が基本モデルで用いたものと異なることに注意しておく。基本モデルでは、インデックス $n$ は患者の受診を指していた。我々は、最初の $n$ 回の受診からわかっていることを用いて、$n$ 回目の受診の後で決定 $x^n$ を行う。この治療の結果を $W^{n+1}$ とし、$x^n$ が $W^{n+1}$ を知らずに計算されたことを強調するために $n$ を $n+1$ に増やす。
しかし、我々の新しいモデルでは、$n$ は患者を指す。$n$ 番目の患者の性別を $G^n$ とし、その時点で $n$ 番目の患者に対する決定を行い、$n$ 番目の患者に対する治療の結果を $W^n$ とする方が理にかなっている。我々は、$n+1$ 番目の患者を見るまで $n$ を増やさず、その時点で $n+1$ 番目の患者の性別を見る。
何を学んだか
- 状態変数が信念状態変数のみで構成される、純粋な学習問題である逐次決定問題という考え方を導入した。
- 糖尿病の薬のように、選択肢の性能の真の値に不確実性がある問題の例を見た。
- パラメータ化された最適化問題の一形態であるコスト関数近似方策の例を導入し、この考え方を、アッパーコンフィデンスバウンディング(方策の一般的なクラスである)、区間推定、トンプソンサンプリングという3種類の方策を用いて説明した。
- 各方策が調整可能なパラメータを伴うことを指摘し、そのチューニングの問題をそれ自体の最適化問題として定式化した。
- 患者の性別のような外生情報変数の存在を、完全な逐次決定問題としてモデル化する方法を示した。これは学習の文献では「コンテキスチュアルバンディット問題(contextual bandit problem)」(コンテキストは性別である)として知られている。最良の $x$ を見つけるのではなく、性別の関数としての最良の $x(G)$ を探すことになる(患者の他の属性を用いてこれを拡張することもできる)。
演習問題
復習問題
- 本章で解いた糖尿病問題と、[第3章](/sdam/ja/chapter-3/)で解いた問題との間には、アルゴリズム的な観点から見て根本的にどのような違いがあるか。
- $n$ 回の試行後の患者に対する薬の効き目の推定値を $\mubar^n_x$ とするとき、$n$ は何を測っているか。それは薬 $x$ を試した回数か。
- この問題の状態変数は何か。
- 上記では、アッパーコンフィデンスバウンディング方策、区間推定方策、トンプソンサンプリングに基づく方策を導入した。これらの方策が共通して持つ特徴は何か。
- 我々の目的関数は累積報酬と最終報酬のどちらを最適化していたか。なぜそのバージョンを用いたのか。もし他方の目的関数に切り替えた場合、良い方策を探索するという観点から何が変わるか。
問題解決演習
- あなたは、血糖値を最も低下させる糖尿病薬の投与量を決定しようとしている。現在、$d_1$、$d_2$、$d_3$ という3つの投与量を実験している。$i$ という投与量による血糖値の真の低下量を $\mu_i$ とする。異なる薬の $n$ 回の実験後、投与量 $d_i$ による低下量の推定値を $\mubar^n_i$ とする。我々は、$\mu_i$ に関する我々の信念が相関しているという観察を活用したい。$\mu_i$ と $\mu_{i'}$ に関する我々の信念の共分散を $\sigma_{ii'} = Cov(\mu_i, \mu_{i'})$ とする。
異なる投与量の $n$ 回のテストの後、現在の推定値ベクトルが次のように得られたと仮定する。
$$
\mubar^{n} = \begin{bmatrix} 32 \\ 42 \\ 20 \end{bmatrix}.
$$
単一の実験の分散が $16$ であり、我々の共分散行列 $\Sigma^n$ が次式で与えられると仮定する。
$$
\Sigma^n = \begin{bmatrix} 8 & 4 & 2 \\ 4 & 8 & 4 \\ 2 & 4 & 8 \end{bmatrix}.
$$
- 観測値 $W^{n+1}$ が与えられたときの、更新された推定値 $\mubar^{n+1}$ と共分散行列 $\Sigma^{n+1}$ を求める式を書き出せ。
- 投与量 $d_2$ を試し、観測値 $W^{n+1} = 50$ を得たと仮定する。更新された推定値 $\mubar^{n+1}$ と共分散行列 $\Sigma^{n+1}$ を計算せよ。
- 性別が唯一の患者属性である我々の問題に対して、先に提示した方策をルックアップテーブル表現を用いて適応させる方法を示せ。これは、$\mubar^n_x$ を学習する代わりに、$a=$ が性別であるとして $\mubar^n_{a,x}$ を学習することを意味する。つまり、各治療 $x$ に対して推定値 $\mubar^n_x$ を学習する代わりに、性別 $a = G^n$ と治療 $x=x^n$ の各組み合わせに対して推定値 $\mubar^n_{a,x}$ を学習しなければならない。
- 本章の考え方を[第3章](/sdam/ja/chapter-3/)の市場計画問題に適用する戦略を概略せよ。
- [第3章](/sdam/ja/chapter-3/)の手法を糖尿病問題に適用することは可能か。説明せよ。
- ここで、性別だけでなく、年齢を10年単位($(0$–$9, 10$–$19, \ldots, 80^+)$)で捉え、喫煙者か否か、人種(民族性のカテゴリーを8つと仮定する)も捉えることにして、属性ベクトル $a = (a_{gender}, a_{age}, a_{smoker}, a_{race})$ を得たとする。$a\in\Acal$ の場合、$\Acal$ はいくつの要素を持つか。これは演習問題7で提案した解にどのような影響を与えるか。
- 属性ベクトル $a$ の各要素 $a_k$ が $L$ 通りの値を取り得て、$a$ が $K$ 個の要素を持つ、つまり $\Acal$ が $L^K$ 個の要素を持つと仮定する。$L = 10$ のとき、属性ベースのモデルを学習する方が700万人の糖尿病患者それぞれに対してモデルを学習するよりも容易であるための $K$ の最大値は何か。
- 次に、我々の属性空間 $\Acal$ が単純に大きすぎて実用的でないとする。これまで我々が行ってきたのは、推定値 $\mubar^n_{a,x}$ を求めるルックアップテーブル表現であり、これは $a$ の取り得る値の数が大きくなると問題となる。代替的なアプローチはパラメトリックモデルを用いることである。最も単純なものは線形モデルであり、次のように書ける。
$$
\mubar_{a,x} = \sum_{f\in\Fcal} \theta_f \phi_f(a,x),
$$
where $\phi_f(a,x)$ の $f\in\Fcal$ は、我々(アナリスト)が定義しなければならない特徴量の集合です。例えば、ある特徴量は性別、年齢層、あるいは人種の指標に過ぎないかもしれません。この場合、可能な性別ごと、可能な年齢層ごと、というように特徴量が存在することになります。
- 各 $K$ 属性が $L$ 個の可能な値を持つ場合、必要となる特徴量の最小数はいくつでしょうか?
- 各属性の値を単に示すもの以外の、より複雑な特徴量を提案してください。
- ルックアップテーブル表現と線形モデルの長所と短所を対比してください。
- 血糖値を下げる最適な薬を見つけるために、異なる方策を評価していきます。各薬剤に対する信念の事前分布は表4.1に与えられているとします。
まず、区間推定(interval estimation)と呼ばれる学習方策から始めます。これは次式で与えられます。
$$
X^{IE}(S^n\vert \theta^{IE}) = \argmax_{x\in\Xcal} (\mubar^n_x + \theta^{IE} \sigmabar^n_x).
$$
ここでは、ベイズ信念モデルを使用しますが、その際「精度(precision)」という概念を用いると便利です。これは単に分散の逆数です。したがって、真の値 $\mu_x$ の初期推定値の精度は次式で与えられます。
$$
\beta^0_x = \frac{1}{(\sigma^0_x)^2},
$$
ここで $\sigma^0_x$ は表4.1に与えられています。
$n$ 回の実験の後、我々の方策を使って $n+1$ 番目の実験で試す薬を決定する決定 $x^n$ を行います。薬 $x$ の真の性能 $\mu_x$ は分かりませんが、真の値 $\mu_x$ のノイズを含む観測値を次式で観測できます。
$$
W^{n+1}_x = \mu_x + \varepsilon^{n+1}_x.
$$
単一の実験の標準偏差は $\sigma^W = 5$ であると仮定します。$W^{n+1}_x$ の観測値を用いて、次のように信念を更新します:
- 薬 $x$ を試す場合: $$ \mubar^{n+1}_x = \frac{\beta^n_x \mubar^n_x + \beta^W W^{n+1}_x}{\beta^n_x + \beta^W}, \qquad \beta^{n+1}_x = \beta^n_x + \beta^W. $$
- $x$ が試さない薬である場合、次のようになります: $$ \mubar^{n+1}_x = \mubar^n_x, \qquad \beta^{n+1}_x = \beta^n_x. $$
- ベイズ信念モデルを用いる場合、状態変数は何ですか?
- 信念モデルの遷移関数は何ですか?
- 期待値演算子 $\E$ を用いて、方策 $X^\pi(S^n)$ の期待値を書き出してください。$\E_\mu$ や $\E_W$ (あるいは $\E_{W_1,\ldots,M}$)のように、どの確率変数が関係しているかを示すために演算子に添字を付けるようにしてください。条件付けは $\E_{W\vert \mu}$ を用いて示すことができます(これは、真の平均値 $\mu$ が既知であるという条件のもとでの、観測された低減量 $W$ に関する期待値です)。
- パラメータ $\theta^{IE}$ は、予算に残っている実験回数に依存すべきだと考えるのは妥当でしょう。つまり、$\theta^{IE}$ は $n$ の関数である必要があります(あるいは同等に、残りの実験数 $N-n$ の関数となります)。この関数を表現する方法には2通りあります。それぞれのアプローチの長所と、それに伴う計算上の課題について(プログラミングなしで)議論してください。
- ルックアップテーブル — スカラー $\theta^{IE}$ について探索する代わりに、ベクトル $\theta^{IE}_n$ について探索する必要があります。
- パラメトリック — $\theta^{IE} = \theta^{slope}(N-n)$ のような関数形式を仮定するとしましょう。この場合、スカラー $\theta^{slope}$ を調整するだけで済みます。
- これまでは、各患者ごとにこの問題を解くかのようにアプローチしてきました。$i = 1, \ldots, I$ でインデックス付けされた $I$ 人の患者がいるとしましょう。ここで $I$ は1000万人の患者数に相当するかもしれないことを思い出してください。各患者に対する推定値のベクトル $\mubar = (\mubar_x)_{x\in\Xcal}$ を求めることは $\mubar = (\mubar_{i})_{i=1}^I$ と書くことができ、各 $\mubar_i = (\mubar_{ix})_{x\in\Xcal}$ となります。1000万個の推定値を作成するのは、いささか扱いにくいように思われます。
代わりに、各患者が属性のベクトル $a = (a_1,\ldots, a_M)$(ここで $a \in \Acal$)を持っていると想像してください。属性が非常に多い場合、集合 $\Acal$ はかなり大きくなりますが、性別や喫煙の有無といった小さな部分集合を選ぶことで $\Acal$ をそれほど大きくしないようにすることもできます。ここでも、$\mubar_{ax}$ について2通りの異なる表現を用いることができます。前と同様に、$\mubar_{ax}$ をモデル化する以下のそれぞれの方法について、長所と計算上の課題を議論してください:
- ルックアップテーブル — 各属性 $a \in \Acal$ を列挙し、各薬剤 $x$ および各属性 $a$ に対する性能の推定値 $\mubar_{ax}$ を作成します。これは大きな集合になるかもしれませんが、1000万よりは小さいはずです。
- パラメトリック — これには、各薬剤 $x$ に対する $\mubar_{ax}$ のパラメトリックな形式を考え出す必要があります。一つの例として以下が考えられます。 $$ \mubar_{ax} = \sum_{f\in\Fcal} \thetabar_{fx} \phi_f(a). $$ 関数 $\phi_f(a)$ は基底関数(basis functions)と呼ばれることがあります(他の用語としては独立変数や共変量があります)。これらは、例えば患者の性別や喫煙者かどうかを捉える指標変数であるかもしれません。この表現は、各属性 $a$ に対して $\mubar_{ax}$ を計算する代わりに、特徴量の集合に対する係数のベクトル $\mubar_{ax}$ を計算するというものです。集合 $\Fcal$ はおそらく属性の集合よりもはるかに小さいはずです(そうでない場合は、ルックアップテーブル表現を使用すべきです)。
プログラミング演習
これらの演習では、tinyurl.com/sdagithubにあるPythonモジュール AdaptiveMarketPlanning を使用します。
- $\theta^{IE} = 1$ を用いて、予算 $N = 20$ 回の実験にわたる区間推定方策の $L = 1000$ 回のシミュレーションを実行してください。$\Fhat^{IE}$ を、ある特定のサンプルパスにおけるIE方策の性能とします。薬剤の真の性能 $\mu_x$ は表4.2に与えられているものと仮定し、各信念の標準偏差については表4.1の仮定を用いてください。また、演習13で用いたのと同様に、実験変動の標準偏差 $\sigma^W = 5$ を用いてください。
- $\theta^{IE}=1$ における方策 $\Fbar^{IE}(\theta^{IE})$ の値の平均と標準偏差を計算してください。
- $\theta^{IE} = (0, 0.2, 0.4, \ldots, 2.0)$ に対してIE方策を評価し、$\Fbar^{IE}(\theta)$ をプロットしてください。このプロットから何が分かりますか?
- 予算 $N = 20$ が与えられたもとで、2種類の異なる真値の集合について、値 $\theta^{IE} = (0, 0.2, 0.4, \ldots, 2.0)$ にわたりIE方策を評価してください:
- まず、すべての薬剤 $x$ について事前分布が $\mu^0_x = 0.3$ であり、初期標準偏差が $\sigma^0_x = 0.10$ であると仮定します。これは、真値 $\mu_x \sim N(\mubar^0_x,(\sigmabar^0_x)^2)$ を仮定していることを意味します。しかし、我々の真値のサンプリングには次式を用います。 $$ \muhat_x = .3 + \varepsilon $$ ここで $\varepsilon$ は区間 $[-0.15,+0.15]$ において一様分布に従います。これは、信念の事前分布を持つ(この場合は0.3を中心とする正規分布)一方で、真値を別の分布(平均0.3を中心とする一様分布)からサンプリングする例です。 $\theta^{IE}$ の各値について1万回の反復を実行し、平均性能を計算してください。$\theta^{IE}$ の11個の値にわたる結果のプロットから、どのような結論を導くことができますか?
- この演習では、次式を用いて事前分布から真値をシミュレーションします。 $$ \mu_x = \mubar^0_x + \varepsilon $$ ここで $\mubar^0$ は表4.2("A1c reduction"、A1c低減量)に与えられており、$\varepsilon$ は区間 $[-.5\mubar^0_x, +.5\mubar^0_x]$ において一様分布に従います。$\theta^{IE}$ の各値について1万回の反復を実行し、平均性能を計算してください。このプロットから、どのような結論を導くことができますか?
| 薬剤 | A1c低減量 | 真値 |
|---|---|---|
| メトホルミン | 0.32 | 0.25 |
| インスリン抵抗性改善薬 | 0.28 | 0.30 |
| インスリン分泌促進薬 | 0.30 | 0.28 |
| α-グルコシダーゼ阻害薬 | 0.26 | 0.34 |
| ペプチドアナログ | 0.21 | 0.24 |
表4.2. 特定の患者に対する真の値。