耿家興,萬亞平,2,李洪飛
(1.南華大學 計算機學院,湖南 衡陽 421001;2.中核集團高可信計算重點學科實驗室,湖南 衡陽 421001)
隨著機器學習、深度學習等人工智能算法的崛起,人們逐漸意識到不能單純地關注數據的相關性。2011年圖靈獎得主Judea Pearl[1]認為人工智能深陷關聯概率的泥潭從而忽視了因果,同時Judea Pearl認為研究者應該研究因果,因為這可能是實現真正的人工智能的可能路徑。隨著因果推斷的深入研究,基于因果推斷的應用也越來越多,例如在fMRI數據上的分析和分子發現途徑研究;Statnikov等人[2]在2012提出了基因組學數據中因果分子相互作用的鑒定方法;Ma Sisi在2017年的工作中討論了生物醫學中觀察數據可用于因果發現[3],以及在網絡性能優化[4]、網購服裝推薦[5]、社會媒體應用等[6]領域都有相關應用。因此因果推理正在成為機器學習領域一個越來越受關注的研究方向。現階段的因果發現主要是在不進行任何干預的情況下確定兩個變量之間的因果方向,這是一項具有挑戰性的工作。在近階段的因果發現研究進展中允許在某種假設下,基于純粹觀察數據推斷兩個變量之間的因果方向。然而在現實世界中觀察到的數據往往由多種生成方式產生,這使得傳統的因果推斷方法存在識別率不高和穩定性較差的現象。
目前在二元變量上的因果推斷方法主要有兩種,第一種是基于時序數據的因果方向推斷,第二種是基于非時序數據的因果關系發現,現階段研究比較多的是基于非時序數據的因果推斷。
非時序數據上的因果關系發現又分為基于統計分析的因果推斷和基于模型假設的因果推斷。基于統計分析:Kano等人[7]于2003年提出路徑分析法用于觀測數據的因果結構,該方法通過將隱含協方差矩陣與樣本協方差矩陣進行比較,對假設的因果關系進行統計檢驗,從而得出假設的因果關系的正確性。2003年Comley[8]提出了一種對稱貝葉斯網絡通過使用一種簡單的決策樹算法能夠很好地識別連續型和離散型的聯合概率分布。Sun等人[9]于2006年提出一種使用馬爾可夫核函數來選擇多變量之間的所有假設因果方向中的最可能的一個方向。基于模型假設:Shimizu[10]在2006年提出了一種線性非高斯非循環模型LinGAM,該算法假設數據是線性非混淆的,同時干擾變量是非高斯的,該模型使用獨立成分分析的方法來進行因果分析。Zhang等人[11]在2009年通過考慮原因的非線性效應,內部噪聲效應和觀測變量中的測量失真效應,提出了后非線性因果模型PNL,并證明了該方法在因果方向的可識別性。在2009年Hoyer提出[12]加性噪聲模型ANM,該模型能夠處理非線性的數據,并成為了一種常用的因果發現方法。Janzing等人[13]提出通過二階指數模型定義一系列平滑密度和條件密度,即通過最大化受第一和第二統計矩影響的條件熵來識別包含離散變量和連續變量的因果結構。2010年Daniusis等人[14]提出一種確定兩個可逆函數相互關聯性來識別確定的因果方向。2011年Jonas[1]提出了利用加性噪聲模型對離散型數據的因果推斷算法。2012年Janzing[15]提出了IGCI算法,該算法通過信息空間中的正交性來定義獨立性的方法描述因果變量值之間的邊緣概率分布和條件概率分布,從而通過因果關系的不對稱性來確定因果方向。2015年Sgouritsa等人[16]提出了無監督的高斯回歸過程來估計因果變量之間的條件概率CURE算法。2016年Mooij等人[17]總結了使用觀測數據區分因果關系的方法和標準。2017年Marx等人[18]采用了一種基于柯爾莫戈羅夫復雜度的信息論方法,并利用最小值描述長度原理提供了一種實用的因果關系發現方法SLOPE。以上這些方法在進行二元變量的混合數據的因果推斷中表現較差,2018年Hu[19]提出了一種基于加性噪聲算法的混合數據的因果推斷方法ANM-MM(additive noise model-mixture model)模型。
ANM-MM模型可以處理二元變量的混合數據的因果推斷,但是在求解分布參數的過程中沒有考慮到結果變量對分布參數的影響。因此文中在ANM-MM模型的基礎上提出了一種使用神經網絡學習改進的目標函數從而得到分布參數,原ANM-MM模型的目標函數被看作是該目標函數的一種特例。
文中提出的方法是在ANM-MM模型的假設下進行的,ANM-MM模型的定義是連續性變量X和Y由有限ANM模型生成,如圖1所示。

圖1 ANM_MM模型

