本發(fā)明屬于概率圖模型技術(shù)領(lǐng)域,涉及概率圖模型之間的轉(zhuǎn)換技術(shù),尤其是一種將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖的方法及系統(tǒng)。
背景技術(shù):
概率(probability)在機(jī)器學(xué)習(xí)、模式識別、數(shù)據(jù)挖掘、大數(shù)據(jù)分析等智能分析推理技術(shù)領(lǐng)域起著核心作用。傳統(tǒng)的概率論(probability theory)可以用和規(guī)則(the sum rule)、積規(guī)則(the product rule)方程式來表示,所有概率推理和學(xué)習(xí)的代數(shù)操作(algebraic manipulations)都等同于反復(fù)應(yīng)用這兩個簡單方程式。然而,借助概率圖模型(probabilistic graphical model),可將概率模型的底層代數(shù)表示(algebraic representations)等價變換成為直觀的圖形表示(graphical representations),這樣,概率推理和學(xué)習(xí)的復(fù)雜代數(shù)操作就可借助更為直觀、方便的圖操縱(graphical manipulations)來實現(xiàn)。
關(guān)于概率圖模型技術(shù),可參閱全球最權(quán)威的學(xué)術(shù)專著:Daphne Koller and Nir Friedman.Probabilistic Graphical Models:Principles and Techniques.The MIT Press,2009.ISBN 978-0-262-01319-2(下文簡稱為《Probabilistic Graphical Models:Principles and Techniques》),該專著的中譯版為:作者:[美]Daphne Koller,[以色列]Nir Friedman;譯者:王飛躍,韓素青.概率圖模型:原理與技術(shù).清華大學(xué)出版社,2015.ISBN:978-7-302-37134-2(下文簡稱為《概率圖模型:原理與技術(shù)》)。
概率圖模型是概率論(probability theory)與圖論(graph theory)相結(jié)合的產(chǎn)物,通過圖模型來表示概率分布(probability distributions),尤其是表示隨機(jī)變量之間的條件依賴(conditional dependence)關(guān)系與結(jié)構(gòu)。一個概率圖模型通過連接線(links)——也稱邊(edges)或弧(arcs),來連接一對節(jié)點(nodes)——也稱頂點(vertices);每個節(jié)點表示一個隨機(jī)變量(random variables)(或隨機(jī)變量組),通過連接線來表示隨機(jī)變量之間的概率關(guān)系。于是,概率圖模型表示了代數(shù)上的一種因子分解(factorization)關(guān)系,即:定義在一個隨機(jī)變量集上的聯(lián)合分布可被分解成各自僅依賴于一個變量子集的函數(shù)(即因子)的乘積。
常用的概率圖模型包括有向圖模型(directed graphical models)和無向圖模型(undirected graphical models)。
有向圖模型常稱為貝葉斯網(wǎng)絡(luò)(Bayesian network)(參見:《Probabilistic Graphical Models:Principles and Techniques》,Section 3.2 Bayesian Networks,pages 51–68中的Definition 3.5,page 62;或者:《概率圖模型:原理與技術(shù)》,3.2貝葉斯網(wǎng),pages 51–68,定義3.5,page 61),適用于表示隨機(jī)變量之間的因果關(guān)系(causal relationships)。貝葉斯網(wǎng)絡(luò)是一個有向無環(huán)圖(directed acyclic graph,DAG),其中,每個節(jié)點表示一個隨機(jī)變量,每條有向邊連接一對具有父子關(guān)系的隨機(jī)變量節(jié)點,每組具有相同子節(jié)點的有向邊表示一個隨機(jī)變量的局部條件分布(local conditional distribution),該局部條件分布以該隨機(jī)變量節(jié)點的若干個父節(jié)點(parents)所表示的隨機(jī)變量為條件,若該隨機(jī)變量節(jié)點沒有父節(jié)點,則該局部條件分布就是該隨機(jī)變量的邊緣分布(marginal distribution),于是,定義在所有隨機(jī)變量上的聯(lián)合分布可表示為所有局部條件分布(即因子)的乘積。
無向圖模型常稱為馬爾可夫隨機(jī)場(Markov random field,MRF)或馬爾可夫網(wǎng)絡(luò)(Markov network)(參見:《Probabilistic Graphical Models:Principles and Techniques》,Section 4.2.2Gibbs Distributions and Markov Networks,pages 108–110中的Definition 4.3,page 108和Definition 4.4,page 109;或者:《概率圖模型:原理與技術(shù)》,4.2.2吉布斯分布與馬爾可夫網(wǎng),pages 107–109中的定義4.3,page 107和定義4.4,page 108),適用于表示隨機(jī)變量之間的軟約束(soft constraints)。
因子圖(factor graph)是一種新穎的無向圖模型(參見:《Probabilistic Graphical Models:Principles and Techniques》,Section 4.4.1.1 Factor Graphs,pages 123–124,Definition 4.13,page 123;或者:《概率圖模型:原理與技術(shù)》,4.4.1.1因子圖,pages 121–122,定義4.13,page 122)。因子圖是由變量節(jié)點與因子(factor)節(jié)點所構(gòu)成的一個二分圖(bipartite graph),因子或因子節(jié)點也稱為局部函數(shù)(local function),在因子圖中,每個變量節(jié)點表示變量集中的一個變量,每個因子節(jié)點表示定義在變量子集上的一個局部函數(shù),當(dāng)且僅當(dāng)某個變量是一個局部函數(shù)的自變量(argument)時,該變量節(jié)點與該因子節(jié)點之間有一條無向邊,于是,定義在變量集上的一個全局函數(shù)(global function)可表示為所有定義在變量子集上的局部函數(shù)(即因子)的乘積;當(dāng)全局函數(shù)用于表示一組隨機(jī)變量的聯(lián)合分布時,因子圖成為一種新穎的概率圖模型。因子圖模型的突出優(yōu)勢在于概率推理的代數(shù)操作可借助因子圖上的高效率的推理算法來實現(xiàn)。
概率圖模型之間的相互轉(zhuǎn)換技術(shù)有利于復(fù)用已有的概率模型,簡化概率建模過程,從而促進(jìn)概率圖模型在機(jī)器學(xué)習(xí)、模式識別、數(shù)據(jù)挖掘、大數(shù)據(jù)分析等智能分析推理技術(shù)領(lǐng)域中的應(yīng)用。貝葉斯網(wǎng)絡(luò)、馬爾可夫網(wǎng)絡(luò)等傳統(tǒng)概率圖模型之間的相互轉(zhuǎn)換已存在相應(yīng)的方法,例如,從貝葉斯網(wǎng)絡(luò)到馬爾可夫網(wǎng)絡(luò)的轉(zhuǎn)換方法(參見:《Probabilistic Graphical Models:Principles and Techniques》,Section 4.5.1 From Bayesian Networks to Markov Networks,pages 134–137;或者:《概率圖模型:原理與技術(shù)》,4.5.1從貝葉斯網(wǎng)到馬爾可夫網(wǎng),pages 132–136),從馬爾可夫網(wǎng)絡(luò)到貝葉斯網(wǎng)絡(luò)的轉(zhuǎn)換方法(參見:《Probabilistic Graphical Models:Principles and Techniques》,Section 4.5.2 From Markov Networks to Bayesian Networks,pages 137–139;或者:《概率圖模型:原理與技術(shù)》,4.5.2從馬爾可夫網(wǎng)到貝葉斯網(wǎng),pages 136–138)。然而,傳統(tǒng)概率圖模型向因子圖這樣的新穎概率圖模型的等價轉(zhuǎn)換,目前尚缺乏相應(yīng)的方法,也缺乏完整、可實施的技術(shù)方案。本發(fā)明的目的就是提供一種將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖的方法及系統(tǒng)。所謂“等價轉(zhuǎn)換”就是,雖然轉(zhuǎn)換前后的兩種概率圖模型在圖形表示上完全不同,但它們在代數(shù)上所表示的聯(lián)合分布的因子分解關(guān)系是完全等價的。
技術(shù)實現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是提供一種將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖的方法及系統(tǒng),從而克服目前缺乏貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換的完整、可實施技術(shù)方案的缺陷。
為解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
根據(jù)本發(fā)明的一個方面,提供了一種將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖的方法,包括下列步驟:
S1:輸入待轉(zhuǎn)換為因子圖的貝葉斯網(wǎng)絡(luò);
S2:依次按轉(zhuǎn)換規(guī)則1、2和3將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖:
轉(zhuǎn)換規(guī)則1:創(chuàng)建因子圖的所有變量節(jié)點,它們分別對應(yīng)于貝葉斯網(wǎng)絡(luò)的所有隨機(jī)變量節(jié)點;
轉(zhuǎn)換規(guī)則2:創(chuàng)建因子圖的所有因子節(jié)點即局部函數(shù),它們分別對應(yīng)于貝葉斯網(wǎng)絡(luò)中表示的所有局部條件分布;
轉(zhuǎn)換規(guī)則3:當(dāng)且僅當(dāng)因子圖中某個變量是一個局部函數(shù)的自變量時,添加連接
該變量節(jié)點與該局部函數(shù)即因子節(jié)點的無向邊;
S3:輸出轉(zhuǎn)換成的因子圖。
在該方法中,所述步驟S1中的貝葉斯網(wǎng)絡(luò)進(jìn)一步包括:
貝葉斯網(wǎng)絡(luò)的圖形表示如下:作為一種概率圖模型,貝葉斯網(wǎng)絡(luò)是一個有向無環(huán)圖,其中,每個節(jié)點表示一個隨機(jī)變量,每條有向邊連接一對具有父子關(guān)系的隨機(jī)變量節(jié)點,每組具有相同子節(jié)點的有向邊表示一個隨機(jī)變量的局部條件分布,該局部條件分布以該隨機(jī)變量節(jié)點的若干個父節(jié)點所表示的隨機(jī)變量子集為條件,若該隨機(jī)變量節(jié)點沒有父節(jié)點,則該局部條件分布就是該隨機(jī)變量的邊緣分布,于是,定義在所有隨機(jī)變量上的聯(lián)合分布可表示為所有局部條件分布的乘積;
貝葉斯網(wǎng)絡(luò)的代數(shù)表示如下:貝葉斯網(wǎng)絡(luò)BN(X,A)表示為一個聯(lián)合分布的因子分解其中,p(X)是定義在隨機(jī)變量集X={x1,...,xK}上的聯(lián)合分布,每個p(xk|parentsk),k∈{1,...,K}是定義在隨機(jī)變量xk∈X上的一個局部條件分布,parentsk是xk節(jié)點的所有父節(jié)點所表示的隨機(jī)變量子集,若則p(xk|parentsk)=p(xk),從非空的parentsk中每個隨機(jī)變量節(jié)點到xk節(jié)點有一條有向邊,所有這樣的有向邊構(gòu)成貝葉斯網(wǎng)絡(luò)BN(X,A)的有向邊集A。
在該方法中,所述步驟S1中的因子圖進(jìn)一步包括:
因子圖的圖形表示如下:因子圖是由變量節(jié)點與因子節(jié)點所構(gòu)成的一個二分圖,其中,每個變量節(jié)點表示變量集中的一個變量,每個因子節(jié)點表示定義在變量子集上的一個局部函數(shù),當(dāng)且僅當(dāng)某個變量是一個局部函數(shù)的自變量時,該變量節(jié)點與該因子節(jié)點之間有一條無向邊,于是,定義在變量集上的一個全局函數(shù)可表示為所有定義在變量子集上的局部函數(shù)的乘積;當(dāng)全局函數(shù)用于表示一組隨機(jī)變量的聯(lián)合分布時,因子圖成為一種新穎的概率圖模型;
因子圖的代數(shù)表示如下:因子圖FG(X,F,E)表示為一個全局函數(shù)的因子分解其中,h(X)是定義在變量集X={x1,...,xK}上的全局函數(shù),每個局部函數(shù)fj(Xj),j∈{1,...,J}稱為定義在變量子集上的一個因子,所有這樣的局部函數(shù)構(gòu)成因子圖FG(X,F,E)的局部函數(shù)集F={f1,...,fJ},同時,因子圖FG(X,F,E)的無向邊集E={(xj,fj)|iif xj∈Xj};當(dāng)全局函數(shù)h(X)用于表示定義在隨機(jī)變量集X上的聯(lián)合分布時,因子圖FG(X,F,E)成為一個概率圖模型。
在該方法中,所述步驟S2中的轉(zhuǎn)換規(guī)則1、2和3進(jìn)一步包括:
轉(zhuǎn)換規(guī)則1的代數(shù)表示如下:將貝葉斯網(wǎng)絡(luò)BN(X,A)中全部K個隨機(jī)變量xk∈X,k∈{1,...,K}對應(yīng)地轉(zhuǎn)換為因子圖FG(X,F,E)中的K個變量
轉(zhuǎn)換規(guī)則2的代數(shù)表示如下:將貝葉斯網(wǎng)絡(luò)BN(X,A)中定義在隨機(jī)變量xk∈X,k∈{1,...,K}上的K個局部條件分布p(xk|parentsk)對應(yīng)地轉(zhuǎn)換為因子圖FG(X,F,E)中的J個局部函數(shù)fj∈F,j∈{1,...,J},這里J=K,即j∈{1,...,K};
轉(zhuǎn)換規(guī)則3的代數(shù)表示如下:令因子圖FG(X,F,E)中全部J=K個局部函數(shù)fj∈F,j∈{1,...,J}分別表示貝葉斯網(wǎng)絡(luò)BN(X,A)中K個局部條件分布,即因子圖的局部函數(shù)fj(Xj)=p(xj|parentsj),j∈{1,...,K},這些局部函數(shù)對應(yīng)表示了因子圖FG(X,F,E)的無向邊集E={(xj,fj)|iif xj∈Xj};令因子圖FG(X,F,E)的全局函數(shù)h(X)表示定義在隨機(jī)變量集X上的聯(lián)合分布,即h(X)=p(X);于是,因子圖FG(X,F,E)所表示的全局函數(shù)的因子分解即為這個因子分解與貝葉斯網(wǎng)絡(luò)BN(X,A)所表示的聯(lián)合分布的因子分解完全等價。
根據(jù)本發(fā)明的另一個方面,還提供了一種將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖的系統(tǒng),包括:貝葉斯網(wǎng)絡(luò)輸入模塊、貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換模塊、因子圖輸出模塊、人機(jī)交互界面,其中:
所述貝葉斯網(wǎng)絡(luò)輸入模塊用于實現(xiàn)輸入待轉(zhuǎn)換為因子圖的貝葉斯網(wǎng)絡(luò);
所述貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換模塊進(jìn)一步包括三個子模塊:因子圖的變量節(jié)點創(chuàng)建子模塊、因子圖的因子節(jié)點創(chuàng)建子模塊和因子圖的無向邊添加子模塊,它們依次分別按轉(zhuǎn)換規(guī)則1、2和3實現(xiàn)將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖;
上述轉(zhuǎn)換規(guī)則1、2和3具體為:
轉(zhuǎn)換規(guī)則1:創(chuàng)建因子圖的所有變量節(jié)點,它們分別對應(yīng)于貝葉斯網(wǎng)絡(luò)的所有隨機(jī)變量節(jié)點;
轉(zhuǎn)換規(guī)則2:創(chuàng)建因子圖的所有因子節(jié)點即局部函數(shù),它們分別對應(yīng)于貝葉斯網(wǎng)絡(luò)中表示的所有局部條件分布;
轉(zhuǎn)換規(guī)則3:當(dāng)且僅當(dāng)因子圖中某個變量是一個局部函數(shù)的自變量時,添加連接該變量節(jié)點與該局部函數(shù)即因子節(jié)點的無向邊;
所述因子圖輸出模塊用于實現(xiàn)輸出轉(zhuǎn)換成的因子圖;
所述人機(jī)交互界面用于實現(xiàn)用戶與該系統(tǒng)之間的人機(jī)交互,包括:用戶通過此界面輸入并圖示一個貝葉斯網(wǎng)絡(luò),用戶通過此界面提交貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換的執(zhí)行指令,用戶通過此界面輸出并圖示一個轉(zhuǎn)換成的因子圖。
本發(fā)明的有益技術(shù)效果主要包括三個方面:(1)克服了目前缺乏貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換的完整、可實施技術(shù)方案的缺陷;(2)所提供的轉(zhuǎn)換方法簡單易行、轉(zhuǎn)換系統(tǒng)易于實現(xiàn);(3)所提供的轉(zhuǎn)換方法及系統(tǒng)在概率建模與推理、機(jī)器學(xué)習(xí)、模式識別、數(shù)據(jù)挖掘、大數(shù)據(jù)分析等領(lǐng)域具有廣闊的應(yīng)用前景。
下面結(jié)合附圖對本發(fā)明的具體實施方式作進(jìn)一步的描述。本發(fā)明附加的方面和優(yōu)點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
附圖說明
圖1是根據(jù)本發(fā)明技術(shù)方案的一種將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖的方法的步驟流程圖;
圖2是根據(jù)本發(fā)明技術(shù)方案的一種將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖的系統(tǒng)的模塊結(jié)構(gòu)與處理流程圖,圖中符號遵循國家標(biāo)準(zhǔn)GB 1526-89(等同于國際標(biāo)準(zhǔn)ISO 5807-1985);
圖3是本發(fā)明的一個優(yōu)選實施例中貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換的過程與規(guī)則的示意。
具體實施方式
下面詳細(xì)描述本發(fā)明的實施方式,所述實施方式的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的概念、對象、要素等或具有相同或類似功能的概念、對象、要素等。下面通過參考附圖描述的實施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語)具有與本發(fā)明所屬領(lǐng)域及相關(guān)領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣定義,不會用理想化或過于正式的含義來解釋。
為了解決上述技術(shù)問題,本發(fā)明是通過以下技術(shù)方案實現(xiàn)的:
根據(jù)本發(fā)明的一個方面,提供了一種將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖的方法,如圖1所示,包括下列步驟:
S1:輸入待轉(zhuǎn)換為因子圖的貝葉斯網(wǎng)絡(luò),所述貝葉斯網(wǎng)絡(luò)進(jìn)一步包括:
貝葉斯網(wǎng)絡(luò)的圖形表示如下:作為一種概率圖模型,貝葉斯網(wǎng)絡(luò)是一個有向無環(huán)圖,其中,每個節(jié)點表示一個隨機(jī)變量,每條有向邊連接一對具有父子關(guān)系的隨機(jī)變量節(jié)點,每組具有相同子節(jié)點的有向邊表示一個隨機(jī)變量的局部條件分布,該局部條件分布以該隨機(jī)變量節(jié)點的若干個父節(jié)點所表示的隨機(jī)變量子集為條件,若該隨機(jī)變量節(jié)點沒有父節(jié)點,則該局部條件分布就是該隨機(jī)變量的邊緣分布,于是,定義在所有隨機(jī)變量上的聯(lián)合分布可表示為所有局部條件分布的乘積;
貝葉斯網(wǎng)絡(luò)的代數(shù)表示如下:貝葉斯網(wǎng)絡(luò)BN(X,A)表示為一個聯(lián)合分布的因子分解其中,p(X)是定義在隨機(jī)變量集X={x1,...,xK}上的聯(lián)合分布,每個p(xk|parentsk),k∈{1,...,K}是定義在隨機(jī)變量xk∈X上的一個局部條件分布,parentsk是xk節(jié)點的所有父節(jié)點所表示的隨機(jī)變量子集,若則p(xk|parentsk)=p(xk),從非空的parentsk中每個隨機(jī)變量節(jié)點到xk節(jié)點有一條有向邊,所有這樣的有向邊構(gòu)成貝葉斯網(wǎng)絡(luò)BN(X,A)的有向邊集A;
上述因子圖進(jìn)一步包括:
因子圖的圖形表示如下:因子圖是由變量節(jié)點與因子節(jié)點所構(gòu)成的一個二分圖,其中,每個變量節(jié)點表示變量集中的一個變量,每個因子節(jié)點表示定義在變量子集上的一個局部函數(shù),當(dāng)且僅當(dāng)某個變量是一個局部函數(shù)的自變量時,該變量節(jié)點與該因子節(jié)點之間有一條無向邊,于是,定義在變量集上的一個全局函數(shù)可表示為所有定義在變量子集上的局部函數(shù)的乘積;當(dāng)全局函數(shù)用于表示一組隨機(jī)變量的聯(lián)合分布時,因子圖成為一種新穎的概率圖模型;
因子圖的代數(shù)表示如下:因子圖FG(X,F,E)表示為一個全局函數(shù)的因子分解其中,h(X)是定義在變量集X={x1,...,xK}上的全局函數(shù),每個局部函數(shù)fj(Xj),j∈{1,...,J}稱為定義在變量子集上的一個因子,所有這樣的局部函數(shù)構(gòu)成因子圖FG(X,F,E)的局部函數(shù)集F={f1,...,fJ},同時,因子圖FG(X,F,E)的無向邊集E={(xj,fj)|iif xj∈Xj};當(dāng)全局函數(shù)h(X)用于表示定義在隨機(jī)變量集X上的聯(lián)合分布時,因子圖FG(X,F,E)成為一個概率圖模型。
S2:依次按轉(zhuǎn)換規(guī)則1、2和3將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖:
轉(zhuǎn)換規(guī)則1:創(chuàng)建因子圖的所有變量節(jié)點,它們分別對應(yīng)于貝葉斯網(wǎng)絡(luò)的所有隨機(jī)變量節(jié)點;
轉(zhuǎn)換規(guī)則1的代數(shù)表示如下:將貝葉斯網(wǎng)絡(luò)BN(X,A)中全部K個隨機(jī)變量xk∈X,k∈{1,...,K}對應(yīng)地轉(zhuǎn)換為因子圖FG(X,F,E)中的K個變量
轉(zhuǎn)換規(guī)則2:創(chuàng)建因子圖的所有因子節(jié)點即局部函數(shù),它們分別對應(yīng)于貝葉斯網(wǎng)絡(luò)中表示的所有局部條件分布;
轉(zhuǎn)換規(guī)則2的代數(shù)表示如下:將貝葉斯網(wǎng)絡(luò)BN(X,A)中定義在隨機(jī)變量xk∈X,k∈{1,...,K}上的K個局部條件分布p(xk|parentsk)對應(yīng)地轉(zhuǎn)換為因子圖FG(X,F,E)中的J個局部函數(shù)fj∈F,j∈{1,...,J},這里J=K,即j∈{1,...,K};
轉(zhuǎn)換規(guī)則3:當(dāng)且僅當(dāng)因子圖中某個變量是一個局部函數(shù)的自變量時,添加連接該變量節(jié)點與該局部函數(shù)即因子節(jié)點的無向邊;
轉(zhuǎn)換規(guī)則3的代數(shù)表示如下:令因子圖FG(X,F,E)中全部J=K個局部函數(shù)fj∈F,j∈{1,...,J}分別表示貝葉斯網(wǎng)絡(luò)BN(X,A)中K個局部條件分布,即因子圖的局部函數(shù)fj(Xj)=p(xj|parentsj),j∈{1,...,K},這些局部函數(shù)對應(yīng)表示了因子圖FG(X,F,E)的無向邊集E={(xj,fj)|iif xj∈Xj};令因子圖FG(X,F,E)的全局函數(shù)h(X)表示定義在隨機(jī)變量集X上的聯(lián)合分布,即h(X)=p(X);于是,因子圖FG(X,F,E)所表示的全局函數(shù)的因子分解即為這個因子分解與貝葉斯網(wǎng)絡(luò)BN(X,A)所表示的聯(lián)合分布的因子分解完全等價。
S3:輸出轉(zhuǎn)換成的因子圖FG(X,F,E)。
以本發(fā)明的上述方法為基礎(chǔ),可以進(jìn)一步構(gòu)建一種將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖的系統(tǒng)100,如圖2所示,包括:貝葉斯網(wǎng)絡(luò)輸入模塊101、貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換模塊102、因子圖輸出模塊103、人機(jī)交互界面104,其中:
所述貝葉斯網(wǎng)絡(luò)輸入模塊101用于實現(xiàn)本發(fā)明方法中的步驟S1:輸入待轉(zhuǎn)換為因子圖的貝葉斯網(wǎng)絡(luò);
所述貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換模塊102用于實現(xiàn)本發(fā)明方法中的步驟S2:依次按轉(zhuǎn)換規(guī)則1、2和3將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖;該模塊進(jìn)一步包括三個子模塊:因子圖的變量節(jié)點創(chuàng)建子模塊1021、因子圖的因子節(jié)點創(chuàng)建子模塊1022和因子圖的無向邊添加子模塊1023,它們依次分別按轉(zhuǎn)換規(guī)則1、2和3實現(xiàn)將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖:
轉(zhuǎn)換規(guī)則1:創(chuàng)建因子圖的所有變量節(jié)點,它們分別對應(yīng)于貝葉斯網(wǎng)絡(luò)的所有隨機(jī)變量節(jié)點;
轉(zhuǎn)換規(guī)則2:創(chuàng)建因子圖的所有因子節(jié)點即局部函數(shù),它們分別對應(yīng)于貝葉斯網(wǎng)絡(luò)中表示的所有局部條件分布;
轉(zhuǎn)換規(guī)則3:當(dāng)且僅當(dāng)因子圖中某個變量是一個局部函數(shù)的自變量時,添加連接該變量節(jié)點與該局部函數(shù)即因子節(jié)點的無向邊;
所述因子圖輸出模塊103用于實現(xiàn)本發(fā)明方法中的步驟S3:輸出轉(zhuǎn)換成的因子圖;
所述人機(jī)交互界面104用于實現(xiàn)用戶與該系統(tǒng)之間的人機(jī)交互,包括:用戶通過此界面輸入并圖示一個貝葉斯網(wǎng)絡(luò),用戶通過此界面提交貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換的執(zhí)行指令,用戶通過此界面輸出并圖示一個轉(zhuǎn)換成的因子圖。
上述將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖的系統(tǒng)100可采用的實現(xiàn)技術(shù)包括:
貝葉斯網(wǎng)絡(luò)輸入模塊101可采用常規(guī)的程序設(shè)計語言(如:C++、Java、Python、R等)通過編程及函數(shù)調(diào)用來實現(xiàn),輸入的貝葉斯網(wǎng)絡(luò)以數(shù)據(jù)文件的形式進(jìn)行存儲,數(shù)據(jù)存儲格式可采用一般的有向無環(huán)圖(directed acyclic graph,DAG)的數(shù)據(jù)存儲格式(如:文本文件、CSV文件、XML文檔等);作為一個可選項,輸入的貝葉斯網(wǎng)絡(luò)可進(jìn)一步以有向無環(huán)圖(DAG)的形式在人機(jī)交互界面104進(jìn)行圖示。
貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換模塊102可采用常規(guī)的程序設(shè)計語言(如:C++、Java、Python、R等)通過編程實現(xiàn);轉(zhuǎn)換過程中,需讀取已存儲的貝葉斯網(wǎng)絡(luò)數(shù)據(jù)文件,產(chǎn)生的因子圖中間結(jié)果和最終結(jié)果以數(shù)據(jù)文件的形式進(jìn)行存儲,數(shù)據(jù)存儲格式可采用一般的二分圖(bipartite graph,BG)的數(shù)據(jù)存儲格式(如:文本文件、CSV文件、XML文檔等)。
因子圖輸出模塊103可采用常規(guī)的程序設(shè)計語言(如:C++、Java、Python、R等)通過編程及函數(shù)調(diào)用來實現(xiàn),通過讀取已存儲的因子圖(最終結(jié)果)數(shù)據(jù)文件,以二分圖(BG)的形式在人機(jī)交互界面104進(jìn)行圖示。
人機(jī)交互界面104可使用常規(guī)的人機(jī)交互界面實現(xiàn)技術(shù),其中,基于已存儲的圖數(shù)據(jù),輸入的貝葉斯網(wǎng)絡(luò)可采用一般的有向無環(huán)圖(DAG)可視化技術(shù)在界面上進(jìn)行顯示,轉(zhuǎn)換所得的因子圖可采用一般的二分圖(BG)可視化技術(shù)在界面上進(jìn)行圖示,兩者的圖示也可以通過調(diào)用開源的圖模型工具包中的有關(guān)函數(shù)來實現(xiàn),如工具包GMTK—The Graphical Models Toolkit(http://melodi.ee.washington.edu/gmtk/)。
下面再通過一個優(yōu)選實施例來進(jìn)一步描述本發(fā)明技術(shù)方案的具體實施方式,并進(jìn)一步具體表明本發(fā)明的前述有益技術(shù)效果。本優(yōu)選實施例中貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換的過程與規(guī)則如圖3所示。
本發(fā)明的一種將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖的方法,如圖3所示,包括下列步驟:
S1:輸入待轉(zhuǎn)換為因子圖的貝葉斯網(wǎng)絡(luò);不失一般性,設(shè)輸入的貝葉斯網(wǎng)絡(luò)BN如圖3(A)所示,本實施例的具體情況如下:
貝葉斯網(wǎng)絡(luò)BN的圖形表示如圖3(A)所示:該貝葉斯網(wǎng)絡(luò)是一個含有7個隨機(jī)變量節(jié)點的有向無環(huán)圖,定義在所有隨機(jī)變量上的聯(lián)合分布可表示為所有局部條件分布的乘積。
貝葉斯網(wǎng)絡(luò)BN的代數(shù)表示如圖3(A)的右側(cè)所示:定義在隨機(jī)變量集X={x1,...,x7}上的聯(lián)合分布p(X)=p(x1,x2,x3,x4,x5,x6,x7),定義在X中7個隨機(jī)變量上的局部條件分布p(xk|parentsk)分別是:p(x1),因為p(x2),因為p(x3),因為p(x4|x1,x2,x3),因為parents4={x1,x2,x3};p(x5),因為p(x6|x4),因為parents6={x4};p(x7|x4,x5),因為parents7={x4,x5};于是,該貝葉斯網(wǎng)絡(luò)所表示的聯(lián)合分布的因子分解具體為:
p(x1,x2,x3,x4,x5,x6,x7)=p(x1)p(x2)p(x3)p(x4|x1,x2,x3)p(x5)p(x6|x4)p(x7|x4,x5)。
S2:依次按轉(zhuǎn)換規(guī)則1、2和3將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖:
轉(zhuǎn)換規(guī)則1:創(chuàng)建因子圖的所有變量節(jié)點,它們分別對應(yīng)于貝葉斯網(wǎng)絡(luò)的所有隨機(jī)變量節(jié)點;
轉(zhuǎn)換規(guī)則1的代數(shù)表示如下:將貝葉斯網(wǎng)絡(luò)BN(X,A)中全部K個隨機(jī)變量xk∈X,k∈{1,...,K}對應(yīng)地轉(zhuǎn)換為因子圖FG(X,F,E)中的K個變量如圖3(A)到圖3(B-1)之間的“第一步轉(zhuǎn)換”所示,本實施例的具體情況如下:
創(chuàng)建的因子圖變量具體為:x1,x2,x3,x4,x5,x6,x7分別對應(yīng)于貝葉斯網(wǎng)絡(luò)BN的隨機(jī)變量x1,x2,x3,x4,x5,x6,x7。
轉(zhuǎn)換規(guī)則2:創(chuàng)建因子圖的所有因子節(jié)點即局部函數(shù),它們分別對應(yīng)于貝葉斯網(wǎng)絡(luò)中表示的所有局部條件分布;
轉(zhuǎn)換規(guī)則2的代數(shù)表示如下:將貝葉斯網(wǎng)絡(luò)BN(X,A)中定義在隨機(jī)變量xk∈X,k∈{1,...,K}上的K個局部條件分布p(xk|parentsk)對應(yīng)地轉(zhuǎn)換為因子圖FG(X,F,E)中的J個局部函數(shù)fj∈F,j∈{1,...,J},這里J=K,即j∈{,1,..K};如圖3(B-1)到圖3(B-2)之間的“第二步轉(zhuǎn)換”所示,本實施例的具體情況如下:
創(chuàng)建的因子圖的所有因子節(jié)點即局部函數(shù)具體為:f1,f2,f3,f4,f5,f6,f7分別對應(yīng)于貝葉斯網(wǎng)絡(luò)BN所表示的上述局部條件分布:
p(x1),p(x2),p(x3),p(x4|x1,x2,x3),p(x5),p(x6|x4),p(x7|x4,x5)。
轉(zhuǎn)換規(guī)則3:當(dāng)且僅當(dāng)因子圖中某個變量是一個局部函數(shù)的自變量時,添加連接該變量節(jié)點與該局部函數(shù)即因子節(jié)點的無向邊;
轉(zhuǎn)換規(guī)則3的代數(shù)表示如下:令因子圖FG(X,F,E)中全部J=K個局部函數(shù)fj∈F,j∈{1,...,J}分別表示貝葉斯網(wǎng)絡(luò)BN(X,A)中K個局部條件分布,即因子圖的局部函數(shù)fj(Xj)=p(xj|parentsj),j∈{1,...,K},這些局部函數(shù)對應(yīng)表示了因子圖FG(X,F,E)的無向邊集E={(xj,fj)|iif xj∈Xj};令因子圖FG(X,F,E)的全局函數(shù)h(X)表示定義在隨機(jī)變量集X上的聯(lián)合分布,即h(X)=p(X);于是,因子圖FG(X,F,E)所表示的全局函數(shù)的因子分解即為這個因子分解與貝葉斯網(wǎng)絡(luò)BN(X,A)所表示的聯(lián)合分布的因子分解完全等價;如圖3(B-2)到圖3(B-3)之間的“第三步轉(zhuǎn)換”所示,本實施例的具體情況如下:
令因子圖FG中全部7個局部函數(shù)f1,f2,f3,f4,f5,f6,f7分別表示貝葉斯網(wǎng)絡(luò)BN中7個局部條件分布,即7個局部函數(shù)為:
f1(x1)=p(x1),f2(x2)=p(x2),f3(x3)=p(x3),f4(x1,x2,x3,x4)=p(x4|x1,x2,x3),
f5(x5)=p(x5),f6(x4,x6)=p(x6|x4),f(x4,x5,x7)=p(x7|x4,x5)。
這些局部函數(shù)對應(yīng)表示了因子圖FG的無向邊集:
令因子圖FG的全局函數(shù)h(X)表示定義在隨機(jī)變量集X={x1,...,x7}上的聯(lián)合分布,即h(X)=p(X)。于是,因子圖FG所表示的全局函數(shù)的因子分解為:
p(x1,x2,x3,x4,x5,x6,x7)=p(x1)p(x2)p(x3)p(x4|x1,x2,x3)p(x5)p(x6|x4)p(x7|x4,x5)。
以上因子分解與貝葉斯網(wǎng)絡(luò)BN所表示的聯(lián)合分布的因子分解完全等價,表明已將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖。
S3:輸出轉(zhuǎn)換成的因子圖,本實施例的具體情況如下:
輸出轉(zhuǎn)換成的因子圖FG,見圖3(B-3),該因子圖由貝葉斯網(wǎng)絡(luò)BN等價轉(zhuǎn)換而得。
由本發(fā)明上述技術(shù)方案(包括方法及系統(tǒng))及其具體實施方式(包括優(yōu)選實施例)可理解出各處理步驟的技術(shù)效果和所解決的技術(shù)問題如下:
步驟S1所取得的技術(shù)效果是:輸入了待轉(zhuǎn)換為因子圖的貝葉斯網(wǎng)絡(luò),該貝葉斯網(wǎng)絡(luò)的圖形表示及對應(yīng)的代數(shù)表示可進(jìn)行數(shù)據(jù)存儲;從而解決了技術(shù)問題:如何輸入待轉(zhuǎn)換為因子圖的貝葉斯網(wǎng)絡(luò)。這樣,為本發(fā)明總體技術(shù)問題的解決創(chuàng)造了不可或缺的必要條件。
步驟S2所取得的技術(shù)效果是:基于貝葉斯網(wǎng)絡(luò)數(shù)據(jù)存儲,將貝葉斯網(wǎng)絡(luò)的圖形表示及對應(yīng)的代數(shù)表示等價轉(zhuǎn)換為因子圖的圖形表示及對應(yīng)的代數(shù)表示,并可進(jìn)行數(shù)據(jù)存儲;從而解決了技術(shù)問題:如何將貝葉斯網(wǎng)絡(luò)等價轉(zhuǎn)換為因子圖。這樣,為本發(fā)明總體技術(shù)問題的解決創(chuàng)造了不可或缺的必要條件。
步驟S3所取得的技術(shù)效果是:基于轉(zhuǎn)換所得的因子圖數(shù)據(jù)存儲,輸出等價轉(zhuǎn)換成的因子圖;從而解決了技術(shù)問題:如何輸出轉(zhuǎn)換成的因子圖。這樣,為本發(fā)明總體技術(shù)問題的解決創(chuàng)造了不可或缺的必要條件。
總體來說,由本發(fā)明上述技術(shù)方案及其具體實施方式可以理解的是,本發(fā)明的有益技術(shù)效果主要包括三個方面:(1)克服了目前缺乏貝葉斯網(wǎng)絡(luò)向因子圖等價轉(zhuǎn)換的完整、可實施技術(shù)方案的缺陷;(2)所提供的轉(zhuǎn)換方法簡單易行、轉(zhuǎn)換系統(tǒng)易于實現(xiàn);(3)所提供的轉(zhuǎn)換方法及系統(tǒng)在概率建模與推理、機(jī)器學(xué)習(xí)、模式識別、數(shù)據(jù)挖掘、大數(shù)據(jù)分析等領(lǐng)域具有廣闊的應(yīng)用前景。
以上所述僅是本發(fā)明的部分實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。