導航:首頁 > 編程大全 > 貝葉斯網路條件概率表

貝葉斯網路條件概率表

發布時間:2023-05-26 23:09:39

『壹』 如何用matlab的BNT軟建立一個貝葉斯網路及條件概率表

對上述信息建立貝葉斯網路,代碼如下

[plain]view plainprint?

N=8;

dag=zeros(N,N);

A=1;S=2;T=3;L=4;B=5;E=6;X=7;D=8;

dag(A,T)=1;

dag(S,[LB])=1;

dag([TL],E)=1;

dag(B,D)=1;

dag(E,[XD])=1;

discrete_nodes=1:N;

node_sizes=2*ones(1,N);

bnet=mk_bnet(dag,node_sizes,'names',{'A','S','T','L','B','E','X','D'},'discrete',discrete_nodes);

bnet.CPD{A}=tabular_CPD(bnet,A,[0.99,0.01]);

bnet.CPD{S}=tabular_CPD(bnet,S,[0.5,0.5]);

bnet.CPD{T}=tabular_CPD(bnet,T,[0.99,0.95,0.01,0.05]);

bnet.CPD{L}=tabular_CPD(bnet,L,[0.99,0.9,0.01,0.1]);

bnet.CPD{B}=tabular_CPD(bnet,B,[0.7,0.4,0.3,0.6]);

bnet.CPD{E}=tabular_CPD(bnet,E,[1,0,0,0,0,1,1,1]);

bnet.CPD{X}=tabular_CPD(bnet,X,[0.95,0.02,0.05,0.98]);

bnet.CPD{D}=tabular_CPD(bnet,D,[0.9,0.2,0.3,0.1,0.1,0.8,0.7,0.9]);

draw_graph(dag)

說明:有N=8個節點,建立有向無環圖dag,並且這些點的值是離散的,這里1=False 2=True,node_sizes給出了所有狀態


mk_bnet中names後的{}裡面給出了各個節點的別名

利用tabular_CPD設置各個變數的邊緣概率,對於A和S,定義順序是False True;對於滲敬T、L和B這類,順序是FF FT TF TT;對於D這類,順序是FFF FFT FTF FTT TFF TFT TTF TTT

簡單檢查下A的概率


[plain]view plainprint?

engine=jtree_inf_engine(bnet);

evidence=cell(1,N);

[engine,loglik]=enter_evidence(engine,evidence);

m=marginal_nodes(engine,A);

m.T()

現在可以給定任意條件,舉改然後計算概率了。

[plain]view plainprint?

例如要計算任意組合條件下,正喊判個體分別得Tub、lungcancer和bronchitis的概率。下面代碼計算了P(T=True|A=False,S=True,X=True,D=False)的概率

[plain]view plainprint?

engine=jtree_inf_engine(bnet);

evidence=cell(1,N);

evidence{A}=1;

evidence{S}=2;

evidence{X}=2;

evidence{D}=1;

[engine,loglik]=enter_evidence(engine,evidence);

m=marginal_nodes(engine,T);

m.T(2)

『貳』 貝葉斯網路的條件概率表怎麼構建

這個尺腔條件概率本汪隱是父節點聯合分布下的條件概率困困廳,所以應該是四種狀態

『叄』 貝葉斯決策論及貝葉斯網路

對於一個數據進行分類,那麼數據的屬性信息稱為x,如果知道後驗概率的情況下即能得到確定x的情況下分類為ci的概率。這時我們還需要一個損失的權值,λij稱為i錯判為j的損失(λii為0,一般λij都相等=1但具體情況可以具體分配),由前邊得到的後驗概率來乘上這個λ的參數這就叫做條件風險(conditional risk)。

那麼我們可以設計一個映射關系h,從x->c可以將結果帶入條件風險,求整體風險最小。
但是其中後驗概率很難在現實任務中取到,所以引入機器學習的目標的就是去訓練這樣一個後驗概率(從大量的樣本數據中)當然也有兩種方式:

可以看到前邊判別類別的決策樹,bp,svm都是判別式模型。(從這里看出我們的終極目標還是去計算 p(c|x) ,符合現實的要求。)

根據貝葉斯定理,要求聯合概率分布,可以通過 p(c )*p(x|c)/p(x) 來得到,前者是類先驗概率,後者是類條件概率,或者稱似然。
p(x) 是用於歸一化的證據因子,對於給定的樣本x,證據因子和類標記無關。(證據因子的存在知識為了保證各類別的後驗概率的總和為1,所以在固定x的情況下這一項相當於常數,在比較時不做考慮)

