寫在前面
這一部分主要介紹的是因果推斷方向的基礎方法,后面會對這個方向前沿的論文和方向做一些基礎介紹,這些論文和方法有些我進行了精讀或者實現。
有些只是粗略地了解了大概的主旨,但是會力求講解得盡量清楚明白,這里的介紹不分先后,只是對不同方法進行介紹,不同領域在早期和近期都有相關新論文出現,有任何問題和建議歡迎評論和私聊。
meta learning
這個方向使用基礎的機器學習方法去首先Estimate the conditional mean outcome E[Y|X = x](CATE),然后 Derive the CATE estimator based on the difference of results obtained from step 1,我們常見的uplift model里面one model和two model方法其實也是屬于meta learning,在這個領域one model方法是所謂的S-learner,two model方法是所謂的T-learner
T-learner & S-learner
這里不多贅述這兩種方法,簡單來講,T-learner就是用分別的兩個base learner去模擬干預組的outcome和非干預組的outcome,優(yōu)點在于能夠很好地區(qū)分干預組和非干預組,缺點則在于容易出現兩個模型的Bias方向不一致,形成誤差累積。
使用時需要針對兩個模型打分分布做一定校準,S-learner是將treatment作為特征,干預組和非干預組一起訓練,解決了bias不一致的問題,但是如果本身X的high dimension可能會導致treatment丟失效果。而且這兩種方法更偏向于naive的方法,很多其他的問題比如干預組和非干預組樣本不均衡的問題、selection bias的問題都未解決。
2. X-learner
在這兩種方法的基礎之上還有《Metalearners for estimating heterogeneous treatment effects using machine learning pnas.org/content/116/10》這篇論文中介紹的X-learner
首先跟T-learner一樣,用base learner去預估干預組和非干預組的response
然后定義
這里D的定義為response的預估值和實際值的差值,然后我們用一個estimator去預估這里的D,最終我們的CATE就是這兩個預估出來的τ的加權和。
論文中用圖來解釋了這么做的原因,如下:
如上圖所示,如果我們的干預組和非干預組樣本數量不均衡,如圖A的藍色,那么在預估藍色的base learner時會出現無法擬合到中間上凸部分的情況,最終得到的treatment effect就是在中間部分下凸的結果。
但是如果我們使用了imputed treatment effect,會得到C中虛線的均衡結果。
論文中還提到了自己的實驗,實驗效果總結來看,如果treat和不treat的數據量差別比較大的時候,X learner效果特別好,但是如果CATE接近0的時候,X learner效果不如S learner,比T learner好,make sense的。
3. 總結性論文
meta learning的方法有非常多,這里只是提到較為經典的三種,其他meta learning的方法比如R-learner有點老了,這里不再介紹,在《Transfer Learning for Estimating Causal Effects using Neural Networks arxiv.org/abs/1808.0780》中比較有意思的是提到了很多方法的方案。
包括傳統藝能S-learner,T-learner,X-learner和比如warm start T-learner、joint training等等,有興趣可以看看。
representation learning
表示學習對于因果推斷其實算是非常自然的想法,本身由于selection bias的存在,導致treament group和control group的人群自帶偏差,而類似S-learner的方法又會使得treat的作用丟失,那么將人群embedding中并盡可能消除bias和保存treat的作用就非常重要了。
BNN & BLR
比較經典的論文有BNN、BLR《Learning Representations for Counterfactual Inference arxiv.org/abs/1605.0366》,整體的算法如圖:
其中B指的是loss:
loss包含了三部分:事實數據的誤差+和與i最近的j的反事實數據的誤差和事實數據+反事實數據的分布差異,那我們是怎么學習φ的呢?
一個方法是對于特征進行選擇BLR,在embedding層只有一層,更加白盒,相當于特征篩選,只保留在treatment group和control group差距較小的特征。
另一個方法是深度的方法BNN,embedding后整體的loss加入分布的差異。
2. TARNet
與這篇論文很相似的論文包括TARNet《Estimating individual treatment effect:generalization bounds and algorithms arxiv.org/abs/1606.0397》,這篇文章整體的思路跟BNN那篇有點像,說到了BNN那篇的問題。
這里面講了BLR的兩個缺點,首先它需要一個兩步的優(yōu)化(優(yōu)化φ和優(yōu)化y),其次如果如果φ的維度很高的話,t的重要性會被忽略掉,挺有道理的,但感覺跟那篇唯一的區(qū)別就是解決了一下treat和control組的sample數量不均衡的問題,所以火速看了一下就過了
loss的計算為:
可以看出是在上篇論文的基礎上增加了ω的加權,去除了樣本不均衡的問題。整體的算法步驟如下:
把兩步走的優(yōu)化變?yōu)榱送瑫r優(yōu)化,雖然優(yōu)化看起來比較微小,但如果大家實際跑一下IHDP數據集的話會發(fā)現提升還是挺明顯的。
3. CFR
還有一篇論文是在TARNet之上進行優(yōu)化的,《Counter Factual Regression with Importance Sampling Weights https://www.ijcai.org/Proceedings/2019/0815.pdf》而本文的改進點也在ω上,不除以p(t),而是用一個網絡學習了p(t|x),除以p(t|x)
作者將其簡化為
可以用任何的網絡去擬合第二項,整體的過程為:
4. ACE
還有一篇論文講到了另一個角度《Adaptively Similarity-preserved Representation Learning for Individual Treatment Effect Estimation cs.virginia.edu/~mh6ck/》
這篇主要的思想希望在representation之后能夠盡可能地保留local similarity,用一個toy example來說如下:
整體的框架如圖:fprop(x)是提前訓練好的傾向性得分function
整體希望representation之前用x計算出傾向性得分相近的兩個個體,representation之后,representation之間的距離還是相近,把最重要的部分貼下來如下:
其中Q是Ri和Rj的聯合概率(R是representation),P是xi和xj的聯合概率,similarity preserving loss就是Q和P的KL散度,其中S的函數如下:
整體的loss包括正常的imbalance loss:
Factual y的分類或者回歸loss:
還有similarity preserving loss,總的loss function就是:
5. SITE
還有一篇比較類似思想的論文是SITE《Representation Learning for Treatment Effect Estimation from Observational Data papers.nips.cc/paper/75》但這篇論文我沒有非常認真地讀,來自NIPS,也是非常經典的一篇,說的主要是普通的representation learning的方法考慮了全局的分布信息。
但是沒有考慮用戶間的局部相似性,然后KNN的方法考慮了局部相似性,但是忽略了全局信息,這里面用了三元triplet pairs的方法選擇三個對,用的是傾向性得分,傾向性得分在中間的一對,傾向性得分接近1的treat unit,傾向性得分接近0的control group,有興趣的同學可以自己看一下。
編輯:jq
-
機器學習
+關注
關注
66文章
8428瀏覽量
132837 -
BNN
+關注
關注
0文章
3瀏覽量
2657
發(fā)布評論請先 登錄
相關推薦
評論