原文地址: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=arg⁡max⁡xcC∈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=arg⁡max⁡xuC∈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​∈DCargmax​max{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 论文阅读相关推荐

  1. Bigtable: a distributed storage system for structured data论文阅读

    Bigtable: a distributed storage system for structured data 1.Data Model 一个Bigtable集群是运行Bigtable软件的一组 ...

  2. Domain Adaption Without Source Data论文阅读笔记

    总的来说: 源模型经过一个特征提取器和一个分类器后得到一个标签ysy_sys​ 可训练的目标模型输入目标样本,经过特征提取器后,分类器Cs2tC_{s2t}Cs2t​用源伪标签训练,分类器CtC_tC ...

  3. Content-aware Generative Modeling of Graphic Design Layouts 论文阅读

    图像设计布局的内容感知生成建模 摘要 简介 团队贡献 相关工作 1.图像设计布局 2.深度生成模型 数据集 1.语义布局注释 2.关键词提取 3.表示布局 模型 1.多模式嵌入网络 图像编码器 文本编 ...

  4. 智能营销增益模型(Uplift Modeling)的原理与实践

    文章目录 增益模型因果与推论(Causal Inference) 增益模型的表示 差分响应模型(Two-Model Approach) 模型优缺点 差分响应模型升级版(One-Model Approa ...

  5. [论文阅读] (17)CCS2019 针对PowerShell脚本的轻量级去混淆和语义感知攻击检测(经典)

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  6. [论文阅读] (11)ACE算法和暗通道先验图像去雾算法(Rizzi | 何恺明老师)

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  7. [论文阅读] (13)英文论文模型设计(Model Design)如何撰写及精句摘抄——以入侵检测系统(IDS)为例

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  8. [论文阅读] (23)恶意代码作者溯源(去匿名化)经典论文阅读:二进制和源代码对比

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  9. [论文阅读] (22)图神经网络及认知推理总结和普及-清华唐杰老师

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

  10. [论文阅读] (08) NDSS2020 UNICORN: Runtime Provenance-Based Detector for Advanced Persistent Threats

    <娜璋带你读论文>系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢.由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学 ...

最新文章

  1. C# 8.0的三个令人兴奋的新特性
  2. 手动实现Promise
  3. 基于角色-功能-资源的权限控制模型的设计与实现-引子
  4. Linux shell 中获取当前目录的方法
  5. JVM参数设置、分析(转)
  6. mysql5.3.4 mac 配置_Mac下安装与配置MySQL
  7. 台式计算机优点英语作文,跪求一篇英语作文 题目:论计算机的优缺点
  8. Python入门--面向过程,面向对象,类与对象
  9. ASP.NET 2.0 中 Web 事件
  10. 【财务预警】基于matlab BP神经网络财务预警【含Matlab源码 494期】
  11. html ubb c,UBB代码和HTML代码的区别
  12. jvisualvm (Java VisualVM)
  13. python能和wincc一起用_wincc7.3是否可以和博途V14同时装在一个系统上?-工业支持中心-西门子中国...
  14. redis超卖java_redis如何解决秒杀超卖问题
  15. 流程驱动管理vs 数据驱动管理
  16. 英语语法基础03(长难句)
  17. 第15章-4~6 装配体静力学分析经验技巧总结篇 (工作原理的简化、约束、预紧力、载荷、后处理)高效修改接触对、suppress(抑制)、多工位(多步计算)的螺栓预紧力设置
  18. [C程序设计]输出所有的“水仙花数”。
  19. [紧急]华展云再次连夜更新200余本16年会刊,2016年会刊量级已达全网第一
  20. C++ register 关键字

热门文章

  1. 如何获取大数据行业高薪岗位offer?
  2. 如何以应届生的身份进入阿里巴巴?
  3. 服务器iso文件如何打开方式,iso文件怎么打开(iso文件用什么打开)
  4. 解决com.lowagie.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.
  5. response.addCookie(cookie);报错分析
  6. Mac M1系统安装pytorch
  7. 【C语言】从你好世界开始
  8. 基于人工智能的智能化地理信息系统
  9. 经纬财富:渭南炒现货白银的七条做单习惯
  10. 【单片机笔记】STM8S003F3使用内部基准电压测量供电电压