但如果x樣本的屬性很多或者是一個連續值,那麼樣本個數是不可能完全模擬到所有的取值的,更不用說還要去計算他們出現的聯合概率了,也就是說得到的 p(x|c) 會有很多零值。
那麼無法通過樣本來進行模擬分布,可以用mle(極大似然估計)的方法,通過設定一個通用的分布函數(如:正態分布,不一定是正態,所以這個假設存在一定誤差,或者說我們在指定假設分布形式時需要參考一定的先驗知識(也就是我們訓練數據的風格))然後通過訓練分布中的參數來讓極大似然最大。

1.樸素貝葉斯分類器:(naïve bayes classification)
條件:
將所有的屬性假設為相互獨立也就是每個屬性獨立地對分類結汪汪畢果發生影響,困芹這個想法很天真,很夢幻。
當然有了這個假設就很好計算了,計算聯合分布的過程:通過訓練集D來得到類先驗概率然後再得到類條件概率。對於離散的取值數據量夠可以直接用取值在訓練集D中的概率直接估計,對於離散取值過多,或者是連續取值的情況可以用最大似然來做估計。
然後通過計算和比較 p(c=1,x) 和 p(c=2,x) 的大小,來或者最後輸出c是判為1還是2。
因為離散取值會因為在數據集中找不到而變成概率為0,這樣會影響所有的判斷,這樣就可以通過一個平滑處理(如:拉普拉斯修正)來將其修正為 (Dci+1)/(Dc+Nx) ,Dci為類別為c,x屬性取值為i的個數,Nx為屬性x的可能的取值數。同理對於類先驗也要進行平滑處理。(這樣的平滑操作算是一種先驗,而且隨著樣本集增大影響逐漸減少的趨向於真實值。)

2.半樸素貝葉斯分類器(semi-naïve bayes classification)
條件:
既然所有屬性都假設為相互獨立過於天真,那麼我們假設一種獨依賴,也就是假設每一個屬性在類別之外最多僅依賴於一個其他屬性。我們稱這種假設為semi-naïve 的假設。
那麼這樣的獨依賴也會有一些設計的方式:
1.都依賴於一個相同的父屬性(SPODE);
2.隨機依賴於除自己以外的其他的屬性,但要讓生成的樹達到最大的權值(權值由兩個屬性之間的條件互信息來決定),構成最大帶權生成樹(TAN)。
但是因為有無環的性質,所以無論哪一種最後一陵培定會有一個屬性是沒有父依賴的。

3.非樸素貝葉斯--貝葉斯網路:(放棄之前「天真」的假設)

條件:
前邊半樸素通過圖連接來刻畫屬性之間的依賴關系,那麼同樣貝葉斯網路也在用這種有向無環圖來刻畫屬性之間的依賴關系,並用條件概率表(CPT,conditional probability table)作為邊的參數也就是(整個貝葉斯網路的參數)主要是子屬性和父屬性相對應的條件概率。而一個屬性他的父屬性個數沒有任何限制。
問題:
但這樣不如上一個半樸素貝葉斯結構基本固定直接遍歷搜索空間也不會很大,可以用最大邊的方式構建貝葉斯網路,也就是說這樣的網路結構很難去構建和生成,主要是用似然損失+構造損失(參數個數*參數的精度)作為損失函數來進行優化,但是這直接求解是一個NP難的問題,這樣就有兩種方式第一種:貪心法,通過初始化一個網路結構,然後每次調整一個邊(增加,刪除或調整方向)使得loss變化最大,直到最後評分函數無法在降低。(當然這樣的一個初始化網路結構就會變得很重要)第二種:通過給網路結構添加約束,比如將網路結構限定為樹形結構等。
方法:
除了之前我們用作的分類問題,還可以做擴展到一個推斷的問題,比如蒙著眼摸出西瓜的根蒂,形狀,大小,能推斷出它的色澤到底是青綠還是黃綠,是好瓜還壞,甜度如何等等。而且還可以直接精確計算出後驗概率,但是當網路結點很多,連接又很稠密,而且查詢的屬性又含有依賴關系的時候,在短時間內計算出准確的結果會很難。所以我們通過藉助近似的方式推斷結果。(我們只想知道哪種可能性大得多,具體大多少不是我們要求的結論)
這種近似的做法就是吉布斯采樣方法,固定我們獲得的證據屬性E,然後通過初始化一個q0,接著對於q0中的某一個屬性根據其他的屬性不變,根據計算得到的條件概率進行采樣。這是一個馬爾科夫鏈(marcov chain),性質:在經過t次的采樣之後,馬爾科夫會收斂於一個平穩分布,而這個平穩分布正是我們要求的那個 p(Q|E=e) 的分布。這樣我們就可以通過吉布斯采樣來得到一個模擬化的分布得到q最有可能的取值。(或者給定q, p(q|E=e) 估計的概率是多少)