ANM_MM模型中所有的觀測數據都是由同一個形式的函數f不同的參數θ生成,因為在每個獨立的試驗中,由于某些難以控制的外部因素的影響,數據生成過程略有不同。此外這些因素通常被認為是獨立于觀測變量的。
二元變量的獨立性測試方法有很多,文中使用的是HilberSchmidt獨立性準則。假設X,Y是兩個一維變量,定義一個非線性映射φ(x)∈F,F屬于再生核希爾伯特空間(reproducing kernel Hilbert space)且x∈X,再定義一個ψ(y)∈G,G同樣屬于再生核希爾伯特空間且y∈Y,則相應的核函數分別記為:
k(x,x')=〈φ(x),φ(x')〉,x,x'∈X
(1)
l(y,y')=〈ψ(y),ψ(y')〉,y,y'∈Y
(2)
對于所有的f∈F,g∈G定義:
〈f,Cxyg〉F=Exy([f(x)-Ex(f(x))][g(y)-
Ey(g(y))])
(3)
交叉協方差算子Cxy:G→F且:
Cxy=Exy[(φ(x)-μx)?(ψ(y)-μy)]
(4)
其中,μx=Exφ(x),μy=Eyφ(y),?為張量積,Cxy可以看作Hilbert-Schmidt算子,然后將Frobenius范數擴展到該算子上,得到Hilbert-Schmidt范數,將該范數平方即可得到Hilbert-Schmidt獨立性準則:
(5)
其中,Prxy是X,Y的概率分布。

(6)


圖2 因果推斷示意圖
根據定理可以通過研究假設原因與相應函數參數之間的獨立性,推斷出模型的因果方向,如果它們在因果方向上是獨立的,那么它們很可能在反因果方向上是相互依賴的。因此在實際中兩變量間的因果推斷的方向是變量和中間參數之間獨立性更大的方向。
在ANM-MM模型中利用目標函數的對數似然極大化通過梯度下降來尋找潛在的分布參數的表示形式,然而θ不能直接通過極大似然估計進行求解,所以ANM-MM需要添加X和分布參數θ之間的HSIC獨立性到損失函數得到:

λlogHSICb(X,Θ)]
(7)
由于在求解分布參數的過程中沒有考慮到結果變量對分布參數的影響,文中修改了ANM-MM模型的損失函數(7),另外添加Y和分布參數θ之間的HSIC獨立性到損失函數得到:

λlogHSICb(X,Θ)+
α(1-λ)logHSICb(Y,Θ)]
(8)
其中,λ控制原因變量X和分布參數之間的Hilbert-Schmidt獨立性,α用來調節結果變量Y和分布參數的Hilbert-Schmidt獨立性,當λ增大時即增強X和分布參數的獨立性,由于結果變量前又有(1-λ)進行約束,則Y和分布參數獨立性勢必會減小,因此并未違反因果邏輯性。當α=0時,文中使用的目標函數(8)和ANM-MM的目標函數(7)具有一致性。由于該目標函數包含兩個方向上的獨立性測試,因此文中算法記作Dual-ANMM,另外當α=1時目標函數改寫為:

λlogHSICb(X,Θ)+
(1-λ)logHSICb(Y,Θ)]
(9)
其中,目標函數(8)引入α的目的是控制數據和參數之間HilberSchmidt獨立性的強弱。文中在實驗中使用神經網絡來學習,采取梯度下降法最優化α=1的目標函數(9)得到混合數據的抽象因果分布參數。
文中使用了三層網絡結構來學習混合數據的分布參數,第一層是Normlization layer,該層網絡主要將輸入數據正則化、規范化;第二層是Full-Connect全連接層,文中采用的是10個神經元;最后一層是激活層,文中使用的是LRelu激活。最后將通過梯度下降法求得目標函數(3)的最小值從而得到混合數據的分布參數。再通過HilberSchmidt獨立性測試確定因果方向,如圖3所示。

