導航:首頁 > 編程大全 > 貝葉斯網路構建方法

貝葉斯網路構建方法

發布時間:2025-04-11 01:39:23

⑴ 貝葉斯決策論及貝葉斯網路

對於一個數據進行分類,那麼數據的屬性信息稱為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)演算法是常用的估計參數隱變數的方法。
主要的思想就是:隱變數和模型參數是我們要求的,而二者之間存在相互依賴的關系,也就是不知道隱變數無法求出模型參數,不知道模型參數也無法反推出隱變數。那如果是一種優化迭代演算法的話,初始化隱變數,然後訓練得到最優的參數,然後通過固定最優的參數再反過來訓練到最優的隱變數。直到最後收斂到一個局部最優解。(所以這種演算法求解的結果是和 初始值關系比較大的局部最優解,如果能找到一個接近全局最優解的初始值,或者在接受解的概率上做調整不至於過快收斂,可能可以得到一個更好的解。)

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

閱讀全文

與貝葉斯網路構建方法相關的資料

熱點內容
json編碼問題 瀏覽:633
如何打開編程貓20 瀏覽:127
win10文件無法直接拖入 瀏覽:303
數控內孔69長度66該怎麼編程 瀏覽:724
對齊上緣類型的網站有哪些 瀏覽:830
在桌面顯示文件夾內容 瀏覽:33
液相色譜數據文件名 瀏覽:348
iphone無聲相機插件 瀏覽:449
linux常用頭文件 瀏覽:990
jsp頁面傳json數據類型 瀏覽:684
攝像頭數據連接線多少錢一米 瀏覽:868
怎麼學習使用編程框架外包 瀏覽:257
linux桌面快捷方式圖標 瀏覽:233
雜訊數據處理包括哪些 瀏覽:856
刪除桌面文件需要許可權 瀏覽:774
數據分析有什麼方法 瀏覽:975
ex表當天數據用哪個公式 瀏覽:250
華為路由器如何增強網路 瀏覽:55
期貨從業資格證哪個app刷題 瀏覽:809
ps拷貝整個文件 瀏覽:77

友情鏈接