隱變數介紹以及解決方法:
上訴還有一個問題那就是屬性缺失的情況下怎麼辦,我們的模型網路還能創建得出來嗎?也就是說存在隱變數(latent variable)該怎樣解決這樣的問題?
EM(Expectation-Maximization)演算法是常用的估計參數隱變數的方法。
主要的思想就是:隱變數和模型參數是我們要求的,而二者之間存在相互依賴的關系,也就是不知道隱變數無法求出模型參數,不知道模型參數也無法反推出隱變數。那如果是一種優化迭代演算法的話,初始化隱變數,然後訓練得到最優的參數,然後通過固定最優的參數再反過來訓練到最優的隱變數。直到最後收斂到一個局部最優解。(所以這種演算法求解的結果是和 初始值關系比較大的局部最優解,如果能找到一個接近全局最優解的初始值,或者在接受解的概率上做調整不至於過快收斂,可能可以得到一個更好的解。)

參考文獻:西瓜書-貝葉斯決策論

『肆』 貝葉斯網路基本原理

貝葉斯網路又稱信念網路,是有向無環圖的網路拓撲結構和貝葉斯概率方法有機結合的模型表示,描述了各個數據項及其相互間的依賴關系。一個 BN 包括了一個拓撲結構模型和與之相關的一組條件概率參數。結構模型是一個有向無環圖,每個節點則表示一個隨機變數,是對於狀態、過程、事件等實體的某個特性的形象描述,其中的有向邊則表示隨機變

量之間的條件依賴關系。BN 中每個節點( 除根節點外) 都有一個給定其父節點情況下的條件概率分布。2. 1. 1 貝葉斯網路定理

BN 是一種概率網路,即基於概率推理的圖形化網路,這個概率網路的基礎是貝葉斯公式。我們先來看一看貝葉斯基本公式。

定義 2. 1 條件概率: 設 X、Y 是兩個事件,且 P( X) >0,稱

基於BN+GIS新技術的突水態勢研究

為在事件 X 發生的條件下事件 Y 發生的條件概率。

定義 2. 2 聯合概率: 設 X,Y 是兩個事件,且 P( X) >0,它們的聯合概率為:

基於BN+GIS新技術的突水態勢研究

定義2.3全概率公式:設試驗E的樣本空間為S,X為E的事件,Y1,Y2,…,Yn為E的一組事件,滿足:

基於BN+GIS新技術的突水態勢研究

定義2.4貝葉斯公式:根據定義2.1、定義2.2和定義2.3,很容易推得眾所周知的貝葉斯公式:

基於BN+GIS新技術的突水態勢研究

2. 1. 2 貝葉斯網路的拓撲結構

BN 是一個具有概率分布的有向無環圖( Directed Acyclic Graph) ,其中每個節點代表一個數據變數或者屬性,節點間的弧段代表數據變數( 屬性) 之間的概率依賴關系。一條弧段由一個數據變數( 屬性) X 指向另外一個數據變數( 屬性) Y,說明數據變數 X 的取值可以對數據變數 Y 的取值產生影響。既然是有向無環圖,因此 X,Y 間不構成有向迴路。在 BN 當中,連接兩個節點的一條弧 XY 中的弧頭節點( 直接的原因節點) X 叫做弧尾節點( 結果節點) Y 的雙親節點( Parents) ,Y 叫做 X 的孩子節點( Children) 。如果從節點 A 有一條有向通路指向 B,則稱節點 A 為節點 B 的祖先( Ancestor) ,同時稱節點 B 為節點 A 的後代( Descendent) 。

BN 能夠利用簡單明了的圖形表達方式定性地表示事件間復雜的概率關系和因果關系,在給定某些先驗信息後,還可以定量地表示這些因果概率關系。BN 的拓撲結構通常是根據具體的問題和研究對象來確定的。目前如何通過結構學習自動確定和優化網路的拓撲結構是 BN 的一個研究熱點。

2.1.3 條件獨立性假設

條件獨立性假設是BN進行定量推理的理論基礎,可以減少先驗概率的數目,從而大大地簡化推理和計算過程。

BN的條件獨立性假設的一個很重要的判據就是著名的分隔定理(D-Separation):

定義2.5阻塞:G=(V(G),E(G))為一個有向非循環圖,s是其中的一條鏈。當s包含3個連續的節點x,y,z,滿足以下3種情況之一,我們稱s被節點集合W(WV(G))阻塞:

