






摘 要: ""針對K2算法存在的序依賴性問題,提出了能夠從給定數據集中有效學習變量序的啟發式算法(H-vnK2)。具體而言,基于PC算法學習的v-結構知識以節點塊的形式快速準確修正部分父子節點順序,獲得部分節點的最優序;基于PC算法學習的鄰居集知識以距離閾值啟發式策略進一步從全局最優角度修正父子節點順序, 獲得所有節點的最佳序。實驗表明,在標準數據集Asia、Alarm網絡上,所提算法顯著優于對比算法,其中與性能最好的基于因果效應的方法相比,準確率平均提升了7%,增量最高能達到33.3%,可以學習到更準確的網絡結構。
關鍵詞: "變量序; K2算法; v-結構; 鄰居集
中圖分類號: "TP181 """文獻標志碼: A
文章編號: "1001-3695(2022)02-020-0442-05
doi:10.19734/j.issn.1001-3695.2021.07.0273
Heuristic Bayesian network structure learning method "based on v-structure and neighbor set
Xu Miao, Wang Huiling, Liang Yi, Qi Xiaolong
(School of Cybersecurity amp; Information Technology, Yili Normal University, Yining Xinjiang 835000, China)
Abstract: "Aiming at the order dependency problem of the K2 algorithm,this paper proposed a heuristic algorithm(H-vnK2) to learn the node order effectively from a given data set.Specifically,based on the v-structure knowledge learned by the PC algorithm,it corrected the order of some parent-child nodes in the form of node blocks quickly and accurately,and then obtained the optimal order of some nodes.Based on the neighbor set knowledge learned by the PC algorithm,with the distance threshold heuristic strategy,it further modified the order of the parent-child nodes from the global optimal point of view,and then obtained the best order of all nodes.Experiments show that the proposed algorithm is significantly better than the comparison algorithm on the Asia and Alarm standard data set.Among them,compared with the best-performing method based on causal effects,the proposed algorithm improves the accuracy rate by 7% on average,and the increment can reach up to 33.3%.It can learn a more accurate network structure.
Key words: "variable order; K2 algorithm; v-structure; neighbor set
0 引言
貝葉斯網絡[1]起源自人工智能的研究,是概率統計和數據分析的有力工具。通過概率論和圖論的結合,既能直觀展現問題的結構,又能有效降低概率推理的復雜度,在處理不確定性問題上具備顯著的優勢,因此深受眾多學者們的關注。隨著時代的發展,貝葉斯網絡已被應用在臨床醫學、視覺識別、信息檢索、自然語言處理和故障診斷等不同的復雜領域之中[2~5]。
在一定條件下,專家可以根據相應的領域知識和經驗構建出貝葉斯網絡,但這是非常復雜和容易出錯的工作,大多數情況下無法得到可靠的網絡結構。隨著機器學習技術的發展,研究者們開始關注從觀測數據中自動學習貝葉斯網絡結構,研究證明該類方法是NP-hard[6]。為了更高效地獲得優質網絡結構,研究者們提出了基于約束的算法[7,8]、基于評分—搜索的算法[9,10]和混合學習算法[11,12]三類主要學習算法。
基于約束的算法是對變量進行一系列的獨立性檢測,查詢找到最優的網絡模型,如SGS算法[7]和PC-stable算法[8]等。它們具有很好的學習性能且易于實現,但是在復雜網絡結構下,這類算法的可靠性會下降。基于評分搜索的算法是用評分函數評價數據與候選結構的擬合度,在候選結構組成的空間里搜索最優評分的結構模型,如爬山法、粒子群算法[10]等,可以學習到較為準確的網絡結構,但是隨著變量數的增加,搜索空間會呈現出指數級增長的現象,降低學習效率。混合學習算法是將前兩種算法相融合,利用各自的優點學習最佳結構模型,例如MMHC算法[12],通過MMPC算法產生候選父節點,然后利用貪婪算法確定邊的方向。這類算法學習效果較好,已經成為目前貝葉斯網絡結構學習的主要算法[13]。
K2算法[14]在已知特定節點序列的前提下可以學習到最佳的貝葉斯網絡結構,并且有效避免似然等價的情況,在效率和精度上都優于大多數經典算法,但需要注意的是,節點順序的優劣對K2算法的精度起著決定性作用。
針對評分—搜索空間復雜度高問題,受到K2算法的啟發,提出了一種基于v-結構和鄰居集搜索最佳變量序的混合學習算法。主要創新點如下:首次將基于約束算法學習的v-結構應用到變量序搜索中,確定部分節點的位置,減少序搜索空間。基于學習的鄰居集,使用提議的距離度量算法進一步修正節點序。實驗表明,與經典算法相比,該算法的精度性能顯著提升。
1 相關工作
K2算法是一類經典的基于評分—搜索算法,因其在復雜度和精密度上表現出了良好的性能,且能夠有效處理似然等價的情況,受到了眾多學者的關注。但其依賴于變量序,即不同的變量序會產生不同的結構,使得如何獲取高質量變量序列以學習最優模型成為一個不斷研究探討的題目。
近年來涌現出了許多相關研究方法,根據先驗序列的獲取方式,可以分為基于先驗序列和學習先驗序列兩類。基于先驗序列方法需要領域專家預先提供先驗序列知識,結合K2算法的改進來提升方法的學習精度和速度,如CE-GP[15]和分組并行化學習[16]。這類方法降低了時空復雜度,但要求正確的先驗序列,很多情況下,尤其是高維場景很難獲得領域的先驗序列;學習先驗序列方法需要從數據中自動學習優質變量序列,結合K2算法構建最優模型,如基于互信息的MWST+T-K2[17]、NOK2[18]和因果效應方法[19],基于約束的混合結構學習方法[20]和優先級排序方法[21],基于領域知識的皮爾森相關系數方法[22]以及基于強連通圖劃分的K2改進算法[23],這類算法實用性可觀且易于實現,但都存在些許不足。基于互信息的方法更適用于小規模網絡,基于約束的方法仍然受到基于約束方法步的限制,基于領域知識的方法需要有完備的領域知識作為基礎,基于強連通圖劃分的方法受到變量最佳父集的制約。
2 啟發式貝葉斯網絡結構學習方法
提出的H-vnK2算法主要有三部分組成:a)初始化的節點優先序列;利用改進的因果效應方法學習每個節點的優先度,根據優先度降序排列獲得節點優先序列;b)基于v-結構知識首次調整,通過PC算法學習節點的v-結構和鄰居集,根據v-結構進一步調整節點順序;c)基于鄰居集的順序再調整,結合節點的鄰居集通過距離閾值算法,完成節點序的進一步修正得到最終節點序,將其作為K2算法的先驗順序,學習到最優網絡模型。
2.1 節點優先序列
節點優先序列使用改進版因果效應來學習,算法分為二值狀態網絡和多值狀態網絡。根據網絡中變量的值狀態數量,分別從兩個算法出發,計算得到每個節點的優先度,再進行降序排列獲得節點優先序列。對于二值狀態網絡,改進版因果效應[19]在不考慮“do-操作”的情況下對Pearl的因果效應進行了擴展,考慮了 X i→X j 在 X j=1 和 X j=0 兩處的因果效應。對于數據集中任意兩個節點 X i、X j 之間的因果效應 CE X i→X j 如下:
CE X i→X j= N(X j=1) N ×[P(X j=1|X i=1)-P(X j=1|X i=0)]-
N(X j=0) N ×[P(X j=0|X i=1)-P(X j=0|X i=0)] ""(1)
其中: N 表示總樣本數量; N(X j=1) 表示 X j=1 的樣本數量, N(X j=0) 表示 X j=0 的樣本數量。
對于多值狀態網絡,找出每個節點最多的兩個狀態值,通過相對應的狀態值遍歷任意兩個節點間的因果效應,學習得到節點優先度。如果 X i 的最多狀態值為 a 和 b , X j 的最多狀態值為 c 和 d ,那么就要考慮 X i→X j 在 X j=c 和 X j=d 兩處的因果效應。對于數據集中任意兩個節點 X i、X j 之間的因果效應 CE X i→X j 如下:
CE X i→X j= N(X j=c) N ×[P(X j=c|X i=a)-P(X j=c|X i=b)]-
N(X j=d) N ×[P(X j=d|X i=a)-P(X j=d|X i=b)] ""(2)
其中: N 表示總樣本數量; N(X j=c) 表示 X j=c 的樣本數量, N(X j=d) 表示 X j=d 的樣本數量。
兩個算法都從第一個節點開始,分別利用式(1)(2)計算每兩個節點間的因果效應,如果 CE X i→X jgt;CE X j→X i ,那么 X i 的優先度加1;如果 CE X i→X jlt;CE X j→X i ,那么 X j 的優先度加1。完成所有節點遍歷,降序排列學習到的節點優先度,獲得節點優先序列。
2.2 基于PC算法的v-結構和鄰居集更新策略
2.2.1 PC算法
PC算法[24]是一種基于條件獨立測試的算法,較SGS算法有更低的時間復雜度。算法的核心點是從一個完全無向圖開始,學習自0階集合的條件獨立性到 n 階集合的條件獨立性。在測試過程中,變量對的條件集由變量的鄰居集決定,該鄰居集會隨著算法的迭代進行動態變化。文獻[25]中的定理3.3給出PC算法能夠輸出表示有向無圈圖 G 的CPDAG,也就是說,PC算法能夠輸出正確的v-結構。為了減少序空間搜索規模,準確確定序的正確性,H-vnK2算法使用PC算法輸出的v-結構和鄰居集進行最優節點序列的搜索。
2.2.2 v-結構和鄰居集距離閾值更新策略
因果效應得出的節點序列與真實序列存在一定偏差。為了減少搜索空間,提高正確序的識別,提出了基于v-結構集的塊調整和變量鄰居集的距離閾值序搜索策略。對于無遮擋元組〈 X i,X j,X k 〉,如果有 X i→X j且X k→X j,X i和X k 都存在指向 X j 的有向邊,形成 X i→X j←X k 的結構,那么就稱之為v-結構。可以看出,v-結構指明 X i和X k 都是 X j 的父節點。也就是說,在變量序中, X i和X k 的順序必然要排在 X j 的前面。
基于這一點,將PC算法獲得v-結構信息應用到序調整中,對學習到的節點優先序列進行進一步更新。對于任意v-結構 X i→X j←X k ,在節點優先序列中檢驗 X i 和 X k 是否在 X j 的前面,如不滿足,則將 X i 和 X k 以塊的形式插到 X j 之前,達到修正錯誤序列的目的,如圖1所示。
v-結構的使用使得部分節點的順序是最佳的,為了在合理的時間內搜索到全局最佳的節點序,H-vnK2算法進一步提出了基于鄰居集的啟發式策略。
定義1 "鄰居。如果 X 和 Y 之間存在一條邊,則變量 X 是變量 Y 的鄰居,反之亦然,記做Adj (X)={Y} 。
定義2 "鄰居距離。變量序 O 中,如果變量 X 是變量 Y 的鄰居,則兩者在序中位置的差值稱之為鄰居距離,記做Dis (X,Y)=|X index-Y index| 。其中: X index 指示了變量 X 在序 O 中的位置。
基于PC算法提供的鄰居集信息提出一種基于鄰居集距離的啟發式變量序調整策略檢測子節點和父節點的位置是否符合標準。該策略背后的想法是在真實結構中如果兩個變量滿足鄰居關系,那么它們之間的路徑上不會有其他變量,否則與鄰居關系矛盾。基于這一點,H-vnK2算法實現了跨多節點的快速位置調整策略。
具體而言,如果鄰居之間的距離超過了設定的距離閾值,Dis (X,Y)gt;γ ,那么調整處在序 O 中后方鄰居節點 X 或 Y 的位置。不失一般性,假設在序 O 中節點 Y 在后,節點 X 在前。分為三種情況:a) 將節點 Y 移動到節點 X 前,確保節點 Y 作為節點 X 的父節點的情況被檢測;b)將節點 Y 移動到節點 X 后,確保節點 Y 作為節點 X 和 Y 之間節點的父節點的情況被檢測;c) 節點 Y 保持不動。執行過程如圖2所示。分別對這三種情況進行BD評分[29]判定,選擇評分最優的序列。其中,BD評分函數如下:
score (G|D)= log "P(G)+∑ n i=1 ∑ q i j=1 [ log "Γ(a ij*) Γ(a ij*+m ij*) + ∑ r i k=1 "log "Γ(a ijk+m ijk) Γ(a ijk) ] ""(3)
其中: a ijk 是狄利克雷分布中的超參數, a ij*=∑ r i k=1 a ijk ; "m ijk 表示變量 X i 的狀態為 k 時,其父節點取第 j 個值的樣本數量, m ij*=∑ r i k=1 m ijk 。
注意,從實驗中觀察到距離閾值的設定對鄰居集調整策略至關重要,如果閾值過小,節點序列會陷入局部最優,如果閾值過大,節點更新次數較少,極易丟失最佳節點序。到目前,已經有了一個能夠使用K2算法學習貝葉斯網絡結構的顯著節點序。所提H-vnK2算法整體流程如算法1所示。
算法1 H-vnK2算法
輸入:節點集 N ;數據集 D ;距離閾值 γ ;父節點上限數 u 。
輸出:一個貝葉斯網絡。
for "i=1 : n
for "j=1 : n
按照式(1)(2)計算每兩條邊的因果效應
if "CE X i→X jgt;CE X j→X i
d X i=d X i+1
else "d X j=d X j+1
end if
end for
end for
將每個節點按照優先度降序排序,獲得初始序列order
使用PC算法得到v結構 -v和各個節點的鄰居集-b;
while "X i,X j,X k∈v
if "X i→X j←X k=1
將 X i , X k 移動到 X j 前面
while distance (X i,X l)gt;γ∈b
計算貝葉斯評分分數,調整位置
end while
end if
end while
返回order
將order作為K2算法的節點順序
for "i=1 : n
π i=
計算出節點 X i 的評分 P old
令OKTOProceed為真
while OKTOProceed and "|π i|lt;u "do
找出排在 X i 前面的變量 X j ,得到最大新評分 P new
if "P newgt;P old "then
P old=P new
π i=π i∪{j};
else OKTOProceed為假
end if
end while
end for
3 實驗結果與分析
實驗在MATLAB R2016a環境下運行,平臺為Windows 7,CPU為i5-4210M,內存8 GB。選擇使用FullBNT-1.0.7工具箱中的Asia[26]和Alarm[27]兩個通用標準貝葉斯網絡進行實驗,其信息如表1所示。與基于因果效應的方法[19]、爬山法[1]、MMHC算法[12]和MCMC算法[28]進行比較,分別從正確邊、反向邊、冗余邊、缺失邊的平均值與標準差方面驗證H-vnK2算法對于貝葉斯網絡學習的優質性能。
1)Asia網絡 Asia網絡是一個小型網絡,主要用于呼吸系統疾病診斷。分別取2 000、4 000、6 000、8 000、10 000、12 000、14 000、16 000、18 000、20 000十組樣本量數據進行實驗,選用式(1)學習節點優先序列,距離閾值取4,實驗結果如表2和圖3~6所示。
由表2可知,H-vnK2算法學習的Asia網絡正確邊數目達到平均7.7條,較基于因果效應的方法提高了10%,較MMHC算法的正確邊數目提高了22%,除了缺失邊平均值略高于基于因果效應的方法0.1以外,在反向邊和冗余邊方面的性能均優于對比算法。
v-結構集調整與鄰居集距離更新策略相結合,使用基于v-結構的正確父子順序信息和基于鄰居集的距離信息,全面檢測錯誤父子順序并進行修正,有效減少了錯誤邊的產生。
圖3給出了不同樣本量下各個算法的正確邊數目,H-vnK2算法在2 000個樣本時較MCMC算法少一條正確邊,原因在于K2算法本身的局限性,即當樣本量較少時,即使在正確的變量序下,K2算法的精度也會受到影響。當樣本量大于等于10 000時,正確邊數目達到穩定,均能學習到正確網絡。
在對比算法中,基于因果效應的方法是最為優越的。圖4給出了H-vnK2算法對基于因果效應方法的正確邊增量對比。基于因果效應的方法通過刪除邊和反向調節策略修正非法結構,存在陷入局部最優的可能,H-vnK2算法直接更新節點序列更為靈活,從源頭上避免非法結構,結果表明了算法的有效性,增量最高可以達到33.3%。
圖5給出了不同算法學習Asia網絡的標準差對比,由于Asia網絡為小型網絡,僅有8條邊,學習難度不高,所以正確邊標準差差距不大,但仍然可以看出H-vnK2算法的數據波動最為穩定。圖6展示了不同算法學習Asia網絡的正確率對比,H-vnK2算法的正確率達到了96%,優于對比算法。
實驗表明,對于Asia網絡,提議的H-vnK2算法比基于因果效應方法的性能更優異,在十組實驗中,有七組數據學習到了正確的網絡結構,而基于因果效應的方法只有四組數據能學到真實的結構。究其原因,H-vnK2算法產生反向邊和冗余邊情況的概率遠低于基于因果效應的方法。
2)Alarm網絡 Alarm網絡是一個復雜網絡,主要用于醫療診斷監控。在實驗中分別生成2 000、4 000、6 000、8 000、10 000不同樣本量的五組數據進行實驗,選用式(2)學習節點優先序列,距離閾值取14,實驗結果如表3和圖7~10所示。
由表3可知,在Alarm網絡中,H-vnK2算法在平均正確邊數目上達到了42.8條,而基于因果效應的方法平均正確邊數目只達到41.2條,MMHC算法的正確邊數目平均只有34.1條,H-vnK2算法較基于因果效應的方法準確率提高了3.9%,較MMHC算法準確率提高了25.5%。
H-vnK2算法雖然在缺失邊性能上不及基于因果效應的方法,但在總體性能錯誤邊上,本文H-vnK2算法優于對比算法,原因是在學習節點序列過程中,該算法可以有效避免反向邊的產生。
圖7展示了各個算法的正確邊數目對比,H-vnK2算法明顯優于對比算法,樣本量2 000時能得到40條正確邊,樣本量8 000時可以學習到45條正確邊,在五組數據中有四組數據都優于基于因果效應的方法。其原因是H-vnK2算法能夠獲得一個質量較好的節點序列。
圖8展示了H-vnK2算法與對比算法中表現最優的基于因果效應方法的正確邊增量對比,在相同樣本量下,比較基于因果效應方法的BDe評分調邊策略,H-vnK2算法應用的策略可以學習到更多的正確邊,樣本量4 000和6 000時增量達到最高。
圖9展示了不同算法正確邊的標準差對比,由于Alarm網絡中邊數多,父子節點數多,增加了算法陷入局部最優情況的可能性,所以正確邊標準差差距較大。相比而言,H-vnK2算法正確邊標準差性能最好。圖10展示了Alarm網絡中不同算法學習的正確率對比,H-vnK2算法的正確率達到了93%。
實驗表明,在Alarm網絡數據集上,H-vnK2算法的準確性和穩定性都優于基于因果效應的方法、MMHC算法、爬山法和MCMC算法,有更好的學習性能,可以獲得更高質量的貝葉斯網絡結構。
4 結束語
針對K2算法需要優質先驗序的問題,提出了一種基于v-結構和鄰居集的啟發式貝葉斯網絡結構學習方法。該算法通過因果效應構建初始節點序列,利用PC算法學習的v-結構和鄰居集對初始節點序進行父子關系修正操作。基于v-結構的塊調整策略不僅提高了序搜索效率而且保證了序的質量;基于鄰居集的啟發式策略有效避免了局部最優的場景。最后通過K2算法得到最佳網絡模型。相較于對比算法,該算法在準確性和穩定性上都具有明顯優勢,可以學習到優質的網絡結構,進一步解決了K2算法對準確先驗節點序的需求,為貝葉斯網絡的學習提供了新的思路。
參考文獻:
[1] "張連文,郭海鵬.貝葉斯網引論[M].北京:科學出版社,2006. (Zhang Lianwen,Guo Haipeng.Introduction to Bayesian nets[M].Beijing:Science Press,2006.)
[2] Lou Chuyue,Li Xiangshun,Atoui M A.Bayesian network based on an adaptive threshold scheme for fault detection and classification[J]. Industrial and Engineering Chemistry Research ,2020, 59 (34):15155-15164.
[3] Taghi-Molla A,Rabbani M,Gavareshki M, et al .Safety improvement in a gas refinery based on resilience engineering and macro-ergonomics indicators:a Bayesian network-artificial neural network approach[J]. International Journal of System Assurance Engineering and Management ,2020, 11 (3):641-654.
[4] "黃詩雯,劉朝暉,羅凌云,等.融合行為和遺忘因素的貝葉斯知識追蹤模型研究[J].計算機應用研究,2021, 38 (7):1993-1997. (Huang Shiwen,Liu Zhaohui,Luo Lingyun, et al .Research on Bayesian knowledge tracking model integrating behavior and forgetting factors[J]. Application Research of Computers ,2021, 38 (7):1993-1997.)
[5] 臧艷輝,趙雪章,席運江.Spark框架下利用分布式NBC的大數據文本分類方法[J].計算機應用研究,2019, 36 (12):3705-3708,3712. (Zang Yanhui,Zhao Xuezhang,Xi Yunjiang.Big data text classification method using distributed NBC under Spark framework[J]. Application Research of Computers ,2019, 36 (12):3705-3708,3712.)
[6] Chickering D M.Learning Bayesian networks is NP-complete[J]. Networks ,1996, 112 (2):121-130.
[7] Spirtes P,Glymour C,Scheines R.Causality from probability[M].Berlin:Springer,1989.
[8] Colombo D,Maathuis M H.Order-independent constraint-based causal structure learning[J]. The Journal of Machine Learning Research ,2014, 15 (1):3741-3782.
[9] Lam W,Bacchus F.Learning Bayesian belief networks:an approach based on the MDL principle[J]. Computational Intelligence ,1994, 10 (3):269-293.
[10] Liu Xuqing,Liu Xinsheng.Structure learning of Bayesian networks by continuous particle swarm optimization algorithms[J]. Journal of Statistical Computation and Simulation ,2018, 88 (9):1-29.
[11] Chen Xuewen,Anantha G,Lin Xiaotong.Improving Bayesian network structure learning with mutual information-based node ordering in the K2 algorithm[J]. IEEE Trans on Knowledge amp; Data Enginee-ring ,2008, 20 (5):628-640.
[12] Tsamardinos I,Brown L E,Aliferis C F.The max-min hill-climbing Bayesian network structure learning algorithm[J]. Machine Lear-ning ,2006, 65 (1):31-78.
[13] 周慕宇,劉以安,肖穎.K2算法在貝葉斯網絡結構學習中的改進研究[J].南京理工大學學報:自然科學版,2020, 44 (3):320-324. (Zhou Muyu,Liu Yian,Xiao Ying.Research on the improvement of K2 algorithm in Bayesian network structure learning[J]. Journal of Nanjing University of Science and Technology:Natural Science Edition ,2020, 44 (3):320-324.)
[14] Cooper G F,Herskovits E.A Bayesian method for the induction of probabilistic networks from data[J]. Machine Learning ,1992, 9 (4):309-347.
[15] 洪宇.基于信息論的貝葉斯網絡結構學習算法研究[D].上海:東華大學,2017. (Hong Yu.Research on Bayesian network structure learning algorithm based on information theory[D].Shanghai:Donghua University,2017.)
[16] "Qi Xiaolong,Shi Yinhuan,Wang Hao, et al .Grouping parallel Bayesian network structure learning algorithm based on variable ordering[C]//Proc of International Conference on Intelligent Data Engineering and Automated Learning.Cham:Springer,2016:405-415.
[17] "趙高長,王欣,張仲華,等.基于MWST+T-K2結構學習算法的貝葉斯分類器[J].復旦學報:自然科學版,2017, 56 (1):48-56. (Zhao Gaochang,Wang Xin,Zhang Zhonghua, et al .Bayesian classifier based on MWST+T-K2 structure learning algorithm[J]. Journal of Fudan University:Natural Science Edition ,2017, 56 (1):48-56.)
[18] "劉彬,王海羽,孫美婷,等.一種通過節點序尋優進行貝葉斯網絡結構學習的算法[J].電子與信息學報,2018, 40 (5):1234-1241. (Liu Bin,Wang Haiyu,Sun Meiting, et al .An algorithm for Bayesian network structure learning through node order optimization[J]. Journal of Electronics amp; Information Technology ,2018, 40 (5):1234-1241.)
[19] 安寧,滕越,楊矯云,等.基于因果效應的貝葉斯網絡結構學習方法[J].計算機應用研究,2018, 35 (12):3609-3613. (An Ning,Teng Yue,Yang Jiaoyun, et al .Bayesian network structure learning method based on causal effects[J]. Application Research of Computers ,2018, 35 (12):3609-3613.)
[20] 姚潔,朱響斌,宋新方,等.基于節點排序的貝葉斯網絡結構學習算法[J].計算機工程,2017, 43 (5):317-321. (Yao Jie,Zhu Xiangbin,Song Xinfang, et al .Bayesian network structure learning algorithm based on node ordering[J]. Computer Engineering ,2017, 43 (5):317-321.)
[21] Gao Fan,Huang Da.A node sorting method for K2 algorithm in Bayesian network structure learning[C]//Proc of IEEE International Conference on Artificial Intelligence and Computer Applications.Piscataway,NJ:IEEE Press,2020:106-110.
[22] 劉艷杰,李霞.基于貝葉斯網絡的學生成績預測[J].山東理工大學學報:自然科學版,2019, 33 (5):75-78. (Liu Yanjie,Li Xia.Student performance prediction based on Bayesian network[J]. Journal of Shandong University of Technology:Natural Science Edition ,2019, 33 (5):75-78.)
[23] Behjati S,Beigy H.Improved K2 algorithm for Bayesian network structure learning[J]. Engineering Applications of Artificial Intelligence ,2020, 91 (5):1-12.
[24] Spirtes P,Glymour C.An algorithm for fast recovery of sparse causal graphs[J]. Social Science Computer Review ,1991, 9 (1):62-72.
[25] Yu Kui,Li Jiuyong,Liu Lin.A review on algorithms for constraint-based causal discovery[EB/OL].(2016-11-24).https://arxiv.org/abs/1611.03977.
[26] Lauritzen S L,Spiegelhalter D J.Local computations with probabilities on graphical structures and their application to expert systems[J]. Journal of the Royal Statistical Society:Series B ,1988, 50 (2):157-194.
[27] Beinlich I A,Suermondt H J,Chavez R M, et al. The ALARM monitoring system:a case study with two probabilistic inference techniques for belief networks[J]. Lecture Notes in Medical Informatics ,1989, 38 (1):247-256.
[28] Andrieu C,Freitas N D,Doucet A, et al. An introduction to MCMC for machine learning[J]. Machine Learning ,2003, 50 (1):5-43.