貝葉斯網路 是什麼?

Bayesian Networks:貝葉斯網路 的完整解釋

用有向無環圖與條件機率表表示變數間依賴關係的概率圖模型,支援推論與學習。

貝葉斯網路(Bayesian Networks)是現代概率推理的基礎框架,在人工智慧、醫療診斷、金融風控、程序設計等領域廣泛應用。貝葉斯網路將複雜的機率問題轉化為圖形表示與局部計算,使得大規模推理變得計算可行。

有向無環圖與條件獨立性

貝葉斯網路的結構由三部分組成:節點代表隨機變數,有向邊代表直接依賴關係,缺少邊意味著條件獨立性。例如,醫療診斷的貝葉斯網路可能包含節點「疾病」「症狀 A」「症狀 B」「檢驗結果」;邊「疾病 → 症狀 A」表示疾病直接導致症狀 A;「疾病」同時作為「症狀 A」「症狀 B」的父節點,表示給定疾病狀態,兩種症狀在條件上獨立(一症狀出現不增加另一症狀出現的概率,因為已知疾病了)。

DAG 的重要性質是「馬可夫毯」(Markov Blanket):給定一個節點的馬可夫毯(其父節點、子節點與子節點的其他父節點),該節點與網路其他部分條件獨立。這個性質使得推論能侷限於局部範圍,大幅降低計算成本。

條件機率表與因子分解

DAG 結構定義後,貝葉斯網路透過條件機率表(CPT)指定具體的機率量。對於每個節點 V_i,需定義 P(V_i | PA_i),其中 PA_i 是其父節點。整個網路的聯合分布能表示為:

P(V₁, V₂, ..., Vₙ) = ∏ᵢ P(Vᵢ | PAᵢ)

例如,疾病網路 P(D, A, B, T)(D=疾病, A=症狀A, B=症狀B, T=檢驗結果)在結構 D → A, D → B, D → T 下,聯合分布為: P(D, A, B, T) = P(D) × P(A | D) × P(B | D) × P(T | D)

這個因子分解是貝葉斯網路的核心優勢:當 CPT 中多數條目為 0 或重複時(實際應用中常見),存儲與計算都比完整的聯合分布表高效得多。

機率推論

給定觀測證據 E(例如患者症狀),貝葉斯網路能計算後驗分布 P(Query | E),進行所謂的「診斷推論」。例如,若患者表現症狀 A 與 B,推論系統計算 P(疾病 | 症狀 A, 症狀 B)。

推論方法包含:

精確推論(Exact Inference):對於小規模網路,可用變數消元法(Variable Elimination)或信念傳播(Belief Propagation)精確計算。變數消元利用因子分解與條件獨立性,逐步消除不相關變數,時間複雜度取決於網路的樹寬度。

近似推論(Approximate Inference):對於大規模、複雜網路,精確推論計算量過大。常用方法包含吉布斯採樣(Gibbs Sampling)、變分推論(Variational Inference)等,在精確性與計算成本間取捨。

參數學習

若網路結構已知但 CPT 參數未知,可從資料中學習。簡單情況下(完全觀測資料),參數估計就是計算經驗條件機率:

P̂(Vᵢ | PAᵢ = pAᵢ) = Count(Vᵢ, PAᵢ = pAᵢ) / Count(PAᵢ = pAᵢ)

當資料不完全(含缺失值)時,常用期望最大化(EM)演算法迭代估計。

結構學習

真實應用中常需從資料推導網路結構本身。這是更困難的問題,因為可能的 DAG 數量隨節點數指數增長。常用方法包含:

評分搜尋(Score-and-Search):定義評分函數(如貝葉斯資訊準則 BIC),搜尋使評分最高的結構。

約束型學習(Constraint-based Learning):基於資料中觀測到的條件獨立性判斷,推導相容的 DAG 類別。

因果性與相關性的混淆

貝葉斯網路的圖結構能代表因果關係,但也能代表純相關結構。例如,結構 A → B 與 A ← B 在資料協方差上無區別,都能產生相同的邊際機率分布。因此,不能單純從資料推導出唯一的因果 DAG,必須結合領域知識或實驗干預才能確定因果方向。這是「馬可夫等價性」(Markov Equivalence)問題:多個不同的 DAG 可能對應同一個概率分布。

應用場景

  • 醫療診斷:根據症狀與檢驗結果推導疾病概率,是貝葉斯網路的經典應用。
  • 故障診斷:工業設備中,根據多個感測器信號推斷故障原因。
  • 垃圾信件過濾:根據郵件特徵(詞頻、發件人等)判別垃圾郵件概率。
  • 決策支持:在不確定環境下,計算各決策選項的期望效用。
  • 知識圖表示:貝葉斯網路可在知識圖中編碼實體與關係的不確定性。

在 iPAS AI 應用規劃師考試中,貝葉斯網路是概率圖模型與推理的重要考點,要求理解網路結構與條件獨立性的關係、精確與近似推論的原理、參數與結構學習的方法,以及因果性與相關性的區別。

常見問題