(1)z∈W,s上存在弧x→z和z→y;

(2)z∈W,s上存在弧x←z和z→y;

(3)s上存在弧x→z和z←y,σ(z)∩W=,σ(z)表示z以及z的所有子孫節點的集合。

圖2.1 阻塞的3種情形

定義2.6阻塞集:兩個節點x和y間的所有路徑都被節點集合Z所阻塞,則稱集合Z為x,y兩個節點間的阻塞集。

定義2.7D-Separation:令X,Y和Z是一個有向無環圖G中3個不相交節點的子集,如果在集合X和Y中所有節點間的所有路徑都被集合Z所阻塞,則稱集合X,Y被Z集合(d-separation),表示為<X,Y|Z>G,也稱Z為X和Y的切割集。否則,稱在給定集合Z下集合X和Y的圖形依賴。

這個判據指出,如果Z隔離了X和Y時,那麼可以認為X與Y是關於Z條件獨立的,即:P(X|Y,Z)=P(X|Y)。

『伍』 04 貝葉斯演算法 - 貝葉斯網路

01 貝葉斯演算法 - 樸素貝葉斯
02 貝葉斯演算法 - 案例一 - 鳶尾花數據分類
03 貝葉斯演算法 - 案例二 - 新聞數據分類

之前聚類演算法中講了 無向圖 的聚類演算法 - 譜聚類
13 聚類演算法 - 譜聚類

本章介紹的貝葉斯演算法是 有向圖 的聚類演算法。

區別:
譜聚類 的無向圖里的點里放的是 樣本
貝葉斯網路 的有向圖的點里放的是 樣本的特徵

把某個研究系統中涉及到的 隨機變數 ,根據是否條件獨立繪制在一個有向圖中,就形成了貝葉斯網路。 貝葉斯網路(Bayesian Network) ,又稱有向無 環圖模型 (directed acyclic graphical model, DAG);

貝葉斯網路 是一種概率圖模型,根據概率圖的拓撲結構,考察一組隨機變數:{X1,X2,...,Xn}及其N組條件概率分布(Conditional ProbabililtyDistributions, CPD)的性質。

當多個特徵屬性之岩念漏間 存在著某種相關關系 的時候,使用樸素貝葉斯演算法就沒法解決這類問題,那麼貝葉斯網路就是解決這類應用場景的一個非常好的演算法。

分析: 很好理解上面的概念,先回顧下面的演算法,樸素貝葉斯演算法要求的是互相獨立的事件形成出x1~xn,這些特徵彼此概率互不影響,所以才能求出聯合概率密度。貝葉斯網路演算法就是來解決有關聯的特徵組成的樣本分類的。

一般而言,貝葉斯網路的有向無環圖中的節點表示隨機變數,可以是可觀察到的變數,或隱變數,未知參數等等。連接兩個節點之間的箭頭代表兩個隨機變數之間的因果關系(也就是這兩個隨機變數之間非條件獨立);如果兩個節點間以一個單箭頭連接在一起,表示其中一個節點是「因」,另外一個節點是「果」,從而兩節點之間就會產生一個條件概率值。

PS: 每個節點在給定其直接前驅的時候,條件獨立於其非後繼。

貝葉斯網路的關鍵方法是圖模型,構建一個圖模型我們需要把具有因果聯系的各個變數用箭頭連在一起。貝葉斯網路的有向無環圖中的節點表示隨機變數。連接兩個節點的箭頭代表此兩個隨機變數是具有因果關系的。

貝葉斯網路是模擬人的認知思維推理模式的,用一組條件概率以及有向無環圖對不確定性因果推理關系建模。

目標,求P(a,b,c)
a的概率和任何別的特徵都無關,所以先求a的概率:P(a);
b的生成和a有關。即a發生的情況下,b發生的概率:P(b|a);
c的生成和a、b有關。即a和b同事發生的情況下粗爛,c發生的概率。P(c|a,b);

有一天早晨,白爾摩斯離開他的房高神子的時候發現他家花園中的草地是濕的,有兩種可能,第一:昨天晚上下雨了,第二:他昨天晚上忘記關掉花園中的噴水器,接下來,他觀察他的鄰居華生,發現他家花園中的草地也是濕的,因此,他推斷,他家的草地濕了是因為昨天晚上下雨的緣故。

那麼在貝葉斯網路中,哪些條件下我們可以認為是條件獨立的?

條件一:
在C給定的條件下,a和b被阻斷(blocked)是獨立的。
即只要C給定了,a、b就獨立。
條件獨立:tail - to -tail

條件二:
在C給定的條件下,a和b被阻斷(blocked)是獨立的。
條件獨立:head- to -tail

