劉曉明 李盼池 劉顯德 肖 紅
(東北石油大學計算機與信息技術學院 大慶 163318)
在貝葉斯網絡的參數學習過程中,可以將新數據輸入貝葉斯網絡中,進一步更新各節點的概率,這個過程被稱為概率繁殖[1]。利用新數據對網絡中變量的先驗分布進行更新,這是貝葉斯網絡學習中的一個非常重要的問題。
在統計學中,參數學習稱為參數估計,它有兩種基本方法,即最大似然估計法和貝葉斯估計法[2]。目前對于完備數據的參數學習算法已經發展到比較成熟的階段,但是對于從不完備數據中學習貝葉斯網絡的參數卻仍是一個亟需攻克的難題。
本文采用不同方法對原始數據進行離散處理,并構建相對應的貝葉斯網絡以供后期預測分析使用。本文使用UCI數據庫中的transfusion數據集,采自某血液采集服務中心,具體工作包括以下三部分:
1)利用Matlab采用兩種不同(等寬法、ChiMerge法)方法對數據進行離散化處理;
2)利用離散后的數據運用Netica進行相應貝葉斯網絡的構建,并進行參數學習;
3)利用構建的貝葉斯網絡進行簡單的預測分析。
等寬法是最簡單的無監督離散化方法,指將連續變量的取值空間等分為多個取值區間[3]。它需要用戶認為的指定離散的區間數目K,然后將數據集的值域{Xmin,Xmax}劃分為K個區間,使得每個區間的寬度都相等,都等于(Xmax-Xmin)/K。等寬法雖然簡單易于實現,但是存在著固有的局限性,當原始數據的值域中存在偏斜極為嚴重的點時,會大大影響離散化的效果。
如下,原始數據中的Recency、Frequency、Monetary、Time屬性經過無監督的等寬法離散后得到的結果如表1、表2、表3、表4所示。本文在等寬法的離散中,將原始數據的值域等分為3份進行離散,以下表格顯示了離散結果的區間名、對應值和每個區間中實例數目占總的實例數的百分比。

表1 Recency的等寬法離散結果

表2 Frequency的等寬法離散結果

表3 Monetary的等寬法離散結果

表4 Time的等寬法離散結果
ChiMerge是有監督的,自底向上基于合并的離散化方法[4]。它以卡方分析為基礎進行數據的離散化,相鄰區間中卡方值最小的兩個合并在一起,循環直至計算合并符合停止準則為止。
卡方值的計算公式為

其中,m為每次進行比較的區間數目,此處為2;k為類別數量;Aij表示第i類區間中第j類實例的 數 量 ;表示第j類實例 的 數量;表示總的實例數量的期望頻率。
具體算法如下:
1)初始化:根據要離散的屬性對數據進行排序,每個數據為一個單獨的區間,本文選取的是YNinMar2007屬性,即是獻血者是否在2007年3月份獻過血;
2)計算每兩個相鄰區間的卡方值,將卡方值最小的兩個區間進行合并;
3)判斷是否符合循環終止條件,符合則跳出循環,不符合則返回執行2)。
如下,原始數據中的Recency、Frequency、Monetary、Time屬性經過有監督的ChiMerge法離散后得到的結果如表5、表6、表7、表8所示。在本文ChiMerge法中,人為設定離散化的區間數目為3個,選取YNinMar2007屬性即2007年3月獻血者是否有獻過血作為類別信息,總共分兩類,YNin-Mar2007值為1表示獻過血,為0表示沒有獻過血。以下表格顯示了離散結果的區間名、對應值和每個區間中實例數目占總的實例數的百分比。

表5 Recency的ChiMerge法離散結果

表6 Frequency的ChiMerge法離散結果

表7 Monetary的ChiMerge法離散結果