圖3 網絡架構
當HSIC(X,θ1)>HSIC(Y,θ2)時,X→Y;
當HSIC(X,θ1) 當HSIC(X,θ1)=HSIC(Y,θ2)時無法識別,第三種情況在實際情況下很少發生。文中使用的HilberSchmidt獨立性是Hu Shoubo改進的GPPOM_HSIC獨立性方法。 Dual-ANMM算法過程如下: Algorithm Dual-ANMM(A kind of causal discovery by neural network) 輸入:D,alpha=1,lamda//其中D是數據,alpha和lamda為超參數 輸出:direct//輸出方向 1.Standardize observation of eachD; 2.Random initialize weight of NN and other argument 3.Optimize target function by NN inX->Yestimate theta1 4.D1=HSIC(theta1,X) 5.Optimize target function by NN inY->Xestimate theta2 6.D2=HSIC(theta2,X) 7.IfD1 8.ElifD1 9.Else direct =0 10.Return direct LiNGAM模型[10]是一種線性非高斯因果推斷模型,LiNGAM模型假設數據由E=βC+N產生,其中β屬于實數域,C⊥N并且N是非高斯的。LiNGAM僅適用于非高斯噪聲的線性關系,因此如果生成的數據違反了該假設,LiNGAM模型會表現得極差。如果數據之間的關系是線性函數的關系,識別率會提高,而且計算成本相對較低。在實驗中,文中使用的LiNGAM是原始版本中基于獨立成分分析的算法。 ANM模型[12]是一種加性噪聲模型,ANM模型假設E=f(C)+N,這里的f是非線性函數并且C⊥N,該方法能夠處理非線性數據。由于現實世界中的數據大多是非線性數據,該方法得到了廣泛的應用。ANM算法識別因果關系使用原因和結果之間的不對稱來檢測,原因和結果之間的不對稱是通過原因和殘差之間獨立的假設實現。因此該方法需要擬合回歸函數,并對輸入與的選擇對性能識別率是至關重要的。在實驗中,文中使用了Mooij等人(2016)提出的一種實現,該實現使用高斯過程回歸進行預測,并使用熵估計進行輸入和殘差之間的關系評估。 PNL模型[11]是一種后線性模型,該模型是對ANM模型的一種泛化。PNL模型假設數據的生成機制是由E=g(f(C)+N)表示,其中g是非線性函數,f是線性函數,并且C⊥N。為了推斷出因果關系的方向,在兩個可能的方向上進行PNL模型測試,并檢查輸入和擾動之間的獨立性。然而這里的擾動不同于回歸殘差,擬合PNL模型比擬合ANM要困難得多,準確率較高于ANM模型。在實驗中,文中使用了基于約束非線性獨立分量分析來估計擾動,并使用HilberSchmidt獨立性準則進行統計獨立測試。 實驗在CentOS系統上python3.6環境中進行,分別在模擬數據集和真實數據集上實驗,其他對比實驗包括LiNGAM,IGCI,PNL,ANM分別按照上面實現方法在matlab2016a中進行。SLOPE實驗是R3.5.2中進行。首先比較了λ對實驗準確率的影響,在實驗中分別取λ為0.5,0.75,1.0,1.25,1.5,其中當λ等于1.0的時候該模型等價于ANM-MM模型使用的損失函數。文中對混合數據類型個數對因果推斷的準確率的影響進行了實驗,然后是數據量對ANM-MM,ANM,IGCI,PNL,SLOPE,LiNGAM的影響進行了實驗,最后在cause-effect pairs真實數據集上評估了算法的因果推理性能。cause-effect pairs具有用于測試因果檢測算法的不同數據,數據文件一共包含108個txt文件,每個文件包含兩個變量,一個是原因,另一個是效果。對于每個數據文件,都有一個描述性文件,可以在其中找到真實的因果關系以及數據來源描述,實驗中108組數據中有9組被排除在外,因為它們要么由多變量數據組成,要么由分類數據組成(對47、52、53、54,55、70、71、101和105)。每對實驗重復100次獨立實驗,記錄不同方法的正確推理率。然后計算同一數據集對的平均百分比作為對應數據集的精度,實驗結果如下。 如圖4所示,實驗測試了λ對實驗準確率的影響,其中當λ等于1.0時表示ANM_MM模型對應的目標函數,實驗表明α=1.0時,λ=1.25時結果會達到最好。 如圖5所示,實驗對比了混合數據類型個數對兩種算法的影響。可以看出文中提出的算法是優于ANM-MM模型的,在實驗中,當只有一種因果機制的時候ANM-MM模型的準確率低于65%,這是在100次重復實驗中得到的結果,而文中提出的Dual-AMMM在參數α=1.0,λ=1.25時準確率能達到77%,即當數據并不是由多種因果機制生成,ANM-MM識別率低于Dual-AMMM。在多于一種混合類型的數據時,Dual-AMMM算法和ANM-MM模型結果不相上下。 圖4 λ對實驗準確率的影響 圖5 混合數據類型個數對準確率的影響 該實驗對比了幾種不同的傳統的因果推斷算法和ANM-MM模型在不同數據量下的模擬數據的準確率,如圖6所示。實驗結果表明,在不同的數據量下,該算法在穩定性上優于傳統的方法,其中ICGI在數據量增加時結果逼近文中提出的Dual-AMMM算法以及ANM-MM模型,由上圖可以看出Dual-AMMM和ANM-MM原始算法和在穩定性和準確率上都優于其它方法。 圖6 數據量對模型的影響 該實驗在真實因果數據集cause-effect pairs上進行,結果如圖7所示,柱狀圖的高度表示實驗100次的平均準確率,其中Y的誤差取上下界誤差的最大。結果表明文中提出的Dual-AMMM算法優于其他傳統的方法,平均準確率最高約85%左右,ANM-MM算法在82%左右。PNL也表現很好,其次是IGCI算法,但是IGCI和SLOPE的誤差范圍較大。 圖7 在真實數據集上的對比 在ANM-MM的假設基礎上提出了一種基于神經網絡的因果推斷方法。該方法使用梯度下降法最優化損失函數得到混合數據的抽象因果分布參數,然后將分布參數看作是原因變量和結果變量之間的隱變量,通過比較原因變量和分布參數之間的HilberSchmidt獨立性來確定二元變量的因果方向。由于改進的ANM-MM求解分布參數的過程中沒有考慮到結果變量對分布參數的影響,在實驗上也表現出較其他傳統的方法具有較好的穩定性和準確率。但是現階段的研究主要是在二元變量之間的因果方向推斷,因此將該方法推廣到多元變量之間的因果圖的識別是下一階段的主要內容。5 傳統因果推斷方法對比


6 實驗過程




7 結束語