條件三:
在C未知的情況下,a和b被阻斷(blocked),是獨立的。
條件獨立:head - to - head

『陸』 列舉三種構建貝葉斯網路的方法

構建貝葉斯網路可以通過該網三種不同的連接方式來進行。貝葉斯網路三種基本連接方式:同父結構,V型結構,順序結構。構建貝葉斯網路的方法:

貝葉斯網路:包括一個有向無環圖(DAG)和一個條件概率表集合。

DAG中每一個節點表示一個隨機變數,可以是可直接觀測變數世仔或隱藏變數,而有向邊表示隨機變數間的條件依賴;條件概率表中的每一個元素對應DAG中唯一的節點,存儲此節點對於其所有直接前驅節點的聯合條件概率。

構建一個貝葉斯網路流程:

根據前面貝葉斯網路的定義,我們可以初步的知道一個貝葉斯網路的構成,那麼可以根據它的定義來構造一個貝葉斯網路,其實就是圍繞著它的組成元素:DAG和節點參數與邊的方向,下面分這兩步來描述下如何構造一個貝葉斯網路。

1.確定隨機變數間的拓撲關系,形成DAG。這一步通常需要領域專家完成,而想要建立搜唯汪一個好的拓撲結構,通常需要不斷迭代和改進才山山可以。

2.訓練貝葉斯網路參數——估計出各節點的條件概率表。這一步也就是要完成條件概率表的構造,如果每個隨機變數的值都是可以直接觀察的,像我們上面的例子,那麼這一步的訓練是直觀的,方法類似於樸素貝葉斯分類。

『柒』 貝葉斯網路,看完這篇我終於理解了(附代碼)!

概率圖模型是用圖來表示變數概率依賴關系的理論,結合概率論與圖論的知識,利用圖來表示與模型有關的變數的聯合概率分布。由圖靈獎獲得者Pearl開發出來。

如果用一個詞來形容概率圖模型(Probabilistic Graphical Model)的話,那就是「優雅」。對於一個實際問題,我們希望能夠挖掘隱含在數據中的知識。概率圖模型構建了這樣一幅圖,用觀測結點表示觀測到的數據,用隱含結點表示潛在的知識,用邊來描述知識與數據的相互關系, 最後基於這樣的關系圖獲得一個概率分布 ,非常「優雅」地解決了問題。

概率圖中的節點分為隱含節點和觀測節點,邊分為有向邊和無向邊。從概率論的角度,節點對應於隨機變數,邊對應於隨機變數的依賴或相關關系,其中 有向邊表示單向的依賴,無向邊表示相互依賴關系

概率圖模型分為 貝葉斯網路(Bayesian Network)和馬爾可夫網路(Markov Network) 兩大類。貝葉斯網路可以用一個有向圖結構表示,馬爾可夫網路可以表 示成一個無向圖的網路結構。更詳細地說,概率圖模型包括了樸素貝葉斯模型、最大熵模型、隱馬爾可夫模型、條件隨機場、主題模型等,在機器學習的諸多場景中都有著廣泛的應用。

長久以來,人們對一件事情發生或不發生的概率,只有固定的0和1,即要麼發生,要麼不發生,從來不會去考慮某件事情發生的概率有多大,不發生的概率又是多大。而且概率雖然未知,但最起碼是一個確定的值。比如如果問那時的人們一個問題:「有一個袋子,裡面裝著若干個白球和黑球,請問從袋子中取得白球的概率是多少?」他們會想都不用想,會立馬告訴你,取出白球的概率就是1/2,要麼取到白球,要麼取不到白球,即θ只能有一個值,而且不論你取了多少次,取得白球的 概率θ始終都是1/2 ,即不隨觀察結果X 的變化而變化。

這種 頻率派 的觀點長期統治著人們的觀念,直到後來一個名叫Thomas Bayes的人物出現。

托馬斯·貝葉斯Thomas Bayes(1702-1763)在世時,並不為當時的人們所熟知,很少發表論文或出版著作,與當時學術界的人溝通交流也很少,用現在的話來說,貝葉斯就是活生生一民間學術「屌絲」,可這個「屌絲」最終發表了一篇名為「An essay towards solving a problem in the doctrine of chances」,翻譯過來則是:機遇理論中一個問題的解。你可能覺得我要說:這篇論文的發表隨機產生轟動效應,從而奠定貝葉斯在學術史上的地位。