表8 Time的ChiMerge法離散結果
從兩個離散結果來看,等寬法的弊端顯示較為明顯,由于只是無監督地劃分,前三個維度的數據,即Recency、Frequency和Monetary的離散結果數據過于集中在一個區間里,這是由于原始數據的值域較大而數據分布不均勻導致的。整體看來,等寬區間由于其固有的局限性和原始數據的偏斜程度較大,離散出來的結果較為不理想。ChiMerge法的離散結果比較較為理想,但由于都是需要人為地指定離散的區間數,也存在一定的問題。這需要投入進一步的工作研究,探究如何科學地權衡區間數的選擇,使得這兩種離散方法更為完善和科學。
對于之前離散化得出的結果,將748個數據分成兩份,隨機選取其中500個數據作為訓練數據集(training set),其余的248個數據作為驗證數據集(testing set)。使用Netica構造相應的貝葉斯網絡,進行參數學習,并加入一個效用節點(utility node)和決策節點(decision node)進行簡單的預測分析。
Netica是由加拿大的Norsys公司開發的一款專門用于貝葉斯網絡的軟件。Netica具有多種構造節點概率表(CPT)的途徑:1)可以從文件中導入案例(case file)數據,基于案例通過貝葉斯網絡參數學習自動獲得;2)基于專家知識獲得,可以直接手工編輯輸入節點概率表的各項內容;3)手工編輯給出概率公式,計算獲得節點概率表。本文通過導入case file進行參數學習獲得貝葉斯網絡的結構。
3.2.1 構造的網絡
根據第三章所介紹的等寬法離散后的數據以csv文件格式存儲,在Netica軟件中由導入案例的方法,作為case file導入并進行參數學習,獲得如圖1所示的貝葉斯網絡,該網絡中各個節點的條件概率表分別對應如圖2、圖3、圖4、圖5、圖6所示。
構造的貝葉斯網絡如圖1所示。

圖1 等寬法離散結果的貝葉斯網絡
將Recency作為target node,學習得到的各點條件概率表如下:
1)Recency的條件概率表

圖2 Recency的條件概率表
2)Frequency的條件概率表

圖3 Frequency的條件概率表
3)Monetary的條件概率表

圖4 Monetary的條件概率表
4)Time的條件概率表

圖5 Time的條件概率表
5)YNinMar2007的條件概率表

圖6 YNinMar2007的條件概率表
3.2.2 預測分析
在構造完成的貝葉斯網絡中加入一個效用節點和一個決策節點,選擇總的獻血量以此預測一個獻血者是否會獻血的概率。
決策網絡如圖7所示。

圖7 決策網絡
決策節點D的條件概率表如圖8:
根據預測分析,如果一個獻血者的獻血總量比較少的話,那他就傾向于不會獻血,如果獻血量是
一般或者多的話,那他就傾向于會獻血。

圖8 決策節點的條件概率表
3.3.1 構造的網絡
使用ChiMerge法離散后的數據同樣以csv文件格式存儲,在Netica中以case file的形式導入并進行參數學習,得到如圖9所示的貝葉斯網絡,該網絡中各個節點的條件概率表分別對應如圖10、圖11、圖12、圖13、圖14所示。
構造的貝葉斯網絡如圖9所示。

圖9 ChiMerge法離散結果的貝葉斯網絡
將Recency作為target node,學習得到的各點CPT如下:
1)Recency的條件概率表

圖10 Recency的條件概率表
2)Frequency的條件概率表

圖11 Frequency的條件概率表
3)Monetary的條件概率表

圖12 Monetary的條件概率表
4)Time的條件概率表

圖13 Time的條件概率表
5)YNinMar2007的條件概率表

圖14 YNinMar2007的條件概率表
3.3.2 預測分析
在如圖9所示的貝葉斯網絡基礎上,加入一個效用節點U和一個決策節點D,根據總的獻血量以此預測一個獻血者是否會獻血的概率。
決策網絡如圖15所示。

圖15 決策網絡
決策節點D的條件概率表如圖16所示。

