基於評分搜索
定義
基於評分搜索的方法將BN結構學習視爲組合優化 問題;
首先通過定義評分函數對BN結構空間中的不同元素與樣本數據的擬合程度進行度量
然後利用搜索算法確定評分最高的網絡結構,即與數據擬合最好的網絡結構
BN結構學習可定義爲優化模型:
O M = ( G , Ω , F ) OM=(G, \Omega, F) O M = ( G , Ω , F )
G:候選網絡結構搜索空間,它定義了樣本數據集D中所有變量(節點)之間可能連接關係的網絡結構集合;
Ω \Omega Ω :網絡變量之間需要滿足的約束條件集合,最基本的約束是所有節點間的連接構成一個有向無環圖;
F:評分函數,表示從搜索空間G到實數集R的一個映射,函數的極值點即爲網絡的最優結構.
Robinson等證明了包含n個節點可能的BN結構數目f ( n ) f(n) f ( n ) :
f ( n ) = ∑ i = 1 n n ! i ! ( n − i ) ! 2 i ( n − i ) f ( n − i ) f(n)=\sum^n_{i=1}\frac{n!}{i!(n-i)!}2^{i(n-i)}f(n-i) f ( n ) = i = 1 ∑ n i ! ( n − i ) ! n ! 2 i ( n − i ) f ( n − i )
可見,隨着變量數目的增多,搜索空間的維數呈 指數級 增長,因此,評分函數和搜索策略是影響評分搜索算法的主要因素.
評分函數
在BN結構學習的框架中,結構G 和參數θ G \theta_G θ G 被視爲隨機變量;
假設數據集D = ( d 1 , d 2 , . . . , d m ) D=(d_1,d_2, . . ., d_m) D = ( d 1 , d 2 , . . . , d m ) 是關於n
個變量{ X 1 , X 2 , . . . , X n } \{X_1, X_2,..., X_n\} { X 1 , X 2 , . . . , X n } 的樣本;
G 的可能取值包括所有以{ X 1 , X 2 , . . . , X n } \{X_1, X_2,..., X_n\} { X 1 , X 2 , . . . , X n } 爲節點的有向無環圖。
給定結構G ,變量θ G \theta_G θ G 的可能取值是與G 對應的參數值。
結構先驗分佈:P ( G ) P(G) P ( G )
結構確定之後, θ G \theta_G θ G 的參數先驗分佈:P ( θ G ) P(\theta_G) P ( θ G )
基於貝葉斯統計的評分
假設數據集D 是關於樣本變量{ X 1 , X 2 , . . . , X n } \{X_1, X_2,..., X_n\} { X 1 , X 2 , . . . , X n } 完整獨立同分布 數據。
貝葉斯評分的主要思想是給定先驗知識和樣本數據條件下,選擇一個後驗概率值最大 的網絡結構,即:
1-1
G ∗ = arg m a x G P ( G ∣ D ) G^* = \arg max_GP(G|D) G ∗ = arg m a x G P ( G ∣ D )
重點是P ( G ∣ D ) P(G|D) P ( G ∣ D ) ,又根據貝葉斯定理:
1-2
P ( G ∣ D ) = P ( D ∣ G ) P ( G ) P ( D ) P(G|D)=\frac{P(D|G)P(G)}{P(D)} P ( G ∣ D ) = P ( D ) P ( D ∣ G ) P ( G )
P ( G , D ) = P ( G ∣ D ) P ( D ) = P ( D ∣ G ) P ( G ) P(G,D)= P(G|D)P(D)=P(D|G)P(G) P ( G , D ) = P ( G ∣ D ) P ( D ) = P ( D ∣ G ) P ( G )
P ( D ) P(D) P ( D ) 已知而且不依賴P ( G ) P(G) P ( G ) ,所以P ( G ∣ D ) P(G|D) P ( G ∣ D ) 可轉換爲:
1-3
log P ( G , D ) = log P ( D ∣ G ) + log P ( G ) \log P(G,D) = \log P(D|G) + \log P(G) log P ( G , D ) = log P ( D ∣ G ) + log P ( G )
則:
1-4
G ∗ = arg log P ( D ∣ G ) + log P ( G ) G^* = \arg \log P(D|G)+\log P(G) G ∗ = arg log P ( D ∣ G ) + log P ( G )
P ( G ) P(G) P ( G ) 是結構先驗分佈,一般會假設它是某種分佈,ex:均勻分佈
之後展開 P ( D ∣ G ) P(D|G) P ( D ∣ G ) (稱爲邊緣似然函數)。
1-5
P ( D ∣ G ) = ∫ P ( D ∣ G , θ G ) p ( θ G ∣ G ) d θ G P(D|G)=\int P(D|G,\theta_G)p(\theta_G|G) d \theta_G P ( D ∣ G ) = ∫ P ( D ∣ G , θ G ) p ( θ G ∣ G ) d θ G
K2評分
假設數據集D是關於樣本變量{ X 1 , X 2 , . . . , X n } \{X_1, X_2,..., X_n\} { X 1 , X 2 , . . . , X n } 完整獨立同分布數據。G是關於變量集{ X 1 , X 2 , . . . , X n } \{X_1, X_2,..., X_n\} { X 1 , X 2 , . . . , X n } 的BN結構,並且p ( θ G ∣ G ) p(\theta_G|G) p ( θ G ∣ G ) 服從均勻分佈。
可知如下K2
評分:
1-6
F K 2 ( G ∣ D ) = log P ( G ) + ∑ i = 1 n ∑ j = 1 q i { log ( r i − 1 ) ! ( m i j ∗ + r i − 1 ) ! } + ∑ k = 1 r i log ( m i j k ! ) F_{K2}(G|D)=\log P(G) + \sum_{i=1}^n\sum_{j=1}^{q_i}\{\log\frac{(r_i-1)!}{(m_{ij*}+r_i-1)!}\}+\sum_{k=1}^{r_i} \log (m_{ijk}!) F K 2 ( G ∣ D ) = log P ( G ) + i = 1 ∑ n j = 1 ∑ q i { log ( m i j ∗ + r i − 1 ) ! ( r i − 1 ) ! } + k = 1 ∑ r i log ( m i j k ! )
q i : q_i: q i : ???
r i : r_i: r i : ???
m i j k : m_{ijk}: m i j k : 變量X i X_i X i 取第k
個值同時p a ( X i ) pa(X_i) p a ( X i ) 取第j
個值的樣本數目
BD(Bayesian Dirichlet)評分
假設數據集D是關於樣本變量{ X 1 , X 2 , . . . , X n } \{X_1, X_2,..., X_n\} { X 1 , X 2 , . . . , X n } 完整獨立同分布數據。G是關於變量集{ X 1 , X 2 , . . . , X n } \{X_1, X_2,..., X_n\} { X 1 , X 2 , . . . , X n } 的BN結構,並且p ( θ G ∣ G ) p(\theta_G|G) p ( θ G ∣ G ) 服從Dirichlet
分佈。
p ( θ G ∣ G ) ∝ ∏ i = 1 n ∏ j = 1 q i ∏ k = 1 r i θ i j k α i j k − 1 p(\theta_G|G) \propto \prod^n_{i=1} \prod^{q_i}_{j=1} \prod^{r_i}_{k=1}\theta_{ijk}^{\alpha_{ijk}-1} p ( θ G ∣ G ) ∝ i = 1 ∏ n j = 1 ∏ q i k = 1 ∏ r i θ i j k α i j k − 1
可知如下BD
評分:
F B D ( G ∣ D ) = log P ( G ) + ∑ i = 1 n ∑ j = 1 q i { log Γ ( α i j ∗ ) Γ ( α i j ∗ + m i j ∗ ) } + ∑ k = 1 r i log Γ ( α i j k + m i j k ) Γ ( α i j ∗ ) F_{BD}(G|D)=\log P(G) + \sum_{i=1}^n\sum_{j=1}^{q_i}\{\log\frac{\Gamma(\alpha_{ij*})}{\Gamma(\alpha_{ij*}+m_{ij*})}\}+\sum_{k=1}^{r_i} \log \frac{\Gamma(\alpha_{ijk}+m_{ijk})}{\Gamma(\alpha_{ij*})} F B D ( G ∣ D ) = log P ( G ) + i = 1 ∑ n j = 1 ∑ q i { log Γ ( α i j ∗ + m i j ∗ ) Γ ( α i j ∗ ) } + k = 1 ∑ r i log Γ ( α i j ∗ ) Γ ( α i j k + m i j k )
α i j k : \alpha_{ijk}: α i j k : Dirichlet
分佈中的超參數取值
α i j ∗ = ∑ k = 1 r i α i j k \alpha_{ij*} = \sum_{k=1}^{r_i}\alpha_{ijk} α i j ∗ = ∑ k = 1 r i α i j k
m i j k : m_{ijk}: m i j k : 變量X i X_i X i 取第k
個值同時p a ( X i ) pa(X_i) p a ( X i ) 取第j
個值的樣本數目
p a ( X i ) pa(X_i) p a ( X i ) :???
所有的超參數值α i j k = 1 \alpha_{ijk}=1 α i j k = 1 時,BD
評分退化爲K2
評分。
BDeu(Bayesian Dirichlet eu)評分
BD公式中的超參數 α i j k = α P ( X i = k , p a ( X i ) = j ∣ G ) \alpha_{ijk}=\alpha P(X_i=k,pa(X_i)=j | G) α i j k = α P ( X i = k , p a ( X i ) = j ∣ G ) 時候,P ( . ∣ G ) P(.|G) P ( . ∣ G ) 表示網絡G的先驗分佈,α \alpha α 表示先驗樣本等價量。
P ( X i = k , p a ( X i ) = j ∣ G = 1 r i q i P(X_i=k,pa(X_i)=j | G = \frac{1}{r_iq_i} P ( X i = k , p a ( X i ) = j ∣ G = r i q i 1 ,即結構先驗信息服從均勻分佈。
可知如下BDeu
評分:
F B D e u ( G ∣ D ) = log P ( G ) + ∑ i = 1 n ∑ j = 1 q i { log Γ ( α q i ) Γ ( m i j ∗ + α q i ) } + ∑ k = 1 r i log Γ ( m i j k + α r i q i ) Γ ( α r i q i ) F_{BDeu}(G|D)=\log P(G) + \sum_{i=1}^n\sum_{j=1}^{q_i}\{\log\frac{\Gamma(\frac{\alpha}{q_i})}{\Gamma(m_{ij*}+\frac{\alpha}{q_i})}\}+\sum_{k=1}^{r_i} \log \frac{\Gamma(m_{ijk}+\frac{\alpha}{r_iq_i})}{\Gamma(\frac{\alpha}{r_iq_i})} F B D e u ( G ∣ D ) = log P ( G ) + i = 1 ∑ n j = 1 ∑ q i { log Γ ( m i j ∗ + q i α ) Γ ( q i α ) } + k = 1 ∑ r i log Γ ( r i q i α ) Γ ( m i j k + r i q i α )
基於信息理論的評分
基於信息理論的評分函數主要是利用編碼理論和信息論中的最小描述長度(Minimum Description Length, MDL)原理來實現的.其基本思想源自對數據的存儲。
假設D是一組給定的實例數據,如果要對其進行保存,爲了節省存儲空間,一般採用某種模型對其進行編碼壓縮,然後再保存壓縮後的數據;另外,爲了在需要的時候可以完全恢復這些實例數據,要求對所使用的模型進行保存;
因此,需要保存的數據長度=壓縮後的數據長度+模型的描述長度,該長度稱爲總的描述長度。
MDL原理就是要求選擇總描述長度最小 的模型。按照MDL原理,BN結構學習就是要找到使得網絡的描述長度和樣本的編碼長度之和最小的圖模型。
這意味着MDL評分準則趨向於尋找一個結構較簡單的網絡,實現網絡精度 與複雜度 之間的均衡。一般利用參數個數作爲網絡結構複雜度的懲罰函數 :
2-1:
C ( G ) = 1 2 log m ∑ i = 1 n ( r i − 1 ) q i C(G) = \frac{1}{2}\log m\sum^n_{i=1}(r_i-1)q_i C ( G ) = 2 1 log m i = 1 ∑ n ( r i − 1 ) q i
m:數據集D中的樣本總量;
∑ i = 1 n ( r i − 1 ) q i \sum^n_{i=1}(r_i-1)q_i ∑ i = 1 n ( r i − 1 ) q i :網絡中包含的參數總量
採用海明碼 表示壓縮後的數據長度,就是關於數據D和模型 的對數似然:
2-2:
L L D ( G ) = ∑ j = 1 n ∑ j = 1 q i ∑ k = 1 r i m i j k log ( m i j k m i j ∗ ) LL_D(G)=\sum^n_{j=1}\sum^{q_i}_{j=1}\sum^{r_i}_{k=1}m_{ijk}\log(\frac{m_{ijk}}{m_{ij*}}) L L D ( G ) = j = 1 ∑ n j = 1 ∑ q i k = 1 ∑ r i m i j k log ( m i j ∗ m i j k )
MDL評分函數
則由2-1、2-2可知,得到相應的MDL評分函數
2-3
F M D L ( G ∣ D ) = L L D ( G ) − C ( G ) F_{MDL}(G|D)=LL_D(G)-C(G) F M D L ( G ∣ D ) = L L D ( G ) − C ( G )
2-4
F M D L ( G ∣ D ) = ∑ i = 1 n ∑ j = 1 q i ∑ k = 1 r i m i j k log ( m i j k m i j ∗ ) − 1 2 log m ∑ i = 1 n ( r i − 1 ) q i F_{MDL}(G|D)=\sum^n_{i=1}\sum^{q_i}_{j=1}\sum^{r_i}_{k=1}m_{ijk}\log(\frac{m_{ijk}}{m_{ij*}})- \frac{1}{2}\log m\sum^n_{i=1}(r_i-1)q_i F M D L ( G ∣ D ) = i = 1 ∑ n j = 1 ∑ q i k = 1 ∑ r i m i j k log ( m i j ∗ m i j k ) − 2 1 log m i = 1 ∑ n ( r i − 1 ) q i
m:數據集D中的樣本總量;
∑ i = 1 n ( r i − 1 ) q i \sum^n_{i=1}(r_i-1)q_i ∑ i = 1 n ( r i − 1 ) q i :網絡中包含的參數總量
AIC評分函數
MDL評分函數不依賴 於先驗概率;對給定的充分大的獨立樣本而言,具有最大MDL分值的網絡可以任意接近於抽樣分佈;當實例數據D服從多項分佈時,MDL評分函數等於BIC 評分函數.因此對公式(2-4)做進一步的簡化,得到AIC 評分函數:
2-5
F A I C ( G ∣ D ) = ∑ i = 1 n ∑ j = 1 q i ∑ k = 1 r i m i j k log ( m i j k m i j ∗ ) − ∑ i = 1 n ( r i − 1 ) q i F_{AIC}(G|D)=\sum^n_{i=1}\sum^{q_i}_{j=1}\sum^{r_i}_{k=1}m_{ijk}\log(\frac{m_{ijk}}{m_{ij*}})- \sum^n_{i=1}(r_i-1)q_i F A I C ( G ∣ D ) = i = 1 ∑ n j = 1 ∑ q i k = 1 ∑ r i m i j k log ( m i j ∗ m i j k ) − i = 1 ∑ n ( r i − 1 ) q i
MIT評分函數
MDL 評分函數中,對網絡的懲罰項用整個網絡包含的參數以及樣本數據量來表示,Campos結合貝葉斯網絡的可分解性,用網絡的局部結構複雜度 作爲懲罰項,提出一種基於互信息 和卡方分佈 的 MIT ( Mutual Information Tests) 評分函數.
2-6
F M I T ( G ∣ D ) = ∑ i = 1 , P a ( X − i ) ! = ∅ n ( 2 m M I D ( X i , P a ( X i ) ) − max σ i ∑ j = 1 S i χ α , l i σ i ( j ) ) F_{MIT}(G|D)=\sum^n_{i=1,Pa(X-i)!=\empty}(2mMI_D(X_i,Pa(X_i))-\max_{\sigma_i }\sum^{S_i}_{j=1}\chi_{\alpha,l_{i\sigma_i(j)}}) F M I T ( G ∣ D ) = i = 1 , P a ( X − i ) ! = ∅ ∑ n ( 2 m M I D ( X i , P a ( X i ) ) − σ i max j = 1 ∑ S i χ α , l i σ i ( j ) )
M I D ( X i , P a ( X i ) ) MI_D(X_i,Pa(X_i)) M I D ( X i , P a ( X i ) ) :X i X_i X i 與其父變量之間互信息
S i S_i S i :X i X_i X i 父節點的個數
χ α , l i σ i ( j ) \chi_{\alpha,l_{i\sigma_i(j)}} χ α , l i σ i ( j ) :表示置信度爲α \alpha α ,自由度爲l i σ i ( j ) l_{i\sigma_i(j)} l i σ i ( j ) 的卡方分佈值。
搜索方法
求出每個變量評分函數最大的父變量集 。
K2算法
爬山算法
GES算法
基於進化計算的方法
K2算法
K2算法使用貪心搜索去獲取最大值。首先假設隨機變量是有順序的,如果Xi在Xj之前,那麼不能存在從Xj到Xi的邊。同時假設每個變量最多的父變量個數爲u。每次挑選使評分函數最大的父變量放入集合,當無法使評分函數增大時,停止循環,具體算法如下,其中Pred(Xi)表示順序在Xi之前的變量。
貪婪搜索
CH評分衡量結構優劣性
利用結點序 ρ \rho ρ 以及正整數 μ \mu μ 來限制搜索空間的大小
結點序 ρ \rho ρ 怎麼確定?
爬山(hillclimbing)算法
爬山算法是一種簡單的貪心搜索算法,該算法每次從當前解的臨近解空間中選擇一個最優解作爲當前解,直到達到一個局部最優解。爬山算法實現很簡單,其主要缺點是會陷入局部最優解,而不一定能搜索到全局最優解。假設C點爲當前解,爬山算法搜索到A點這個局部最優解就會停止搜索,因爲在A點無論向那個方向小幅度移動都不能得到更優的解。
局部操作(加邊,減邊,刪邊),評分高低作爲是否選擇該操作的標準。
通過貪婪 選擇來判斷是否對模型結構進行更新。
Procedure HillClimbing( ) :
old = getInitial( )
while ( the stopping condition is not reached) :
for 加邊,減邊,刪邊 操作後的 newG:
new= localSearch( N( x) ) ;
if ( old <= new)
old = new
else
return old
end
爬山法
基於約束|依賴統計
待填充
參考
貝葉斯網絡結構學習(知乎)
2013 貝葉斯網絡結構學習與推理研究 朱明敏
2015 貝葉斯網絡結構學習綜述 李碩豪
2017 貝葉斯網絡結構學習與應用研究 曹傑