這篇論文可以用上面的例子來說明,「有一個袋子,裡面裝著若干個白球和黑球,請問從袋子中取得白球的概率θ是多少?」貝葉斯認為取得白球的概率是個不確定的值,因為其中含有機遇的成分。比如,一個朋友創業,你明明知道創業的結果就兩種,即要麼成功要麼失敗,但你依然會忍不住去估計他創業成功的幾率有多大?你如果對他為人比較了解,而且有方法、思路清晰、有毅力、且能團結周圍的人,你會不由自主的估計他創業成功的幾率可能在80%以上。這種不同於最開始的「非黑即白、非0即1」的思考方式,便是 貝葉斯式的思考方式。

先簡單總結下頻率派與貝葉斯派各自不同的思考方式:

貝葉斯派既然把看做是一個隨機變數,所以要計算的分布,便得事先知道的無條件分布,即在有樣本之前(或觀察到X之前),有著怎樣的分布呢?

比如往檯球桌上扔一個球,這個球落會落在何處呢?如果是不偏不倚的把球拋出去,那麼此球落在檯球桌上的任一位置都有著相同的機會,即球落在檯球桌上某一位置的概率服從均勻分布。這種在實驗之前定下的屬於基本前提性質的分布稱為 先驗分布,或著無條件分布

其中,先驗信息一般來源於經驗跟歷史資料。比如林丹跟某選手對決,解說一般會根據林丹歷次比賽的成績對此次比賽的勝負做個大致的判斷。再比如,某工廠每天都要對產品進行質檢,以評估產品的不合格率θ,經過一段時間後便會積累大量的歷史資料,這些歷史資料便是先驗知識,有了這些先驗知識,便在決定對一個產品是否需要每天質檢時便有了依據,如果以往的歷史資料顯示,某產品的不合格率只有0.01%,便可視為信得過產品或免檢產品,只每月抽檢一兩次,從而省去大量的人力物力。

後驗分布 π(θ|X)一般也認為是在給定樣本X的情況下的θ條件分布,而使π(θ|X)達到最大的值θMD稱為 最大後驗估計 ,類似於經典統計學中的 極大似然估計

綜合起來看,則好比是人類剛開始時對大自然只有少得可憐的先驗知識,但隨著不斷觀察、實驗獲得更多的樣本、結果,使得人們對自然界的規律摸得越來越透徹。所以,貝葉斯方法既符合人們日常生活的思考方式,也符合人們認識自然的規律,經過不斷的發展,最終占據統計學領域的半壁江山,與經典統計學分庭抗禮。

條件概率 (又稱後驗概率)就是事件A在另外一個事件B已經發生條件下的發生概率。條件概率表示為P(A|B),讀作「在B條件下A的概率」。

比如上圖,在同一個樣本空間Ω中的事件或者子集A與B,如果隨機從Ω中選出的一個元素屬於B,那麼這個隨機選擇的元素還屬於A的概率就定義為在B的前提下A的條件概率:

聯合概率:

邊緣概率(先驗概率):P(A)或者P(B)

貝葉斯網路(Bayesian network),又稱信念網路(Belief Network),或有向無環圖模型(directed acyclic graphical model),是一種概率圖模型,於1985年由Judea Pearl首先提出。它是一種模擬人類推理過程中因果關系的不確定性處理模型,其網路拓樸結構是一個有向無環圖(DAG)。

貝葉斯網路的有向無環圖中的節點表示隨機變數

它們可以是可觀察到的變數,或隱變數、未知參數等。認為有因果關系(或非條件獨立)的變數或命題則用箭頭來連接。若兩個節點間以一個單箭頭連接在一起,表示其中一個節點是「因(parents)」,另一個是「果(children)」,兩節點就會產生一個條件概率值。

例如,假設節點E直接影響到節點H,即E→H,則用從E指向H的箭頭建立結點E到結點H的有向弧(E,H),權值(即連接強度)用條件概率P(H|E)來表示,如下圖所示:

簡言之,把某個研究系統中涉及的隨機變數,根據是否條件獨立繪制在一個有向圖中,就形成了貝葉斯網路。其主要用來描述隨機變數之間的條件依賴,用圈表示隨機變數(random variables),用箭頭表示條件依賴(conditional dependencies)。

此外,對於任意的隨機變數,其聯合概率可由各自的局部條件概率分布相乘而得出:

1. head-to-head

依上圖,所以有:P(a,b,c) = P(a) P(b) P(c|a,b)成立,即在c未知的條件下,a、b被阻斷(blocked),是獨立的,稱之為head-to-head條件獨立。

2. tail-to-tail

考慮c未知,跟c已知這兩種情況:

3. head-to-tail

還是分c未知跟c已知這兩種情況:

wikipedia上是這樣定義因子圖的:將一個具有多變數的全局函數因子分解,得到幾個局部函數的乘積,以此為基礎得到的一個雙向圖叫做因子圖(Factor Graph)。