圖16 決策節點的條件概率表
根據預測分析,如果一個獻血者的獻血總量比較少的話,那他就傾向于不會獻血,如果獻血量是一般或者多的話,那他就傾向于會獻血。
根據兩種不同離散方法得出的結果構造出來的貝葉斯網絡,我們可以看出,基于原始數據使用不同的離散化方法,得出的離散結果用于構造貝葉斯網絡,所構造出來的網絡結構是一樣的。但是經過case file的加入進行參數學習后,各個節點的節點概率表呈現出了明顯的差別。對于等寬法構造出來的貝葉斯網絡,跟從原始數據離散后的結果一樣,節點Recency、Frequency、Monetary的節點概率表也呈現出了很大程度的傾斜。ChiMerge法離散后的數據構造的貝葉斯網絡雖然各節點的節點概率表不盡相同,但根據網絡中從Monetary屬性引出的決策節點D的條件概率表卻大致相近,而等寬法構造的貝葉斯網絡決策圖對于獻血者是否獻血的預測則與ChiMerge法出入較大。
本文中選用了比較有代表性的兩個方法(等寬法、ChiMerge法)對數據進行離散化。根據離散化方法選擇的不同,離散出的數據構造出來的貝葉斯網絡也不盡相同。等寬法簡單易行,但由于其算法固有的局限性,對于具體的數據集要求比較嚴格,當存在對于值域來說偏斜極為嚴重的點時,這種類型的離散化方法是極為脆弱的,離散的效果會大大降低。ChiMerge算法屬于有監督的離散,在其離散的過程中考慮了類別信息,因此較為科學。但因為需要人為地指定離散的區間數目,由于人類認識的局限性,無法科學地權衡區間的個數以達到最好的離散效果,因此這需要進一步地投入研究,爭取能探究出一個科學地權衡區間數的辦法,使得這兩種離散方法更為科學和完善。
[1]黃影平.貝葉斯網絡發展及其應用綜述[J].北京理工大學學報,2013,33(12):1211-1219.HUANG Yingping.Survey on Bayesian Network Development and Application[J].Transactions of Beijing Institute of Technology,2013,33(12):1211-1219.
[2]吳紅,王維平,楊峰.貝葉斯網絡參數學習中的連續變量離散化方法[J].系統工程與電子技術,2012,34(10):2157-2162.WU Hong,WANG Weiping,YANG Feng.Discretization Method of Continuous Variables in Bayesian Network Parameter Learning[J].Systems Engineering and Electronics,2012,34(10):2157-2162.
[3]周旋,王磊,朱延廣,等.貝葉斯網參數學習中連續變量離散化方法研究[J].計算機仿真,2009,26(9):136-139.ZHOU Xuan,WANG Lei,ZHU Yanguang,et al.A Discretization Method of Continuous Variable in Bayesian Network Parameter Learning[J].Computer Simulation,2009,26(9):136-139.
[4]李曉毅,徐兆棣,孫笑微.貝葉斯網絡的參數學習研究[J].沈陽農業大學學報,2007-02,38(I):125-128.LI Xiaoyi,XU Zhaodi,SUN Xiaowei.Study on Parameter Learning of Bayesian Network[J].Journal of Shenyang Agricultural University,2007-02,38(I):125-128.
[5]王飛,劉大有,薛萬欣.基于遺傳算法的Bayesian網中連續變量離散化的研究[J].計算機學報,2002,25(8):794-800.WANG Fei,LIU Dayou,XUE Wanxin.Discretizing Continuous Variables of Bayesian Networks[J].Chinese Journal of Computers,2002,25(8):794-800.
[6]厲海濤,金光,周經倫,等.貝葉斯網絡推理算法綜述[J].系統工程與電子技術,2008,30(5):935-939.LI Haitao,JIN Guang,ZHOU Jinglun,et al.Survey of Bayesian Network Inference Algorithms[J].Systems Engineering and Electronics,2008,30(5):935-939.
[7]Jaeger M.Parameter learning for relational bayesian networks[C]//In:Proceedings of the 24th international conference on Machine learning,ACM,2007:369-376.
[8]Udomsakdigool A,Khachitvichyanukul V.Ant colony algorithm for multi-criteria Job shop scheduling to minimize makespan,mean flow time and mean tardiness[J].International Journal of Management Science and Engineering Management,2011,6(2):117-123.
[9]Su J,Zhang H,Ling C X,et al.Discriminative parameter learning for Bayesian networks[C]//In:Proceedings of the 25th international conference on Machine learning,ACM,2008:1016-1023.
[10]Heckerman D,Geiger D,Chickering D M.Learning Bayesian networks:The combination of knowledge and statistical data[J].Machine learning,1995,20(3):197-243.