Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan...
Transcript of Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan...
Bayesian Network
Imam Cholissodin, S.Si., M.Kom.
Kecerdasan Buatan/
Artificial Intelligence
Pokok Bahasan
1. Syntax & Semantics
2. Compact conditional distributions
3. Efficient Inference
4. Latihan Individu + Tugas Kelompok
Syntax & Semantics
Bayesian Network :
Notasi graf yang menyatakan conditional independence
dalam suatu domain.
Node menyatakan sebuah random variable.
Arc (directed edge) menyatakan hubungan kausal
langsung (direct influence).
Arahnya dari variable “sebab” ke variable “akibat”.
Node sibling menyatakan variable yang conditionally
independent karena parent-nya.
Conditional distribution untuk setiap node terhadap
parent-nya: P(Xi | Parents(Xi))
Tidak ada cycle di dalam Bayesian Network.
Syntax & Semantics
Contoh kedokteran gigi :
Topologi sebuah Bayesian Network menyatakan
hubungan conditional independence :
Keterangan :
Weather independent dari semua variable lain.
Toothache dan Catch conditionally independent karena Cavity.
Syntax & Semantics
Contoh lain :
Anto sedang di kantor. Tetangganya, John, menelpon
mengatakan alarm anti-perampoknya bunyi.
Tetangganya, Mary, tidak menelpon. Kadang-kadang
alarmnya nyala karena gempa bumi. Apakah ada
perampok di rumah Anto?
Variable dalam domain :
Burglar, Earthquake, Alarm, JohnCalls, MaryCalls
Hubungan sebab akibat :
Perampok bisa membuat alarm nyala.
Gempa bumi bisa membuat alarm nyala.
Alarm bisa membuat John menelpon.
Alarm bisa membuat Mary menelpon.
Syntax & Semantics
Contoh Bayesian Network :
Syntax & Semantics
Rekonstruksi full joint distribution :
Bayesian Network adalah deskripsi lengkap sebuah
domain.
Full joint distribution bisa diperoleh dari local conditional
distribution :
Contoh: hitung probabilitas John menelpon, Mary
menelpon, alarm nyala, tidak ada perampok, tidak ada
gempa bumi.
P (j ∧ m ∧ a ∧ ¬b ∧ ¬e) =
P (j |a)P (m|a)P (a|¬b, ¬e)P (¬b)P (¬e) =
0.9 × 0.7 × 0.001 × 0.999 × 0.998 = 0.00062
n
i iin xParentsxPxxP11 |,...,
Syntax & Semantics
Membangun Bayesian Network :
Bagaimana membangun sebuah Bayesian Network?
Sebuah algoritma:.
Pilih ordering variable X1, . . . , Xn
For i = 1 to n
o Tambahkan Xi ke network
o Pilih parent dari X1, . . . , Xi−1 shg.
P(Xi | Parents(Xi )) = P(Xi | X1, . . . , Xi−1)
Agar Bayesian Network sah..
Xi harus conditionally independent terhadap semua
X1, . . . , Xi−1 yang bukan anggota Parents(Xi) karena
Parents(Xi).
Syntax & Semantics
Chain rule & conditional independence :
Algoritma di slide sebelumnya menggunakan chain rule :
P(A, B, C, D) = P(A|B, C, D)P(B, C, D)
= P(A|B, C, D)P(B|C, D)P(C, D)
= P(A|B, C, D)P(B|C, D)P(C|D)P(D)
Ini spt. membangun Bayesian Network dengan urutan D, C, B,
A tanpa conditional independence.
Bagaimana jika, mis:
A conditionally independent thd. B karena C dan D
B conditionally independent thd. C karena D:
P(A, B, C, D) = P(A|C, D)P(B|D)P(C|D)P(D)
Syntax & Semantics
Contoh membangun Bayesian Network :
Mis. kita pilih urutan : MaryCalls, JohnCalls, Alarm, Burglar,
Earthquake.
P(J | M) = P(J)? Tidak
P(A | J , M) = P(A | J)? P(A | J , M) = P(A)? Tidak
P(B | A, J , M) = P(B | A)? Ya
P(B | A, J , M) = P(B)? Tidak
P(E | B, A, J , M) = P(E | A)? Tidak
P(E | B, A, J , M) = P(E | A, B)? Ya
Syntax & Semantics
Naive vs. paranoid... :
Naive Bayes model
Semua variable akibat dianggap saling conditionally
independent karena variable sebab.
Full joint distribution (paranoid?)
Semua random variable dianggap saling mempengaruhi
Yang kita cari: analisa domain-specific yang menghasilkan
informasi conditional independence yang benar!
Syntax & Semantics
Contoh yang lebih rumit... :
Diagnosa awal: mobil mogok!
Testable node: nilainya bisa diukur.
Fixable node: nilainya bisa diatur.
Hidden node: hanya untuk menyederhanakan struktur
network-nya.
Syntax & Semantics
Contoh yang lebih rumit... :
Menentukan nilai asuransi mobil...
Compact conditional distributions
Deterministic nodes :
Conditional distribution sebuah node dgn. k parent exponential
dlm. k .
Ada beberapa representasi yang lebih efisien → canonical
distribution.
Conditional distribution dari suatu deterministic node bisa
dihitung sepenuhnya dari nilai parent-nya.
Dengan kata lain, nilai probabilitasnya bisa dinyatakan sebagai
suatu fungsi : X = f(Parents(X))
Misalnya, “hidden” variable pada contoh mobil mogok:
No_charging = Alternator_broken ∨ Fanbelt_broken
Battery_flat = Battery_dead ∨ No_charging
Nilainya diperoleh dari truth table ∨
Compact conditional distributions
Noisy-OR Distribution :
Noisy-OR distribution mirip ∨ dalam logic, tapi ada
uncertainty : Berapakah ketidakpastian sebuah variable “gagal”
mengakibatkan proposition bernilai true?
Contoh :
P(¬fever | cold , ¬flu, ¬malaria) = 0.6
P(¬fever | ¬cold , flu, ¬malaria) = 0.2
P(¬fever | ¬cold , ¬flu, malaria) = 0.1
Compact conditional distributions
Variable dengan nilai kontinyu :
Bagaimana kalau nilai variable kontinyu? Tabel?
Gunakan canonical distribution : fungsi dengan parameter.
Contoh :
Diskrit : Subsidy?, Buys?
Kontinyu : Harvest, Cost
Compact conditional distributions
Variable diskrit, parent kontinyu :
Probabilitas dari Buy? jika diketahui Cost adalah “soft
threshold” :
Distribusi probit adalah integral dari fungsi Gaussian :
P(Buys? = true | Cost = c) = Φ((−c + µ)/σ)
dxxNxx
1,0
Compact conditional distributions
Variable kontinyu :
Model Linear Gaussian sering dipakai :
2
2
1exp
2
1
,?,|
t
tt
ttt
bhac
cbhaNtrueSubsidyhHarvestcCostP
Efficient Inference
Inference by enumeration :
Mis. hitung probabilitas ada perampok jika John dan Mary
menelpon.
Perhatikan bahwa P(j | a)P(m | a) dihitung untuk setiap nilai e.
Gunakan dynamic programming : hitung sekali, simpan hasilnya!
amPajPebaPePbP
amPajPebaPePbPmjbP
e a
e a
||,|
||,|,|
Efficient Inference
Approximate inference :
Pendekatan lain: jangan hitung nilai persis, tapi cukup di-
sample (Monte Carlo).
Ide dasar :
Ambil N sample dari distribusi Bayes Net.
Estimasi posterior probability dari query event :
Berapa kali query event “terjadi” dari N kali sample?
Dibagi N.
konvergen terhadap P.
P̂
PNˆlim
Efficient Inference
Contoh sampling :
a. P(C,S,R,W)=? b. P(C,S,R,~W)=?
Latihan individu
Perhatikan Bayesian Network di bawah ini.
Tentukan nilai Peluang :
a. John menelpon, Mary menelpon, alarm nyala, ada perampok, tidak
ada gempa bumi. P (j ∧ m ∧ a ∧ b ∧ ¬e).
b. John menelpon, Mary tidak menelpon, alarm nyala, ada perampok,
ada gempa bumi. P (j ∧ ¬ m ∧ a ∧ b ∧ e).
Tugas Kelompok
Buatlah minimal 1 case study unik dan penyelesaiannya dengan Bayesian
Network !
Buatlah program prolog jika diketahui fakta-fakta berikut!
Kemudian buat query buku bagus / recommended jika rating-nya lebih dari 3 !
No Judul Buku ISBN Kategori Penerbit Rating
1 Beginning Ogre 3D 1.7 1-2345-678 Games
Development Apress 5
2 Programming for Newbies 9-9972-784 Programming O’Reilly 4
3 Pro Android Games 4-7899-099 Games
Development Apress 4
4 Pro Code Igniter 7-3788-123 Web
Programming Apress 3
5 Learn CCNA in 23 days 9-7889-900 Network &
Security Sams 2
Selesai