通俗來講,所謂因子圖就是對函數進行因子分解得到的 一種概率圖 。一般內含兩種節點:變數節點和函數節點。我們知道,一個全局函數通過因式分解能夠分解為多個局部函數的乘積,這些局部函數和對應的變數關系就體現在因子圖上。

舉個例子,現在有一個全局函數,其因式分解方程為:

其中fA,fB,fC,fD,fE為各函數,表示變數之間的關系,可以是條件概率也可以是其他關系。其對應的因子圖為:

在概率圖中,求某個變數的邊緣分布是常見的問題。這問題有很多求解方法,其中之一就是把貝葉斯網路或馬爾科夫隨機場轉換成因子圖,然後用sum-proct演算法求解。換言之,基於因子圖可以用 sum-proct 演算法 高效的求各個變數的邊緣分布。

詳細的sum-proct演算法過程,請查看博文: 從貝葉斯方法談到貝葉斯網路

樸素貝葉斯(Naive Bayesian)是經典的機器學習演算法之一,也是為數不多的基於概率論的分類演算法。樸素貝葉斯原理簡單,也很容易實現,多用於文本分類,比如垃圾郵件過濾。**樸素貝葉斯可以看做是貝葉斯網路的特殊情況:即該網路中無邊,各個節點都是獨立的。 **

樸素貝葉斯樸素在哪裡呢? —— 兩個假設

貝葉斯公式如下:

下面以一個例子來解釋樸素貝葉斯,給定數據如下:

現在給我們的問題是,如果一對男女朋友,男生想女生求婚,男生的四個特點分別是不帥,性格不好,身高矮,不上進,請你判斷一下女生是嫁還是不嫁?

這是一個典型的分類問題,轉為數學問題就是比較p(嫁|(不帥、性格不好、身高矮、不上進))與p(不嫁|(不帥、性格不好、身高矮、不上進))的概率,誰的概率大,我就能給出嫁或者不嫁的答案!這里我們聯繫到樸素貝葉斯公式:

