Uplift modeling for clinical trial data 论文阅读
原文地址:Uplift modeling for clinical trial data
这篇文章主要提出了一种用one-mode就可以计算出样本uplift值的方法,并在此基础上提出了一种用来提升one-model准确度的半监督方法。
论文中的符号标记
- X1,…,Xm∈RX_{1}, \ldots, X_{m} \in \mathbb{R}X1,…,Xm∈R :单个样本中m个特征
- Y∈{0,1}Y \in\{0,1\}Y∈{0,1} : outcome 即 label的值,比如优惠券问题中是否购买行为
- G∈{T,C}G \in\{T, C\}G∈{T,C} :样本所属group, treatment 和 control组,样本被分到T组合C组的概率简写为PTP^{T}PT 和PCP^{C}PC
- DTD^{T}DT and DCD^{C}DC : T组样本和C组样本
- diT=(xiT,yiT)\mathbf{d}_{i}^{T}=\left(\mathbf{x}_{i}^{T}, y_{i}^{T}\right)diT=(xiT,yiT) :T组中的第
i
个样本(C组类推) - MTM^{T}MT and MCM^{C}MC: 分别通过T组样本和C组样本训练出来分类模型(two-model)
- MUM^{U}MU: 用T组和C组样本训练出来的uplift-model(one-model)
- 论文中提到的one-model 一般指使用标签转化的uplift-model
- 论文中提到的two-model 一般指使用两个分类器的two-model
另外需要注意的是,对于模型的预测值Y
- two-model中的分类器,预测值为[0,1] ,两个分类器的diff为[-1,1]
- one-model的预测值为[-1,1]
two-model下uplift值计算
uplift的理论计算值如下:
P(Y=1∣X1,…,Xm,G=T)−P(Y=1∣X1,…,Xm,G=C)=PT(Y=1∣X1,…,Xm)−PC(Y=1∣X1,…,Xm)(1)\begin{array}{c} P\left(Y=1 \mid X_{1}, \ldots, X_{m}, G=T\right) -P\left(Y=1 \mid X_{1}, \ldots, X_{m}, G=C\right) \\ \quad=P^{T}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right)-P^{C}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right) \end{array} \qquad(1) P(Y=1∣X1,…,Xm,G=T)−P(Y=1∣X1,…,Xm,G=C)=PT(Y=1∣X1,…,Xm)−PC(Y=1∣X1,…,Xm)(1)
但是在实际情况中,一个样本只可能命中一种行为,所以在two-model的方法中,分别基于特征X1,…,XmX_{1}, \ldots, X_{m}X1,…,Xm在T组和C组上训练分类器MTM^{T}MT and MCM^{C}MC, 对于某个样本,分别用两个分类器去预测该样本分到被T和被C时label的值,二者diff作为其lift值,数学表达式如下:
MU(X1,…,Xm)=MT(X1,…,Xm)−MC(X1,…,Xm)(2)\begin{aligned} M^{U}\left(X_{1}, \ldots, X_{m}\right) &=M^{T}\left(X_{1}, \ldots, X_{m}\right)-M^{C}\left(X_{1}, \ldots, X_{m}\right) \qquad(2) \end{aligned} MU(X1,…,Xm)=MT(X1,…,Xm)−MC(X1,…,Xm)(2)
虽然two-model的方法适合于各种分类器模型,但是这种方法更关注与预测T组和C组各自的分类准确度,而不是lift值。
class variable transformation method (标签转化法)
为了解决这two-model不能直接预测lift值的问题,论文提出了一种基于类别转化的one-model的方法。
这一部分主要介绍one-model方法的理论依据
首先定义了新的类别Z∈{0,1}Z \in\{0,1\}Z∈{0,1}:
Z={1if G=Tand Y=11if G=Cand Y=00otherwise. (3)Z=\left\{\begin{array}{ll} 1 & \text { if } G=T \text { and } Y=1 \\ 1 & \text { if } G=C \text { and } Y=0 \\ 0 & \text { otherwise. } \end{array}\right. \qquad (3) Z=⎩⎨⎧110 if G=T and Y=1 if G=C and Y=0 otherwise. (3)
即在T组并且Y=1或者在C组Y=0的样本,Z=1Z=1Z=1,其他情况Y=0,如果用ZZZ当做新的label,那么基于T组合C组组合成的数据,可以训练一个用于预测ZZZ模型,则ZZZ的条件概率如下
P(Z=1∣X1,…,Xm)=P(Z=1∣X1,…,Xm,G=T)P(G=T∣X1,…,Xm)+P(Z=1∣X1,…,Xm,G=C)P(G=C∣X1,…,Xm)=P(Y=1∣X1,…,Xm,G=T)P(G=T∣X1,…,Xm)+P(Y=0∣X1,…,Xm,G=C)P(G=C∣X1,…,Xm)(4)\begin{array}{l} P\left(Z=1 \mid X_{1}, \ldots, X_{m}\right) \\ =P\left(Z=1 \mid X_{1}, \ldots, X_{m}, G=T\right) P\left(G=T \mid X_{1}, \ldots, X_{m}\right) +P\left(Z=1 \mid X_{1}, \ldots, X_{m}, G=C\right) P\left(G=C \mid X_{1}, \ldots, X_{m}\right) \\ =P\left(Y=1 \mid X_{1}, \ldots, X_{m}, G=T\right) P\left(G=T \mid X_{1}, \ldots, X_{m}\right) +P\left(Y=0 \mid X_{1}, \ldots, X_{m}, G=C\right) P\left(G=C \mid X_{1}, \ldots, X_{m}\right) \qquad (4) \end{array} P(Z=1∣X1,…,Xm)=P(Z=1∣X1,…,Xm,G=T)P(G=T∣X1,…,Xm)+P(Z=1∣X1,…,Xm,G=C)P(G=C∣X1,…,Xm)=P(Y=1∣X1,…,Xm,G=T)P(G=T∣X1,…,Xm)+P(Y=0∣X1,…,Xm,G=C)P(G=C∣X1,…,Xm)(4)
因为G∈{T,C}G \in\{T, C\}G∈{T,C} 是独立于特征变量 X1,…,Xm∈RX_{1}, \ldots, X_{m} \in \mathbb{R}X1,…,Xm∈R 的,所以
P(G∣X1,…,Xm)=P(G)P\left(G \mid X_{1}, \ldots, X_{m}\right)= P(G) P(G∣X1,…,Xm)=P(G)
所以可将(4)式改写为
P(Z=1∣X1,…,Xm)=PT(Y=1∣X1,…,Xm)P(G=T)+PC(Y=0∣X1,…,Xm)P(G=C)(5)\begin{aligned} P(Z=&\left.1 \mid X_{1}, \ldots, X_{m}\right) \\ &=P^{T}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right) P(G=T) +P^{C}\left(Y=0 \mid X_{1}, \ldots, X_{m}\right) P(G=C) \quad (5) \end{aligned} P(Z=1∣X1,…,Xm)=PT(Y=1∣X1,…,Xm)P(G=T)+PC(Y=0∣X1,…,Xm)P(G=C)(5)
假设样本分到T和C组的概率是相等的,即P(G=T)=P(G=C)=12P(G=T)=P(G=C)=\frac{1}{2}P(G=T)=P(G=C)=21, 可以将(5)式改写为
2P(Z=1∣X1,…,Xm)=PT(Y=1∣X1,…,Xm)+PC(Y=0∣X1,…,Xm)=PT(Y=1∣X1,…,Xm)+1−PC(Y=1∣X1,…,Xm)\begin{array}{l} 2 P\left(Z=1 \mid X_{1}, \ldots, X_{m}\right) \\ =P^{T}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right)+P^{C}\left(Y=0 \mid X_{1}, \ldots, X_{m}\right) \\ =P^{T}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right) +1-P^{C}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right) \end{array} 2P(Z=1∣X1,…,Xm)=PT(Y=1∣X1,…,Xm)+PC(Y=0∣X1,…,Xm)=PT(Y=1∣X1,…,Xm)+1−PC(Y=1∣X1,…,Xm)
即
PT(Y=1∣X1,…,Xm)−PC(Y=1∣X1,…,Xm)=2P(Z=1∣X1,…,Xm)−1(6)\begin{array}{c} P^{T}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right)-P^{C}\left(Y=1 \mid X_{1}, \ldots, X_{m}\right) \\=2 P\left(Z=1 \mid X_{1}, \ldots, X_{m}\right)-1 (6) \end{array} PT(Y=1∣X1,…,Xm)−PC(Y=1∣X1,…,Xm)=2P(Z=1∣X1,…,Xm)−1(6)
可以看到(6)式左边即为(1)式(uplift的理论计算值),优化模型去预测ZZZ即优化模型去预测样本的lift值。
到此,论文用很完美的理论解决了two-model没法直接预测lift值的问题。
注意这里有个很强的假设,数据集中T组和C组数量占比为1:1,在实际情况中可通过采样实现。
半监督的模型优化迭代
虽然one-model可以直接预测lift值,但是two-model在一些任务上的表现也非常好。这一部分主要提出了一种半监督的方法,通过two-model和one-model互相为彼此的数据集添加新的样本,使得各自的模型训练的更好。
算法输入:T组数据DTD^TDT 和 C组数据DCD^CDC
算法输出: uplift model MUM^UMU
step1~2: 对数据进行复制和标记,原始数据只有两类DTD^TDT 和 DCD^CDC。 DcTD_{c}^{T}DcT 和DcCD_{c}^{C}DcC表示用于two-model(即classifier)的T组数据和C组数据,DuTD_{u}^{T}DuT 和 DuCD_{u}^{C}DuC表示用于one-model(即uplift model)的T组合C组数据。
DcTD_{c}^{T}DcT 和DcCD_{c}^{C}DcC 分别用于two-model的两个分类器训练使用,而DuTD_{u}^{T}DuT 和 DuCD_{u}^{C}DuC一起用于uplift-model训练使用。
repeat:
step4:用DuTD_{u}^{T}DuT 和 DuCD_{u}^{C}DuC训练uplift-model,基于标签转换法
setp5:用DcTD_{c}^{T}DcT训练two-model中的一个分类器,MTM^{T}MT
step6:用DcCD_{c}^{C}DcC训练two-model中的另外一个分类器,MCM^{C}MC
step7:将xcC∈DcC\mathbf{x}_{c}^{C} \in D_{c}^{C}xcC∈DcC中的数据添加treatment标记,转化为对应的uplift-model中的样本,并用uplift-model去预测该样本,得到label ycTy_{\mathrm{c}}^{T}ycT
step8: 与step7相似,用uplift-model预测的是DcTD_{c}^{T}DcT中添加control标记的样本
step11~12: 将通过MUM^UMU预测DcCD_{c}^{C}DcC得到的新样本加入到 DcTD_{c}^{T}DcT中,反之亦然。(哪些样本应该加入见下文补充1)
step9: 用MTM^TMT对uplift-model中的C组数据xuC\mathbf{x}_{u}^{C}xuC进行预测得到label yuTy_{u}^{T}yuT,step10也一样
step13~14:样本融合,与step11-12类似(哪些样本应该加入见下文补充1)
重复step 4~14直到收敛
通过step7、9、11、12 完成了uplift-model干预下的two-model各自classifier的样本重构
通过step9、10、13、14完成了two-model干预下的uplift-model的样本重构。
补充1
在step11、12中需要决定MUM^UMU预测的样本,哪些需要被选出来加入到two-model的T和C组的数据中,这里选择模型比较确信的样本,对于MUM^UMU而言就是预测值接近1和-1的样本,即有如下筛选法:
xcC=argmaxxcC∈DC∣MU(xcC)∣(选择样本)ycT={1if MU(xcC)>00otherwise. (打标)\begin{array}{l} \mathbf{x}_{c}^{C}=\underset{\mathbf{x}_{c}^{C} \in D^{C}}{\arg \max }\left|M^{U}\left(\mathbf{x}_{c}^{C}\right)\right| \qquad (选择样本) \\ y_{c}^{T}=\left\{\begin{array}{ll} 1 & \text { if } M^{U}\left(\mathbf{x}_{c}^{C}\right)>0 \\ 0 & \text { otherwise. } \end{array}\right. \quad (打标) \end{array} xcC=xcC∈DCargmax∣∣MU(xcC)∣∣(选择样本)ycT={10 if MU(xcC)>0 otherwise. (打标)
而对于two-model 的classifier MT、MCM^T、M^CMT、MC而言,就是模型预测接近0和1的样本,即有如下筛选法
xuC=argmaxxuC∈DCmax{MT(xuC),1−MT(xuC)}(选择样本)yuT={1if MT(xuC)>120otherwise (打标)\begin{array}{l} \mathbf{x}_{u}^{C}=\underset{\mathbf{x}_{u}^{C} \in D^{C}}{\arg \max } \max \left\{M^{T}\left(\mathbf{x}_{u}^{C}\right), 1-M^{T}\left(\mathbf{x}_{u}^{C}\right)\right\} \qquad (选择样本)\\ y_{u}^{T}=\left\{\begin{array}{ll} 1 & \text { if } M^{T}\left(\mathbf{x}_{u}^{C}\right)>\frac{1}{2} \\ 0 & \text { otherwise } \end{array}\right. \qquad (打标) \end{array} xuC=xuC∈DCargmaxmax{MT(xuC),1−MT(xuC)}(选择样本)yuT={10 if MT(xuC)>21 otherwise (打标)
在该算法中,模型与数据相互相互干预情况如下图所示,不同颜色的线表示模型预测的数据的情况和数据转移的情况。two-model和one-model都会从对方的T和C组数据中取一些加入对方的T和C组,利用对立的模型调整自身的数据,即从不同的视角进行优化。
这样,通过该算法,让two-model和one-model的T组和C组数据不断丰富,同时也让MU、MT、MCM^U、M^T、M^CMU、MT、MC三个模型也训练的更好。
Uplift modeling for clinical trial data 论文阅读相关推荐
- Bigtable: a distributed storage system for structured data论文阅读
Bigtable: a distributed storage system for structured data 1.Data Model 一个Bigtable集群是运行Bigtable软件的一组 ...
- Domain Adaption Without Source Data论文阅读笔记
总的来说: 源模型经过一个特征提取器和一个分类器后得到一个标签ysy_sys 可训练的目标模型输入目标样本,经过特征提取器后,分类器Cs2tC_{s2t}Cs2t用源伪标签训练,分类器CtC_tC ...
- Content-aware Generative Modeling of Graphic Design Layouts 论文阅读
图像设计布局的内容感知生成建模 摘要 简介 团队贡献 相关工作 1.图像设计布局 2.深度生成模型 数据集 1.语义布局注释 2.关键词提取 3.表示布局 模型 1.多模式嵌入网络 图像编码器 文本编 ...
- 智能营销增益模型(Uplift Modeling)的原理与实践
文章目录 增益模型因果与推论(Causal Inference) 增益模型的表示 差分响应模型(Two-Model Approach) 模型优缺点 差分响应模型升级版(One-Model Approa ...
- [论文阅读] (17)CCS2019 针对PowerShell脚本的轻量级去混淆和语义感知攻击检测(经典)
<娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...
- [论文阅读] (11)ACE算法和暗通道先验图像去雾算法(Rizzi | 何恺明老师)
<娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...
- [论文阅读] (13)英文论文模型设计(Model Design)如何撰写及精句摘抄——以入侵检测系统(IDS)为例
<娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...
- [论文阅读] (23)恶意代码作者溯源(去匿名化)经典论文阅读:二进制和源代码对比
<娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...
- [论文阅读] (22)图神经网络及认知推理总结和普及-清华唐杰老师
<娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...
- [论文阅读] (08) NDSS2020 UNICORN: Runtime Provenance-Based Detector for Advanced Persistent Threats
<娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...
最新文章
- C# 8.0的三个令人兴奋的新特性
- 手动实现Promise
- 基于角色-功能-资源的权限控制模型的设计与实现-引子
- Linux shell 中获取当前目录的方法
- JVM参数设置、分析(转)
- mysql5.3.4 mac 配置_Mac下安装与配置MySQL
- 台式计算机优点英语作文,跪求一篇英语作文 题目:论计算机的优缺点
- Python入门--面向过程,面向对象,类与对象
- ASP.NET 2.0 中 Web 事件
- 【财务预警】基于matlab BP神经网络财务预警【含Matlab源码 494期】
- html ubb c,UBB代码和HTML代码的区别
- jvisualvm (Java VisualVM)
- python能和wincc一起用_wincc7.3是否可以和博途V14同时装在一个系统上?-工业支持中心-西门子中国...
- redis超卖java_redis如何解决秒杀超卖问题
- 流程驱动管理vs 数据驱动管理
- 英语语法基础03(长难句)
- 第15章-4~6 装配体静力学分析经验技巧总结篇 (工作原理的简化、约束、预紧力、载荷、后处理)高效修改接触对、suppress(抑制)、多工位(多步计算)的螺栓预紧力设置
- [C程序设计]输出所有的“水仙花数”。
- [紧急]华展云再次连夜更新200余本16年会刊,2016年会刊量级已达全网第一
- C++ register 关键字
热门文章
- 如何获取大数据行业高薪岗位offer?
- 如何以应届生的身份进入阿里巴巴?
- 服务器iso文件如何打开方式,iso文件怎么打开(iso文件用什么打开)
- 解决com.lowagie.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.
- response.addCookie(cookie);报错分析
- Mac M1系统安装pytorch
- 【C语言】从你好世界开始
- 基于人工智能的智能化地理信息系统
- 经纬财富:渭南炒现货白银的七条做单习惯
- 【单片机笔记】STM8S003F3使用内部基准电压测量供电电压