IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
IKI 30320: Sistem Cerdas
Kuliah 18: Bayesian Networks
Ruli Manurung
Fakultas Ilmu Komputer Universitas Indonesia 28 November 2007 IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Outline
1 Syntax & Semantics
2 Compact conditional distributions
3 Efficient Inference 4 Ringkasan IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Review
Probability theorymerangkumketidakpastian sbg. bilangan.
Full joint probability distribution = inference as addition Efficiency: absolute & conditional independence Bayes Rule: inference dengan conditional probability
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Bayesian Network
Notasi graf yang menyatakan conditional independence dalam suatu domain.
Nodemenyatakan sebuah random variable.
Arc(directed edge) menyatakan hubungan kausal langsung (direct influence).
Arahnya dari variable “sebab” ke variable “akibat”.
Nodesiblingmenyatakan 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 (d.k.l. directed acyclic graph atau DAG)
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Contoh kedokteran gigi
Topologi sebuah Bayesian Network menyatakan hubungan conditional independence:
Weather
Cavity
Toothache
Catch
Weather independent dari semua variable lain.
Toothache dan Catch conditionally independent karena Cavity . IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
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.
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Contoh Bayesian Network
.001 P(B) .002 P(E) Alarm Earthquake MaryCalls JohnCalls Burglary B T T F F E T F T F .95 .29 .001 .94 P(A|B,E) A T F .90 .05 P(J|A) A T F .70 .01 P(M|A) IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Bayesian Network = ringkas
B
E
J
A
M
Conditional probability sebuah node dgn. k parent = O(2k).
Untuk n buah variable: O(n × 2k)
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Rekonstruksi full joint distribution
Bayesian Network adalah deskripsi lengkap sebuah domain.
Full joint distribution bisa diperoleh dari local conditional distribution:
P(X1, . . . ,Xn) =
Π
ni = 1P(Xi|Parents(Xi))
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 IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Membangun Bayesian Network
Bagaimana membangun sebuah Bayesian Network?
Sebuah algoritma:
1 Pilih ordering variable X
1, . . . ,Xn 2 For i = 1 to n
Tambahkan Xi ke network
Pilih parent dari X1, . . . ,Xi−1shg. 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). IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Chain rule & conditional independence
Algoritma di slide sebelumnya menggunakanchain 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) IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Contoh membangun Bayesian Network
Mis. kita pilih urutan: MaryCalls, JohnCalls, Alarm, Burglar , Earthquake.
MaryCalls Alarm Burglary Earthquake JohnCalls 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
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Naive vs. paranoid...
Naive Bayes model
Semua variableakibatdianggap saling conditionally independent karena variablesebab.
Full joint distribution (paranoid?)
Semua random variable dianggap saling mempengaruhi.
Yang kita cari: analisadomain-specificyang menghasilkan informasiconditional independenceyang benar!
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Mulailah dari penyebab
MaryCalls
Alarm
Burglary
Earthquake JohnCalls
Menentukanconditional independencesulit untuk arah non-causal. Menghitungconditional probabilitysulit untuk arah non-causal.
Ukuran Bayesian Network pun lebih besar:1+2+4+2+4=13 nilai
Conditional independence lebihintuitifpada causal model! Kesimpulan: mulai dari variable “sebab” dulu.
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Contoh yang lebih rumit...
Diagnosa awal:mobil mogok!
Testablenode: nilainya bisa diukur Fixablenode: nilainya bisa diatur
Hiddennode: hanya untuk menyederhanakan struktur network-nya
lights
no oil no gas starterbroken battery age alternator
broken fanbelt broken battery dead no charging battery flat gas gauge fuel line blocked oil light battery meter car won’t start dipstick IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Contoh yang LEBIH rumit...
Menentukan nilai asuransi mobil...
SocioEcon Age GoodStudent ExtraCar Mileage VehicleYear RiskAversion SeniorTrain DrivingSkill MakeModel DrivingHist DrivQuality Antilock
Airbag CarValue HomeBase AntiTheft
Theft OwnDamage PropertyCost LiabilityCost MedicalCost Cushioning Ruggedness Accident OtherCost OwnCost
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Deterministic nodes
Conditional distribution sebuah node dgn. k parent exponential dlm. k .
Ada beberapa representasi yang lebih efisien →canonical distribution
Conditional distribution dari suatudeterministic nodebisa dihitung sepenuhnya dari nilai parent-nya.
Dkl, 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 ∨
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Noisy-OR Distribution
Noisy-OR distributionmirip ∨ 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
Cold Flu Malaria P(Fever ) P(¬Fever )
F F F 0.0 1.0 F F T 0.9 0.1 F T F 0.8 0.2 F T T 0.98 0.02 = 0.2 × 0.1 T F F 0.4 0.6 T F T 0.94 0.06 = 0.6 × 0.1 T T F 0.88 0.12 = 0.6 × 0.2 T T T 0.988 0.012 = 0.6 × 0.2 × 0.1
Jumlah parameterlinierthd. jumlah parent
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Variable dengan nilai kontinyu
Bagaimana kalau nilai variable kontinyu? Tabel? Gunakancanonical distribution: fungsi dengan parameter. Contoh: Buys? Harvest Subsidy? Cost
Diskrit: Subsidy ?, Buys? Kontinyu: Harvest, Cost
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Variable diskrit, parent kontinyu
Probabilitas dari Buy ? jika diketahui Cost adalah“soft threshold”:
0 0.2 0.4 0.6 0.8 1 0 2 4 6 8 10 12 P (buys | c) Cost c
Distribusiprobitadalah integral dari fungsi Gaussian: Φ(x ) =R
−∞
xN(0, 1)(x )dx
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Variable kontinyu
0 2 4 6 8 1012 Cost c 02 46 810 12 Harvest h 0 0.05 0.1 0.150.2 0.250.3 0.35 0.4 P(c | h, subsidy)ModelLinear Gaussiansering dipakai:
P(Cost = c|Harvest = h, Subsidy ? = true) = N(ath + bt, σt)(c) = 1 σt √ 2πexp 0 @− 1 2 c − (ath + bt) σt !21 A IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Inference by enumeration
Mis. mau hitung probabilitas ada perampok jika John dan Mary menelpon. P(b|j, m) = αP e P aP(b)P(e)P(a|b, e)P(j|a)P(m|a) = αP(b)P eP(e) P aP(a|b, e)P(j|a)P(m|a) P(j|a) .90 P(m|a) .70 .01 P(m| a) .05 P(j| a) P(j|a) .90 P(m|a) .70 .01 P(m| a) .05 P(j| a) P(b) .001 P(e) .002 P( e) .998 P(a|b,e) .95 .06 P( a|b, e) .05 P( a|b,e) .94 P(a|b, e)
Perhatikan bahwa P(j|a)P(m|a) dihitung untuk setiap nilai e. Gunakan dynamic programming: hitung sekali, simpan hasilnya!
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Approximate inference
Pendekatan lain: jangan hitung nilai persis, tapi cukup di-sample (Monte Carlo).
Ide dasar
AmbilN sample dari distribusi Bayes Net
Estimasiposterior probability dari query event:Pˆ
Berapa kali query event “terjadi” dariNkali sample? DibagiN.
limN→∞Pˆ konvergen terhadapP
IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Contoh sampling
Cloudy Rain Sprinkler Wet Grass C T F .80 .20 P(R|C) C T F .10 .50 P(S|C) S R T T T F F T F F .90 .90 .99 P(W|S,R) P(C) .50 .01IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Contoh sampling
Cloudy Rain Sprinkler Wet Grass C T F .80 .20 P(R|C) C T F .10 .50 P(S|C) S R T T T F F T F F .90 .90 .99 P(W|S,R) P(C) .50 .01 IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference RingkasanContoh sampling
Cloudy Rain Sprinkler Wet Grass C T F .80 .20 P(R|C) C T F .10 .50 P(S|C) S R T T T F F T F F .90 .90 .99 P(W|S,R) P(C) .50 .01 IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference RingkasanContoh sampling
Cloudy Rain Sprinkler Wet Grass C T F .80 .20 P(R|C) C T F .10 .50 P(S|C) S R T T T F F T F F .90 .90 .99 P(W|S,R) P(C) .50 .01 IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference RingkasanContoh sampling
Cloudy Rain Sprinkler Wet Grass C T F .80 .20 P(R|C) C T F .10 .50 P(S|C) S R T T T F F T F F .90 .90 .99 P(W|S,R) P(C) .50 .01IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference Ringkasan
Contoh sampling
Cloudy Rain Sprinkler Wet Grass C T F .80 .20 P(R|C) C T F .10 .50 P(S|C) S R T T T F F T F F .90 .90 .99 P(W|S,R) P(C) .50 .01 IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference RingkasanContoh sampling
Cloudy Rain Sprinkler Wet Grass C T F .80 .20 P(R|C) C T F .10 .50 P(S|C) S R T T T F F T F F .90 .90 .99 P(W|S,R) P(C) .50 .01 IKI30320 Kuliah 18 28 Nov 2007 Ruli Manurung Syntax & Semantics Compact conditional distributions Efficient Inference RingkasanRingkasan
Bayes Netcocok utk. representasi (causal) conditional independence
Mulai dari variable penyebab, tambahkan variable akibat
Compact conditional distributiondengan representasi
canonical
Exactinference bisa dipercepat dengandynamic
programming