Kecerdasan Artifisial

Pertemuan 12

Jaringan Bayesian

Mata Kuliah: Kecerdasan Artifisial (AI401) | 3 SKS

๐ŸŽฏ Capaian Pembelajaran

Setelah pertemuan ini, mahasiswa mampu:

  1. Menjelaskan motivasi jaringan Bayesian sebagai representasi compact
  2. Membangun jaringan Bayesian (topologi DAG dan tabel CPT)
  3. Menghitung distribusi probabilitas gabungan dari struktur jaringan
  4. Mengidentifikasi conditional independence dari struktur graf
  5. Menerapkan d-separation untuk menentukan independensi
  6. Melakukan inferensi eksak (enumeration dan variable elimination)
  7. 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

Komponen Jaringan Bayesian

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.

Alarm Network

Gambar 12.2: Alarm Network โ€” contoh klasik dari AIMA (Russell & Norvig)

๐Ÿ“Š CPT Alarm Network

Root nodes:

P(Burglary)P(Earthquake)
0.0010.002

Alarm | B, E:

BEP(A=T)
TT0.95
TF0.94
FT0.29
FF0.001

JohnCalls | A:

AP(J=T)
T0.90
F0.05

MaryCalls | A:

AP(M=T)
T0.70
F0.01

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

Tiga Pola Koneksi

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)

eaProduk
TT1.197 ร— 10โปโถ
TF5.0 ร— 10โปยนยน
FT5.909 ร— 10โปโด
FF2.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

  1. Tulis query sebagai produk faktor
  2. Pilih variabel hidden untuk dieliminasi
  3. Pointwise multiply faktor yang mengandung variabel tersebut
  4. Sum out variabel dari faktor gabungan โ†’ faktor baru
  5. Ulangi sampai semua hidden variables tereliminasi
  6. 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:

  1. Identifikasi variabel-variabel yang relevan
  2. Tentukan urutan kausal (penyebab โ†’ efek)
  3. Untuk setiap variabel, tentukan parent minimal
  4. Buat CPT untuk setiap variabel
  5. 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:

  1. Urutkan node secara topological order
  2. Untuk setiap node (dari root):
    • Gunakan CPT dan nilai parent yang sudah di-sample
    • Generate nilai secara random sesuai distribusi
  3. Ulangi N kali โ†’ N complete samples
  4. 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

  1. Russell, S. & Norvig, P. (2020). Artificial Intelligence: A Modern Approach (4th Ed.). Pearson. Chapter 13-14
  2. Bishop, C.M. (2006). Pattern Recognition and Machine Learning. Springer. Chapter 8.
  3. Koller, D. & Friedman, N. (2009). Probabilistic Graphical Models. MIT Press. Chapter 3-9.

Terima Kasih

๐Ÿค– Kecerdasan Artifisial

Pertemuan 12: Jaringan Bayesian


Ada pertanyaan?