Kecerdasan Artifisial
Pertemuan 12
Jaringan Bayesian
Mata Kuliah: Kecerdasan Artifisial (AI401) | 3 SKS
๐ฏ Capaian Pembelajaran
Setelah pertemuan ini, mahasiswa mampu:
- Menjelaskan motivasi jaringan Bayesian sebagai representasi compact
- Membangun jaringan Bayesian (topologi DAG dan tabel CPT)
- Menghitung distribusi probabilitas gabungan dari struktur jaringan
- Mengidentifikasi conditional independence dari struktur graf
- Menerapkan d-separation untuk menentukan independensi
- Melakukan inferensi eksak (enumeration dan variable elimination)
- Menjelaskan konsep dasar approximate inference
๐ Agenda Hari Ini
Bagian 1
- Motivasi Jaringan Bayesian
- Struktur: DAG dan CPT
- Semantik: Chain Rule
- Contoh: Alarm Network
Bagian 2
- Conditional Independence
- Tiga Pola Koneksi
- D-Separation
- Inferensi Eksak
- Approximate Inference
๐ Review: Pertemuan 11
Pada pertemuan sebelumnya kita mempelajari:
- Probabilitas bersyarat dan Teorema Bayes
- Full joint distribution untuk penalaran probabilistik
- Conditional independence untuk menyederhanakan komputasi
โ ๏ธ Masalah: Full joint distribution memerlukan parameter yang sangat banyak โ tidak praktis untuk domain besar!
๐ฅ Curse of Dimensionality
Full joint distribution untuk n variabel Boolean memerlukan 2n - 1 parameter:
| Variabel Boolean |
Parameter |
Status |
| 5 |
31 |
โ
Kecil |
| 10 |
1.023 |
โ ๏ธ Manageable |
| 20 |
1.048.575 |
โ Besar |
| 30 |
~1 miliar |
โ Tidak Praktis |
๐ก Kita butuh representasi yang lebih compact!
๐ก Solusi: Jaringan Bayesian
Jaringan Bayesian (Bayesian Network) adalah representasi grafis compact dari distribusi probabilitas gabungan yang mengeksploitasi conditional independence antar variabel.
Ide kunci: Sebagian besar variabel hanya bergantung langsung pada sejumlah kecil variabel lain.
Keuntungan:
- ๐ฆ Representasi compact
- ๐๏ธ Intuitif โ graf menunjukkan hubungan kausal
- ๐งฉ Modular โ spesifikasi lokal per variabel
- โก Inferensi efisien tersedia
๐ Pengurangan Dramatis
Contoh: Sistem pertahanan udara dengan 20 variabel Boolean
Full Joint Distribution
1.048.575
parameter
Jaringan Bayesian
160
parameter (avg 3 parent)
Pengurangan lebih dari 6.500ร lipat!
๐๏ธ Dua Komponen Utama
Gambar 12.1: Dua komponen utama jaringan Bayesian โ DAG dan CPT
1๏ธโฃ Directed Acyclic Graph (DAG)
DAG adalah graf berarah tanpa siklus yang menunjukkan hubungan ketergantungan antar variabel.
| Istilah |
Arti |
Contoh |
| Node |
Variabel acak |
Cuaca, Alarm, Radar |
| Edge (A โ B) |
A mempengaruhi B secara langsung |
Cuaca โ Visibilitas |
| Parent |
Node yang menunjuk ke node lain |
Parent(Alarm) = {Pencurian, Gempa} |
| Root node |
Node tanpa parent |
Pencurian, Gempa |
2๏ธโฃ Conditional Probability Table (CPT)
CPT adalah tabel yang menentukan P(Node | Parents) untuk setiap kombinasi nilai parent.
Jumlah parameter CPT:
- Root node (Boolean): 1 parameter
- Node dengan k parent Boolean: 2k parameter
โ ๏ธ Jumlah parent harus kecil agar compact! Jika setiap node punya max 3 parent โ max 8 parameter per node.
๐ Contoh Klasik: Alarm Network
Skenario: Alarm pencuri bisa dipicu oleh pencurian atau gempa. Tetangga John dan Mary mungkin menelepon jika alarm berbunyi.
Gambar 12.2: Alarm Network โ contoh klasik dari AIMA (Russell & Norvig)
๐ CPT Alarm Network
Root nodes:
| P(Burglary) | P(Earthquake) |
| 0.001 | 0.002 |
Alarm | B, E:
| B | E | P(A=T) |
| T | T | 0.95 |
| T | F | 0.94 |
| F | T | 0.29 |
| F | F | 0.001 |
JohnCalls | A:
MaryCalls | A:
Total: 10 parameter vs 31 untuk full joint distribution (5 variabel Boolean)
๐ Semantik: Chain Rule
Chain Rule Jaringan Bayesian:
\[P(x_1, x_2, ..., x_n) = \prod_{i=1}^{n} P(x_i \mid Parents(X_i))\]
Untuk Alarm Network:
\[P(b, e, a, j, m) = P(b) \cdot P(e) \cdot P(a|b,e) \cdot P(j|a) \cdot P(m|a)\]
๐ก Distribusi gabungan = produk semua CPT dengan nilai yang sesuai
๐ข Contoh Perhitungan Joint Probability
Hitung: P(pencurian, ยฌgempa, alarm, john, mary)
\[P(b, \neg e, a, j, m) = P(b) \cdot P(\neg e) \cdot P(a|b, \neg e) \cdot P(j|a) \cdot P(m|a)\]
| P(b) |
P(ยฌe) |
P(a|b,ยฌe) |
P(j|a) |
P(m|a) |
Produk |
| 0.001 |
0.998 |
0.94 |
0.90 |
0.70 |
โ 0.000591 |
โ
Cukup kalikan nilai CPT yang sesuai โ tidak perlu menyimpan seluruh tabel joint!
๐ Conditional Independence
Local Markov Property: Setiap node bersifat conditionally independent dari semua non-descendant diberikan parent-nya.
Pada Alarm Network:
- John โฅ Mary | Alarm โ
- Burglary โฅ Earthquake โ
(tidak punya parent sama)
- John โฅ Earthquake | Alarm โ
๐ก Conditional independence ini yang memungkinkan representasi compact!
๐ Tiga Pola Koneksi Fundamental
Gambar 12.3: Tiga pola koneksi โ Chain, Common Cause, Common Effect
Pola 1: Rantai (Chain)
A โ B โ C
| Kondisi B |
A dan C |
| Tidak diobservasi |
โ Dependen |
| Diobservasi |
โ
Independen |
๐๏ธ Contoh: Pesawat Musuh โ Deteksi Radar โ Sirene
Jika sudah tahu radar mendeteksi, info pesawat musuh tidak menambah info tentang sirene
Pola 2: Penyebab Bersama (Fork)
A โ B โ C
| Kondisi B |
A dan C |
| Tidak diobservasi |
โ Dependen |
| Diobservasi |
โ
Independen |
๐๏ธ Contoh: Macet โ Hujan โ Banjir
Jika sudah tahu hujan atau tidak, info macet tidak mengubah prob. banjir
Pola 3: Efek Bersama (Collider) โญ
A โ B โ C
| Kondisi B |
A dan C |
| Tidak diobservasi |
โ
Independen |
| Diobservasi |
โ Dependen! |
โ ๏ธ KEBALIKAN dari Chain dan Fork! Observasi pada B justru mengaktifkan dependensi.
๐ Explaining Away
Explaining Away: Mengetahui satu penyebab dari efek yang diamati mengurangi probabilitas penyebab lain.
Contoh: JammingMusuh โ RadarGagal โ KerusakanHardware
- Tanpa info radar: Jamming โฅ Kerusakan
- Radar gagal: Bisa jamming ATAU kerusakan
- Radar gagal + diketahui hardware rusak โ kemungkinan jamming menurun
๐ก Kerusakan hardware sudah "menjelaskan" kegagalan radar, sehingga jamming menjadi kurang mungkin
๐ Ringkasan Tiga Pola Koneksi
| Pola |
Struktur |
B Tidak Obs. |
B Obs. |
| Chain |
A โ B โ C |
Dependen |
Independen |
| Fork |
A โ B โ C |
Dependen |
Independen |
| Collider |
A โ B โ C |
Independen |
Dependen |
โ ๏ธ Ingat: Collider (V-structure) berperilaku kebalikan dari Chain dan Fork!
๐ง D-Separation
D-Separation (Directional Separation): Kriteria grafis untuk menentukan apakah dua variabel bersifat conditionally independent diberikan set variabel ketiga.
Aturan: X dan Y d-separated oleh Z jika setiap undirected path antara X dan Y terblokir oleh Z.
Path terblokir jika mengandung node V dimana:
- V โ Z dan V bukan collider (chain/fork), ATAU
- V โ Z dan V descendant-nya โ Z, dan V adalah collider
๐ง Aturan Blocking
| Pola pada Path |
Kondisi Blocked |
Kondisi Active |
| Chain: โ V โ |
V โ Z (diobservasi) |
V โ Z |
| Fork: โ V โ |
V โ Z (diobservasi) |
V โ Z |
| Collider: โ V โ |
V โ Z dan descendant(V) โ Z |
V โ Z atau descendant(V) โ Z |
๐ก D-separated โ conditionally independent
D-connected โ mungkin dependen
๐ก๏ธ Markov Blanket
Markov Blanket dari node X adalah set minimal yang membuat X conditionally independent dari semua node lain.
Markov Blanket(X) =
- Parents(X) โ node yang langsung mempengaruhi X
- Children(X) โ node yang langsung dipengaruhi X
- Co-parents(X) โ parent lain dari children X
๐ Contoh Alarm Network:
Markov Blanket(Alarm) = {Burglary, Earthquake, JohnCalls, MaryCalls}
๐ฎ Inferensi pada Jaringan Bayesian
Inferensi: Menghitung probabilitas variabel tertentu diberikan observasi (evidence) pada variabel lain.
| Jenis Query |
Notasi |
Deskripsi |
| Posterior probability |
\(P(X \mid e)\) |
Prob. X diberikan evidence e |
| Most probable explanation |
\(\arg\max_x P(x \mid e)\) |
Nilai X paling mungkin |
Contoh: P(Burglary | JohnCalls=T, MaryCalls=T) = ?
๐ Inference by Enumeration
Menghitung posterior dengan menjumlahkan semua hidden variables:
\[P(X \mid e) = \alpha \sum_{y} P(X, e, y)\]
Variabel:
- X = query variable (yang dicari)
- e = evidence variables (yang diketahui)
- y = hidden variables (yang dijumlahkan)
- ฮฑ = konstanta normalisasi
๐ข Contoh: P(B | j, m)
Hitung P(Burglary | JohnCalls=T, MaryCalls=T)
\[P(B \mid j, m) = \alpha \sum_{e} \sum_{a} P(B) \cdot P(e) \cdot P(a|B,e) \cdot P(j|a) \cdot P(m|a)\]
Untuk B = true: Enumerasi 4 kombinasi (e, a)
| e | a | Produk |
| T | T | 1.197 ร 10โปโถ |
| T | F | 5.0 ร 10โปยนยน |
| F | T | 5.909 ร 10โปโด |
| F | F | 2.994 ร 10โปโธ |
P(b, j, m) โ 5.922 ร 10โปโด
๐ข Hasil: P(B | j, m)
| B |
P(B, j, m) |
P(B | j, m) |
| true |
5.922 ร 10โปโด |
โ 0.284 (28.4%) |
| false |
1.492 ร 10โปยณ |
โ 0.716 (71.6%) |
๐ก Meskipun
kedua tetangga menelepon, probabilitas pencurian "hanya"
28.4% karena:
- Prior pencurian sangat rendah (0.001)
- Ada kemungkinan penyebab lain (gempa, false alarm)
โก Variable Elimination
Variable Elimination: Algoritma inferensi eksak yang mengeliminasi variabel hidden satu per satu, menyimpan hasil antara sebagai faktor.
Keunggulan vs Enumeration:
- Menghindari perhitungan ulang sub-ekspresi yang sama
- Menggunakan dynamic programming
- Kompleksitas lebih rendah pada jaringan terstruktur
โก Langkah Variable Elimination
- Tulis query sebagai produk faktor
- Pilih variabel hidden untuk dieliminasi
- Pointwise multiply faktor yang mengandung variabel tersebut
- Sum out variabel dari faktor gabungan โ faktor baru
- Ulangi sampai semua hidden variables tereliminasi
- Normalisasi hasil akhir
โ ๏ธ Urutan eliminasi mempengaruhi efisiensi โ mencari urutan optimal adalah NP-hard!
๐ Perbandingan Metode Inferensi
| Aspek |
Enumeration |
Variable Elimination |
| Pendekatan |
Brute force |
Dynamic programming |
| Redundansi |
Banyak perhitungan ulang |
Minimal |
| Kompleksitas |
O(n ยท 2n) |
O(n ยท 2w) โ w = treewidth |
| Memori |
Rendah |
Lebih tinggi (simpan faktor) |
๐๏ธ Membangun Jaringan Bayesian
Panduan konstruksi dari domain:
- Identifikasi variabel-variabel yang relevan
- Tentukan urutan kausal (penyebab โ efek)
- Untuk setiap variabel, tentukan parent minimal
- Buat CPT untuk setiap variabel
- Verifikasi: tidak ada siklus dalam graf
๐ก Tips: Selalu gunakan urutan kausal! Arah panah mengikuti arah sebab-akibat menghasilkan jaringan yang lebih compact.
๐๏ธ Contoh: Sistem C2 Pertahanan Udara
Variabel: IntelMusuh, Cuaca, AncamanUdara, DeteksiRadar, SistemAlarm, ScrambleJet
Struktur kausal:
- IntelMusuh โ AncamanUdara
- Cuaca โ AncamanUdara
- Cuaca โ DeteksiRadar
- AncamanUdara โ DeteksiRadar
- DeteksiRadar โ SistemAlarm
- SistemAlarm โ ScrambleJet
๐ก Cuaca mempengaruhi dua hal: apakah pesawat musuh bisa terbang DAN apakah radar bisa mendeteksi
๐ฒ Approximate Inference
โ ๏ธ Masalah: Inferensi eksak pada jaringan besar bisa sangat lambat (NP-hard secara umum).
Approximate Inference menggunakan metode sampling untuk mengestimasi probabilitas.
Ide dasar:
- Generate N sampel dari distribusi
- Hitung frekuensi relatif sebagai estimasi probabilitas
- Semakin banyak sampel โ estimasi semakin akurat
๐ฒ Prior Sampling
Prosedur:
- Urutkan node secara topological order
- Untuk setiap node (dari root):
- Gunakan CPT dan nilai parent yang sudah di-sample
- Generate nilai secara random sesuai distribusi
- Ulangi N kali โ N complete samples
- Estimasi: \(\hat{P}(X=x) = \frac{count(X=x)}{N}\)
โ
Dijamin: sampel sesuai dengan distribusi joint probability dari jaringan Bayesian
๐ง Quiz Time!
Pertanyaan 1:
Pada pola V-structure (A โ B โ C), kapan A dan C menjadi dependen?
A. Ketika B tidak diobservasi
B. Ketika A diobservasi
C. Ketika B (atau descendant B) diobservasi โ
D. A dan C selalu independen
๐ก Ini adalah fenomena "explaining away" โ observasi pada efek bersama mengaktifkan dependensi antar penyebab
๐ง Quiz Time!
Pertanyaan 2:
Alarm Network memiliki 5 variabel Boolean. Berapa total parameter dalam jaringan Bayesian vs full joint distribution?
A. 10 vs 15
B. 10 vs 31 โ
C. 31 vs 10
D. 20 vs 31
๐ก BN: B(1) + E(1) + A(4) + J(2) + M(2) = 10. Full joint: 2โต - 1 = 31
๐ง Quiz Time!
Pertanyaan 3:
Apa Markov Blanket dari node Alarm dalam Alarm Network?
A. {JohnCalls, MaryCalls}
B. {Burglary, Earthquake}
C. {Burglary, Earthquake, JohnCalls, MaryCalls} โ
D. {Burglary, Earthquake, JohnCalls, MaryCalls, Alarm}
๐ก Markov Blanket = Parents + Children + Co-parents. Alarm punya parents {B,E}, children {J,M}, dan tidak ada co-parent tambahan.
๐ Ringkasan
| Konsep |
Poin Kunci |
| Jaringan Bayesian |
Representasi compact joint distribution via DAG + CPT |
| Chain Rule |
P(xโ,...,xโ) = โ P(xแตข | Parents(Xแตข)) |
| 3 Pola Koneksi |
Chain & Fork: obs. blocks | Collider: obs. activates |
| D-Separation |
Kriteria grafis untuk conditional independence |
| Markov Blanket |
Parents + Children + Co-parents |
| Enumeration |
Sum out hidden variables, normalize |
| Variable Elimination |
Dynamic programming dengan faktor |
๐
Pertemuan Berikutnya
Pertemuan 13: Supervised Learning
Pembelajaran Mesin โ Pembelajaran Terawasi
- Paradigma pembelajaran mesin
- Decision Tree (ID3/C4.5, information gain)
- Naive Bayes Classifier
- Evaluasi model (accuracy, precision, recall, F1)
๐ Referensi
- Russell, S. & Norvig, P. (2020). Artificial Intelligence: A Modern Approach (4th Ed.). Pearson. Chapter 13-14
- Bishop, C.M. (2006). Pattern Recognition and Machine Learning. Springer. Chapter 8.
- Koller, D. & Friedman, N. (2009). Probabilistic Graphical Models. MIT Press. Chapter 3-9.
Terima Kasih
๐ค Kecerdasan Artifisial
Pertemuan 12: Jaringan Bayesian
Ada pertanyaan?