章 4:学习最佳糖尿病药物
本章概览
学习最佳糖尿病药物选择这一问题,正是从我们的报童问题结束之处接续而来的,在这里,连续的时间周期是通过我们对未知参数的信念联系在一起的。在本章中,我们试图为某位特定患者找出一组糖尿病药物中效果最好的一种。我们尝试一种药物,观察一个我们假定带有噪声的反应,然后更新我们的信念以决定接下来尝试什么,其中我们希望最大化血糖降低的幅度。这一类问题已经在多种名称下被研究过,包括多臂老虎机问题、无导数随机搜索,或智能试错法。
这一问题的核心在于我们对不同药物表现的信念。为了使表述尽可能简单,我们假设从一种药物观察到的结果不会告诉我们关于其他药物表现的任何信息,这一性质被称为独立信念。一个更有趣、更贴近实际的情形应当捕捉相关信念,但这会使表述复杂化。
我们只考虑最简单类型的策略,它们都属于策略函数近似的形式。这些策略使用起来相当简单,但都涉及可调参数,本章不对此进行讨论。
作为一个扩展,我们考虑这样一种情形:我们希望将从一位患者身上学到的知识用于其他具有相似属性的患者。这将患者的属性引入了状态变量,从而产生了所谓的情境老虎机问题(contextual bandit problem),即在患者属性这一”情境”下学习药物的效果。我们会在第 12 章中一个更为丰富的问题情境下重新讨论这些问题,该章讨论的是优化展示哪些URL以最大化广告点击量的问题。
问题的构建
我们对三个构建性问题的回答如下:
- 指标: 我们希望将患者的血糖(通过A1c指标衡量)降低到目标水平。
- 决策: 在本章中,我们仅选择要给予的药物类型(通常我们还需要找到最佳剂量,但这里我们假设剂量由药物类型和患者体重决定)。
- 不确定性: 一种药物能将患者的A1c降低多少。可能出现患者无法耐受某种药物的情况,此时我们将A1c的降低量设为零。
叙述
当人们发现自己血糖偏高时(通常使用一种称为”A1c”的指标来评估),有几十种药物可归为四大类:
- 增敏剂——这类药物针对肝脏、肌肉和脂肪细胞,直接提高胰岛素敏感性,但可能引起液体潴留,因此不应用于有肾衰竭病史的患者。
- 促分泌剂——这类药物通过作用于胰腺来提高胰岛素敏感性,但常常引起低血糖和体重增加。
- α-葡萄糖苷酶抑制剂——这类药物减缓肠道中淀粉的代谢速度,但可能引起消化问题。
- 肽类似物——这类药物模拟体内刺激胰岛素分泌的天然激素。
最受欢迎的药物是一种称为二甲双胍的增敏剂,它几乎总是新确诊糖尿病患者被开出的第一种药物,但这种药物并非总是有效。在与某位特定患者接触之前,医生可能已经对二甲双胍以及来自四大类别中每一类的药物在降低血糖方面的潜力形成了一种信念,如图 4.1 所示。
医生通常会从二甲双胍开始,但这只对大约70%的患者有效。患者常常根本无法耐受某种药物(它可能引起严重的消化问题)。在这种情况下,医生必须开始尝试不同的药物。这是一个缓慢的过程,因为需要几周时间才能评估一种药物对患者产生的效果。在对患者试用某种药物一段时间后,我们观察到A1c水平的降低,然后利用这一观察结果来更新我们对该药物在该患者身上疗效的估计。
我们面临的挑战是找到一种策略,用以确定能够使患者A1c水平实现最大可能降低的药物。
基本模型
在我们的基本模型中,我们将假设有五种药物选择:二甲双胍,或是从四大主要药物类别中(除二甲双胍外)各选一种药物。设$\Xcal = \lbrace x_1, x_2, x_3, x_4, x_5\rbrace $为这五种选择。通过观察每种药物在成百上千名患者身上的表现,可以构建出所有患者中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. 二甲双胍和四大药物类别及其在全部人群中的平均降低量。
为了构建模型,设$\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开始,表示我们尚未进行任何试验之前的时刻。假设我们总是对患者观察一段固定的时间(比如一个月)。如果我们对某位患者尝试药物$x$,我们会对患者反应的真实值$\mu_x$做出一次带噪声的观察。假设我们在完成$n$次试验之后所了解到的信息基础上,做出药物$x^n$的选择,之后我们观察到第$n+1$次试验的结果,记作$W^{n+1}$(这是A1c水平的降低量)。这可以写作
\[W^{n+1} = \mu_{x^n} + \varepsilon^{n+1}.\]请记住,我们并不知道$\mu_x$;这是一个随机变量,其中$\mubar^n_x$是我们目前对$\mu_x$均值的估计。
状态变量
我们的状态变量是我们对随机变量$\mu_x$的信念,该随机变量表示在进行$n$次试验之后每种药物对某一特定患者的真实效果。$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$。
决策变量
决策是选择要试用一个月的药物,我们将其记作$x^n$,即药物的选择,其中$x^n \in \Xcal = \lbrace x_1, \ldots, x_5\rbrace $。我们将使用仅依赖于状态变量$S^n$(连同$S^0$中正态分布的假设)的策略$X^\pi(S^n)$来确定$x^n$。
外源信息
在做出决策$x^n$之后,我们观察到$W^{n+1}_x$,即由我们在第$n+1$次试验中开具的药物$x=x^n$所导致的A1c水平降低量。读者可能会好奇,为什么我们将从决策$x^n$中获得的信息写作$W^{n+1}_x$而不是$W^n_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$次试验。通过令$W^{n+1}_{x^n}$为处方$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$时,我们都会观察到由$W^{n+1}_{x^n}$表示的A1c降低量。我们希望找到一种策略,使其选择的药物$x^n = X^\pi(S^n)$能够最大化A1c的期望总降低量。我们的典范模型使用$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).\]这意味着我们必须模拟两个随机变量:药物$x$对我们患者的真实疗效,由$\mu_x$给出(基于我们在$n$次实验后的信念),以及我们尝试观测$\mu_x$时的噪声$\varepsilon^{n+1}$。这仅仅意味着,与我们在资产出售问题中所做的生成一个正态分布随机变量不同,我们这里必须生成两个。
设计策略
针对这一类问题,一类流行的策略属于上置信界(upper confidence bounding)这一范畴。最早的一批UCB策略之一具有如下形式
\[\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}$进行调优。
第三种引起广泛关注的策略被称为汤普森抽样(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$。
我们注意到,这三种策略——$X^{UCB}(S^n\vert \theta^{UCB})$、$X^{IE}(S^n\vert \theta^{IE})$和$X^{TS}(S^n\vert \theta^{TS})$——都有两个共同特征:策略本身需要求解一个优化问题(即”$\argmax_x$”),并且它们都有可调参数。正因如此,它们都是成本函数近似(cost function approximations,简称CFA)的例子。
策略评估
我们最初将目标函数写为
\[\max_\pi F^\pi(S_0) = \E \left\{\sum_{n=0}^{N-1} W^{n+1}_{x^n}\vert S_0\right\},\]但以这种方式书写期望有些含糊。回顾一下,我们有两组随机变量:所有$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\}.\]有两种方法可以模拟一个策略的价值:
- 嵌套抽样——首先,我们对所有$x\in\Xcal$模拟真实值$\mu_x$,令$\psi\in\Psi$为$\mu$的一个样本实现,我们将其记为$\mu(\psi)$。然后我们模拟观测值$W$,令$\omega\in\Omega$为$W^1(\omega), \ldots, W^N(\omega)$的一个样本实现,这意味着$\omega$是所有药物$x\in\Xcal$在所有实验$n=1, \ldots, N$上所有可能观测的一种结果。
- 同步抽样——在这里,我们令$\omega$同时是$\mu_x$和观测值$W^1, \ldots, W^N$的一个样本实现。
如果我们使用嵌套抽样,假设我们生成$K$个真实值$\mu(\psi_k)$的样本,以及$L$个误差$\varepsilon^1(\omega_\ell), \ldots, \varepsilon^N(\omega_\ell)$的样本。对于抽样得到的真实值$\mu(\psi_k)$和噪声$\varepsilon^n(\omega_\ell)$,药物$x^n$在第$n+1$次实验中的表现将为
\[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$是可调参数,我们可以将期望性能写为$\Fbar^\pi(\theta\vert S_0)$。那么,优化问题将是
\[\begin{align} \max_\theta \Fbar^\pi(\theta\vert S_0), \label{eq:diabetestuningpolicy} \end{align}\]我们可以使用多种搜索方法来求解,比如本章或第3章中介绍的方法。我们将在第7章中更深入地回顾搜索方法。
扩展
到目前为止,我们一直在描述一个适用于单个患者的问题。这意味着我们必须为每个患者从头解决这个问题。如果我们有一百万名糖尿病患者,那么我们就需要一百万个模型。
设想我们想利用来自不同患者的信息来学习一个单一的模型。我们可以通过一组属性$a = (a_1, \ldots, a_K)$来刻画每个患者。暂且假设每个元素$a_k$是离散的(例如性别)或已离散化(例如年龄,划分为若干区间)。事实上,我们将首先假设只有一个属性——性别。令$G^n$为第$n$个患者的性别。现在我们有两种形式的外源信息:第$n$个患者的性别$G^n$,以及第$n$个患者治疗的结果$W^n$。
我们从一个知识状态$K^0$开始,它就是本章前面引入的向量$(\mubar^0, \beta^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}$为该次治疗的结果,将$n$递增为$n+1$,以强调$x^n$是在不知道$W^{n+1}$的情况下计算出来的。
然而,在我们的新模型中,$n$指的是一个患者。更合理的做法是令$G^n$为第$n$个患者的性别,随后我们为第$n$个患者做出决策,并令$W^n$为第$n$个患者治疗的结果。我们不会递增$n$,直到我们见到第$n+1$个患者,此时我们才会看到第$n+1$个患者的性别。
我们学到了什么?
- 我们介绍了一种纯学习性质的序贯决策问题的概念,其中状态变量仅由信念状态变量组成。
- 我们看到了一个不确定性存在于诸如糖尿病药物这类选择的真实疗效之中的问题实例。
- 我们介绍了成本函数近似策略的一个实例,它是一种参数化优化问题的形式,并通过三类策略来说明这一思想:上置信界(这是一大类策略)、区间估计以及汤普森抽样。
- 我们指出每种策略都涉及一个可调参数,并将调优问题表述为其自身的一个优化问题。
- 我们展示了如何将外源信息变量(例如患者的性别)的存在建模为一个完全序贯的决策问题,这在学习文献中被称为”情境式老虎机问题”(context是性别)。我们现在不是寻找最佳的$x$,而是寻找作为性别函数的最佳$x(G)$(我们可以用患者的其他属性来扩展这一点)。
习题
复习题
- 从算法的角度来看,本章中我们所解决的糖尿病问题与[第3章](/sdam/zh/chapter-3/)中所解决的问题之间存在什么根本区别?
- 当我们令$\mubar^n_x$为经过$n$次试验后对药物在患者身上疗效的估计时,$n$衡量的是什么?它是我们尝试药物$x$的次数吗?
- 这个问题的状态变量是什么?
- 在上文中,我们介绍了一种上置信界策略、一种区间估计策略以及一种基于汤普森抽样的策略。这些策略有哪些共同特征?
- 我们的目标函数优化的是累积奖励还是最终奖励?我们为什么使用那个版本?如果就寻找一个好策略而言切换到另一个目标函数,会有什么变化?
问题求解题
- 你正在尝试确定一种能对血糖产生最大降幅的糖尿病药物剂量。你目前正在试验三种剂量,我们分别用$d_1$、$d_2$和$d_3$表示。令$\mu_i$为剂量$i$产生的真实血糖降幅。在做过$n$次不同药物的实验之后,令$\mubar^n_i$为对剂量$d_i$所产生降幅的估计值。我们希望利用这样一个观察结果:我们对$\mu_i$的信念是相关的。令$\sigma_{ii'} = Cov(\mu_i, \mu_{i'})$为我们对$\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$,而是学习$\mubar^n_{a,x}$,其中$a=$为性别。因此,我们不是对每种治疗$x$学习一个估计值$\mubar^n_x$,而是必须对性别$a = G^n$与治疗$x=x^n$的每种组合学习一个估计值$\mubar^n_{a,x}$。
- 为将本章的思想应用于[第3章](/sdam/zh/chapter-3/)中的市场规划问题勾勒出一个策略。
- 是否有可能将[第3章](/sdam/zh/chapter-3/)的方法应用于糖尿病问题?请解释。
- 现在设想,除了性别之外,我们还按十年为单位捕捉年龄$(0$–$9, 10$–$19, \ldots, 80^+)$、是否吸烟以及种族(假设有八个族裔类别),从而得到一个属性向量$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$,那么$K$的最大取值是多少,才能使学习我们基于属性的模型比为700万名糖尿病患者中的每一位学习一个模型更容易?
- 现在设想我们的属性空间$\Acal$实在过于庞大以致不切实际。到目前为止我们所做的是一种查找表表示法,我们借此求得一个估计值$\mubar^n_{a,x}$,当$a$可能取值的数量变得很大时,这种方法就会出现问题。另一种方法是使用参数化模型。最简单的模型是一个线性模型,我们可以将其写为
$$
\mubar_{a,x} = \sum_{f\in\Fcal} \theta_f \phi_f(a,x),
$$
其中$\phi_f(a,x)$对应$f\in\Fcal$是我们(作为分析人员)必须定义的一组特征。例如,一个特征可能只是性别、年龄段或种族的指示符。在这种情况下,每个可能的性别、每个可能的年龄段等都会对应一个特征。
- 如果每个$K$属性都有$L$个可能取值,我们至少需要多少个特征?
- 除了那些仅表示每个属性取值的特征之外,请提出更复杂的特征。
- 对比查找表表示法与我们的线性模型各自的优缺点。
- 我们将评估不同的策略,以找到降低血糖效果最好的药物。假设我们对每种药物的初始信念先验分布如表4.1所示。
我们从一种被称为区间估计的学习策略开始,该策略由下式给出
$$
X^{IE}(S^n\vert \theta^{IE}) = \argmax_{x\in\Xcal} (\mubar^n_x + \theta^{IE} \sigmabar^n_x).
$$
我们使用贝叶斯信念模型,其中使用*精度*这一概念会比较方便,精度就是方差的倒数。因此,对真实值$\mu_x$的初始估计精度由下式给出
$$
\beta^0_x = \frac{1}{(\sigma^0_x)^2},
$$
其中$\sigma^0_x$由表4.1给出。
经过$n$次实验后,我们将使用我们的策略来做出决策$x^n$,即在第$n+1$次实验中尝试哪种药物。我们不知道药物$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$的函数)。有两种方式可以表示这个函数。请讨论(不涉及任何编程)每种方法的优点,以及会涉及的计算挑战。
- 查找表——我们不是对标量$\theta^{IE}$进行搜索,而是必须对向量$\theta^{IE}_n$进行搜索。
- 参数化——我们可以假设一种函数形式,例如$\theta^{IE} = \theta^{slope}(N-n)$,此时我们只需调整标量$\theta^{slope}$即可。
- 到目前为止,我们一直是按照为每位患者单独求解该问题的方式来处理的。设想我们有$I$名患者,用$i = 1, \ldots, 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}$。和之前一样,请讨论以下每种建模$\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)$有时被称为基函数(其他术语包括自变量或协变量)。这些函数可能是指示变量,用于表示,例如,患者的性别或是否吸烟。这种表示方法用计算一组特征的系数向量$\mubar_{ax}$,取代了为每种属性$a$计算$\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$,针对两组不同的真值,在取值$\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}$的每个取值执行10,000次重复,以计算平均表现。你能从这11个$\theta^{IE}$值所得到的图中得出什么结论?
- 在本习题中,我们将使用以下方式从先验分布中模拟我们的真值 $$ \mu_x = \mubar^0_x + \varepsilon $$ 其中$\mubar^0$由表4.2(“A1c降幅”)给出,$\varepsilon$在区间$[-.5\mubar^0_x, +.5\mubar^0_x]$上均匀分布。对$\theta^{IE}$的每个取值执行10,000次重复,以计算平均表现。你能从该图中得出什么结论?
| 药物 | A1c降幅 | 真值 |
|---|---|---|
| 二甲双胍 | 0.32 | 0.25 |
| 增敏剂 | 0.28 | 0.30 |
| 促泌剂 | 0.30 | 0.28 |
| α-葡萄糖苷酶抑制剂 | 0.26 | 0.34 |
| 肽类似物 | 0.21 | 0.24 |
表4.2。某特定患者的真实值。