我們需要求p(嫁|(不帥、性格不好、身高矮、不上進),這是我們不知道的,但是通過樸素貝葉斯公式可以轉化為好求的三個量,這三個變數都能通過統計的方法求得。

等等,為什麼這個成立呢?學過概率論的同學可能有感覺了,這個等式成立的條件需要特徵之間相互獨立吧!對的!這也就是為什麼樸素貝葉斯分類有樸素一詞的來源,樸素貝葉斯演算法是假設各個特徵之間相互獨立,那麼這個等式就成立了!

但是為什麼需要假設特徵之間相互獨立呢?

根據上面倆個原因,樸素貝葉斯法對條件概率分布做了條件獨立性的假設,由於這是一個較強的假設,樸素貝葉斯也由此得名!這一假設使得樸素貝葉斯法變得簡單,但有時會犧牲一定的分類准確率。

樸素貝葉斯優點

樸素貝葉斯缺點

理論上,樸素貝葉斯模型與其他分類方法相比具有最小的誤差率。但是實際上並非總是如此,這是因為樸素貝葉斯模型假設屬性之間相互獨立,這個假設在實際應用中往往是不成立的,在屬性個數比較多或者屬性之間相關性較大時,分類效果不好。

樸素貝葉斯模型(Naive Bayesian Model)的 樸素(Naive)的含義是"很簡單很天真" 地假設樣本特徵彼此獨立. 這個假設現實中基本上不存在, 但特徵相關性很小的實際情況還是很多的, 所以這個模型仍然能夠工作得很好。

新聞分類 GitHub: 點擊進入

【 機器學習通俗易懂系列文章 】

從貝葉斯方法談到貝葉斯網路

『捌』 貝葉斯網路

貝葉斯網路是一種模擬人類推理過程中因果關系的不確定性處理模型,也是一些變數的聯合概率分布的圖形表示。通常包含兩個部分,一個是貝葉斯網路結構圖,它是一個有向無環圖(DAG),其中圖中的每個節點代表相應的變數,節點之間的連接關系代表了貝葉斯網路的條件獨立語義。另一部分,就是節點和節點之間的條件概率表(CPT),也就是一系列的概率值。如果一個貝葉斯網路提供了足夠的條件概率值,足以計算任何給定的聯合概率,我們就稱,它是可計算的,即可推理的。 什麼是貝葉斯推斷?使用貝葉斯方法處理不確定性,需要利用貝葉斯定理將先驗分布更新至後驗分布中,這無疑是最流行的方法之一。但還存在其他非貝葉斯方法,例如集中不等式就是非貝葉斯方法雀培,它們允許計算置信區間和不確定性集合。

貝葉森敬斯網路隨機變數的連接方式主要有順連、分連、匯連這三種連接形式。

基於python的pgmpy庫構建貝葉斯網路,其步驟是先建立網路結構, 然後填入相關參數。 1.針對已知結構及參數,先採用BayesianModel構造貝葉斯網結構

這個貝葉斯網路中有五個節點: Pollution, Cancer, Smoker, Xray, Dyspnoea.

(『Pollution』, 『Cancer』): 一條有向邊, 從 Pollution 指向 Cancer, 表示環境污染有可能導致癌症.

(『Smoker』, 『Cancer』): 吸煙有可能導致癌症.

(『Cancer』, 『Xray』): 得癌症的人可能會去照X射線.

(『Cancer』, 『Dyspnoea』): 得癌症的人可能會呼吸困難.

cancer_model
<pgmpy.models.BayesianModel.BayesianModel at 0x7f57c7f593d0>

Pollution: 有兩種概率, 分別是 0.9 和 0.1.

Smoker: 有兩種概率, 分別是 0.3 和 0.7. (意思是在一個人群里, 有 30% 的人吸煙, 有 70% 的人不吸煙)

Cancer: envidence 表示有 Smoker 和 Pollution 兩個節點指向 Cancer 節點;

測試網路結構是否正確

在構建了貝葉斯此歲慎網之後, 我們使用貝葉斯網來進行推理. 推理演算法分精確推理和近似推理. 精確推理有變數消元法和團樹傳播法; 近似推理演算法是基於隨機抽樣的演算法.

Finding Elimination Order: : 100%|██████████| 1/1 [00:00<00:00, 1096.55it/s]
Eliminating: Pollution: 100%|██████████| 1/1 [00:00<00:00, 888.25it/s]
+-----------+---------------+
| Cancer | phi(Cancer) |
+===========+===============+
| Cancer(0) | 0.0320 |
+-----------+---------------+
| Cancer(1) | 0.9680 |
+-----------+---------------+

True

CPD of D:
+------+------+
| D(0) | 0.49 |
+------+------+
| D(1) | 0.51 |
+------+------+
CPD of G:
+------+---------------------+-----+---------------------+
| D | D(0) | ... | D(1) |
+------+---------------------+-----+---------------------+
| I | I(0) | ... | I(1) |
+------+---------------------+-----+---------------------+
| G(0) | 0.46320346320346323 | ... | 0.519650655021834 |
+------+---------------------+-----+---------------------+
| G(1) | 0.5367965367965368 | ... | 0.48034934497816595 |
+------+---------------------+-----+---------------------+
CPD of I:
+------+-------+
| I(0) | 0.512 |
+------+-------+
| I(1) | 0.488 |
+------+-------+
CPD of S:
+------+----------+---------------------+
| I | I(0) | I(1) |
+------+----------+---------------------+
| S(0) | 0.515625 | 0.48770491803278687 |
+------+----------+---------------------+
| S(1) | 0.484375 | 0.5122950819672131 |
+------+----------+---------------------+
CPD of L:
+------+--------------------+---------------------+
| G | G(0) | G(1) |
+------+--------------------+---------------------+
| L(0) | 0.5424430641821946 | 0.46034816247582205 |
+------+--------------------+---------------------+
| L(1) | 0.4575569358178054 | 0.539651837524178 |
+------+--------------------+---------------------+

閱讀全文

與貝葉斯網路條件概率表相關的資料

熱點內容
4kb的txt文件差不多多少字 瀏覽:984
u盤文件突然變成exe 瀏覽:164
現在哪些學校初中有學編程的 瀏覽:402
word查找全選 瀏覽:599
開工報告附什麼文件資料 瀏覽:150
分區工具app怎麼用 瀏覽:212
安卓堅果雲文件路徑 瀏覽:591
sqllog文件 瀏覽:236
如何在電腦中找到文件路徑 瀏覽:830
數據結構訪問和查找有什麼區別 瀏覽:401
怎麼清空icloud內的數據 瀏覽:338
微信鎖屏後音樂停止 瀏覽:668
applepay蘋果手機卡 瀏覽:835
一個14mb的文件能儲存多少萬漢字 瀏覽:478
騰訊文檔里如何導出數據 瀏覽:979
java面試題csdn 瀏覽:410
rpgnvp是什麼文件 瀏覽:594
如何將一列數據復制到excel 瀏覽:488
sd卡怎麼恢復excel文件 瀏覽:282
gdblinux內核多核調試 瀏覽:24

友情鏈接