kecerdasan buatan/ artificial intelligence · nilainya diperoleh dari truth table ... latihan...

24
Bayesian Network Imam Cholissodin, S.Si., M.Kom. Kecerdasan Buatan/ Artificial Intelligence

Upload: vominh

Post on 20-Apr-2018

217 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

Bayesian Network

Imam Cholissodin, S.Si., M.Kom.

Kecerdasan Buatan/

Artificial Intelligence

Page 2: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

Pokok Bahasan

1. Syntax & Semantics

2. Compact conditional distributions

3. Efficient Inference

4. Latihan Individu + Tugas Kelompok

Page 3: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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.

Page 4: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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.

Page 5: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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.

Page 6: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

Syntax & Semantics

Contoh Bayesian Network :

Page 7: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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 |,...,

Page 8: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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).

Page 9: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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)

Page 10: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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

Page 11: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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!

Page 12: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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.

Page 13: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

Syntax & Semantics

Contoh yang lebih rumit... :

Menentukan nilai asuransi mobil...

Page 14: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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 ∨

Page 15: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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

Page 16: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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

Page 17: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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

Page 18: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

Compact conditional distributions

Variable kontinyu :

Model Linear Gaussian sering dipakai :

2

2

1exp

2

1

,?,|

t

tt

ttt

bhac

cbhaNtrueSubsidyhHarvestcCostP

Page 19: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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

||,|

||,|,|

Page 20: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : 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.

PNˆlim

Page 21: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

Efficient Inference

Contoh sampling :

a. P(C,S,R,W)=? b. P(C,S,R,~W)=?

Page 22: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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).

Page 23: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

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

Page 24: Kecerdasan Buatan/ Artificial Intelligence · Nilainya diperoleh dari truth table ... Latihan individu Perhatikan Bayesian Network di bawah ini. Tentukan nilai Peluang : a

Selesai