貝葉斯網路(Bayesian Networks)是什麼?

用有向無環圖與條件機率表表示變數間依賴關係的概率圖模型,支援推論與學習。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

英文
Bayesian Networks
主題標籤
機器學習、貝葉斯方法、圖模型
考點定位
非 iPAS 核心術語
最後更新
2026/06/23
貝葉斯網路(Bayesian Networks)是什麼? 機器學習貝葉斯方法
術語快查

搜尋意圖: 如果你在找「貝葉斯網路 是什麼」或「貝葉斯網路 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。

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

實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。

下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。

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

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

常見問題

貝葉斯網路的箭頭一定代表因果關係嗎?

不一定。貝葉斯網路的箭頭在數學上只代表條件依賴(或說父節點與子節點不條件獨立),不一定是因果關係。例如,結構 P(A, B, C) = P(A) × P(B | A) × P(C | A) 表示 B 與 C 都依賴 A,箭頭可以是 A → B 與 A → C(A 因果影響 B 與 C),也可以是相反方向 B → A 與 C → A(B 與 C 都導致 A),只要滿足聯合分布的因子分解就行。從資料上看,兩種因果結構可能無法區分。因此,貝葉斯網路是純粹的概率模型,要判定箭頭是否代表因果必須結合領域知識或實驗干預。在應用時,若要進行因果推理,應明確陳述哪些箭頭被解釋為因果,並提供理由。

大規模貝葉斯網路的推論有多慢?

這取決於網路的拓撲結構。若網路是樹狀(tree-structured,每個節點最多一個父節點),推論時間與節點數成線性關係,非常高效。但對於含有許多父節點或環結構(不是 DAG)的網路,精確推論可能指數級複雜。實踐中,大規模網路(數千個節點)通常無法進行精確推論,轉而使用近似方法如採樣、變分推論或啟發式方法。另一個策略是利用網路的結構稀疏性:在馬可夫毯內進行局部推論,不需處理整個網路,可大幅加速。現代軟體庫(如 PyMC、Stan、pgmpy)提供了高效的推論引擎,自動選擇適切的算法。

貝葉斯網路和深度學習的生成模型(如生成對抗網路)有什麼區別?

兩者都是概率模型,但應用與計算方式不同。貝葉斯網路對變數間的依賴關係做了明確的圖形化假設,導致聯合分布能因子分解為小規模條件分布的乘積,便於推論與解釋,但假設過於簡單時可能無法捕捉複雜的高維資料結構。深度生成模型(如 VAE、GAN)利用深層神經網路學習高維資料的複雜非線性變換,能表達極其複雜的分布,但模型結構不透明,難以進行明確的因果推理或符號化查詢。貝葉斯網路適合小規模、需要推理與可解釋性的問題;深度模型適合大規模高維資料的生成任務。兩者也可融合(如構築貝葉斯深度網路),以期兼得兩者優勢。