Metode Bayes
Oleh Dr. Fajar Astuti Hermawati, [Link]., [Link]
4616313 - PENGEMBANGAN SISTEM CERDAS
Mengapa Metode Bayes
• Metode Find-S tidak dapat digunakan untuk data
yang tidak konsisten dan data yang bias,
sehingga untuk bentuk data semacam ini salah
satu metode sederhana yang dapat digunakan
adalah metode bayes.
• Metode Bayes ini merupakan metode yang baik
di dalam mesin pembelajaran berdasarkan data
training, dengan menggunakan probabilitas
bersyarat sebagai dasarnya.
• Metode Bayes digunakan untuk menyelesaikan
permasalahan Klasifikasi.
Beberapa Aplikasi Metode Bayes
• Menentukan diagnosa suatu penyakit berdasarkan data-
data gejala (sebagai contoh hipertensi atau sakit jantung).
• Mengenali buah berdasarkan fitur-fitur buah seperti warna,
bentuk, rasa dan lain-lain
• Mengenali warna berdasarkan fitur indeks warna RGB
• Mendeteksi warna kulit (skin detection) berdarkan fitur
warna chrominant
• Menentukan keputusan aksi (olahraga, art, psikologi)
berdasarkan keadaan.
• Menentukan jenis pakaian yang cocok untuk keadaan-
keadaan tertentu (seperti cuaca, musim, temperatur, acara,
waktu, tempat dan lain-lain)
TINJAUAN (REVIEW) PROBABILITAS
DASAR
Probabilitas Bersyarat
S
X P( X Y )
XY P( X | Y )
Y P (Y )
Probabilitas X di dalam Y adalah probabilitas interseksi
X dan Y dari probabilitas Y, atau dengan bahasa lain
P(X|Y) adalah prosentase banyaknya X di dalam Y
Contoh
Tidak
Melanjutkan
melanjutkan
ke perguruan
ke perguruan
tinggi
tinggi
Laki – laki 450 50
Perempuan 150 250
Perhatikan kejadian – kejadian berikut :
L : kejadian yang terpilih laki - laki
K: kejadian yang terpilih adalah orang yang
melanjutkan ke perguruan tinggi
Dengan menggunakan ruang contoh yang
dipersempit K, maka akan didapatkan Peluang
kejadian terpilih laki-laki untuk orang yang
melanjutkan ke perguruan tinggi.
P(L|K) = ?
• Misalkan n(A) melambangkan banyaknya
unsur dalam himpunan A
n( K L ) n( K L ) / n( S ) P ( K L )
P( L | K ) ,
n( K ) n( K ) / n( S ) P( K )
450 1
P ( K L)
900 2
600 2
P( K )
900 3
1/ 2 3
P( L | K )
2/3 4
Contoh lain
Peluang Kereta Api Gajayana berangkat tepat pada
waktunya adalah P(B) = 0.85, peluang Kereta Api
Gajayana datang tepat pada waktunya adalah P(D) =
0.90 dan peluang kereta api tersebut berangkat dan
datang tepat pada waktunya adalah P(BD) = 0.75.
Hitung peluang bahwa Kereta Api Gajayana itu
(a) datang tepat pada waktunya bila diketahui kereta api
tersebut berangkat tepat pada waktunya, dan
(b) berangkat tepat pada waktunya bila diketahui kereta api
tersebut datang tepat pada waktunya.
Probabilitas Bersyarat Dalam Data
# Cuaca Temperatur Kecepatan Angin Berolah-raga
1 Cerah Normal Pelan Ya
2 Cerah Normal Pelan Ya
3 Hujan Tinggi Pelan Tidak
4 Cerah Normal Kencang Ya
5 Hujan Tinggi Kencang Tidak
6 Cerah Normal Pelan Ya
Banyaknya data berolah-raga=ya adalah 4 dari 6 data maka dituliskan
P(Olahraga=Ya) = 4/6
Banyaknya data cuaca=cerah dan berolah-raga=ya adalah 4 dari 6
data maka dituliskan
P(cuaca=cerah dan Olahraga=Ya) = 4/6
4/6
P(cuaca cerah | olahraga ya ) 1
4/6
Distribusi Bersama dan Distribusi Marginal
Dari 100 orang mahasiswa menunjukkan 20 orang mahasiswa
menyukai keduanya, 30 orang mahasiswa menyukai bulu tangkis tapi
tidak menyukai bola volley, 40 orang mahasiswa menyukai bola volley
tapi tidak menyukai bulu tangkis, dan 10 orang mahasiswa tidak
menyukai kuduanya. Dari data ini dapat disusun bentuk distribusi
bersama sebagai berikut:
Suka bulu Suka bola volley (Y)
tangkis (X) P(X)
Ya Tidak
Ya 0.2 0.3 0.5
Tidak 0.4 0.1 0.5
P(Y) 0.6 0.4 1
Distribusi Bersama
Distribusi Marginal X dan Y
Probabilitas Bersyarat Dalam Data
# Cuaca Temperatur Berolahraga
1 cerah normal ya
2 cerah tinggi ya
3 hujan tinggi tidak
4 cerah tinggi tidak
5 hujan normal tidak
6 cerah normal ya
Banyaknya data berolah-raga=ya adalah 3 dari 6 data maka dituliskan
P(Olahraga=Ya) = 3/6
Banyaknya data cuaca=cerah, temperatur=normal dan berolah-
raga=ya adalah 2 dari 6 data maka dituliskan
P(cuaca=cerah, temperatur=normal, Olahraga=Ya) = 2/6
2/6 2
P(cuaca cerah, temperatur normal | olahraga ya )
3/ 6 3
Kaidah Total Peluang
A
B
Bc
A = (BA) (BcA)
P(A) = P [(BA) (BcA)]
= P(BA) + P(BcA)]
= P(B)P(A|B) + P(Bc)P(A|Bc)
Kaidah Total Peluang
Bila kejadian – kejadian Bi untuk i = 1, 2,
…,k, maka untuk sembarang kejadian A
yang merupakan himpunan bagian S
berlaku
P(A) = P(B1) P(A|B1) + P(B2) P(A|B2)
+ … + P(Bk) P(A|Bk).
Contoh 1
Tiga wakil partai A, B dan C mencalonkan diri sebagai
presiden. Peluang wakil dari partai A terpilih sebagai
presiden adalah 0.4, peluang wakil dari partai B terpilih
adalah 0.3 dan peluang wakil dari partai C terpilih adalah
0.3. Seandainya wakil dari partai A terpilih sebagai
presiden, peluang terjadinya kenaikan harga BBM
adalah 0.7. Seandainya yang terpilih adalah wakil dari
partai B, peluang terjadinya kenaikan harga BBM adalah
0.4. Bila yang terpilih adalah wakil dari partai C maka
peluang terjadinya kenaikan harga BBM adalah 0.6.
Berapa peluang terjadinya kenaikan harga BBM ?
Contoh 2
• Sebuah toko menjual bola lampu. Empat puluh
lima persen dari bola lampu yang dijual toko
tersebut diproduksi oleh pabrik A dan sisanya
diproduksi oleh pabrik [Link] lampu yang
diproduksi pabrik A mempunyai peluang cacat
sebesar 3 persen sedangkan yang diproduksi
pabrik B mempunyai peluang cacat sebesar 5
persen. Bila seseorang membeli bola lampu dari
toko tersebut, berapa peluang dia akan
mendapatkan bola lampu yang cacat?
Kaidah Bayes
Jika kejadian – kejadian B1, B2, …, Bk
merupakan sekatan dari ruang contoh S
dengan P(Bi) 0 untuk I = 1, 2, …, k,
maka untuk sembarang kejadian A yang
bersifat P(A) 0,
P( Br ) P( A | Br )
P( Br | A)
P( B1) P( A | B1) P( B2 ) P( A | B2 ) ... P( Bk ) P( A | Bk )
Contoh Kaidah Bayes
• Untuk masalah dalam Contoh 1 misalkan
ada orang yang tidak mengetahui siapa
yang menjadi presiden karena dia tinggal
di pelosok daerah. Bila beberapa waktu
kemudian ternyata harga BBM naik,
berapa peluang bahwa yang menjadi
presiden adalah wakil dari partai A?
Contoh Kaidah Bayes
Untuk masalah pada contoh 2, misalkan ada
seseorang yang membeli bola lampu dari
toko tersebut. Setelah sampai rumah dan
dicoba, ternyata lampu tersebut cacat.
Berapa peluang bahwa lampu tersebut
diproduksi oleh pabrik A?
Posterior dan Prior
… P ( Bk ) P ( A | Bk )
B2
P ( Bk | A)
P( Bi ) P( A | Bi )
B1 Bn
.
i
A P ( Bk ) P ( A | Bk )
P ( Bk | A)
P ( A)
P(Bk|A) disebut keadaan Posterior (Probabilitas Bk di
dalam A)
P(Bk) disebut keadaan Prior
KLASIFIKASI DENGAN BAYES
Permasalahan klasifikasi
• Misalkan dalam permasalahan klasifikasi,
terdapat dua kelas w1 dan w2.
• Diketahui sebuah data yang dinyatakan
dalam fitur vector X
• Maka P(wi|X) merupakan keadaan
posterior yang menyatakan peluang X ada
di kelas wi.
Permasalahan klasifikasi
• Secara umum, model klasifikasi dengan
metode Bayes, adalah mencari P(wi|X)
paling besar.
• Dengan kata lain,
– Jika P(w1|X) > P(w2|X) maka X
diklasifikasikan sebagai kelas w1
– Jika P(w2|X) > P(w2|X) maka X
diklasifikasikan sebagai kelas w2
HMAP
HMAP (Hypothesis Maximum Appropri Probability) menyatakan hipotesa
yang diambil berdasarkan nilai probabilitas berdasarkan kondisi prior yang
diketahui.
PY i 1 PX i Y
d
PY X arg max
P X
arg max PY i 1 PX i Y
d
HMAP adalah model penyederhanaan dari metode bayes yang disebut
dengan Naive Bayes. HMAP inilah yang digunakan di dalam machine
learning sebagai metode untuk mendapatkan hipotesis untuk suatu
keputusan.
Data Training
# Cuaca Temperatur Kecepatan Angin Berolah-raga
1 Cerah Normal Pelan Ya
2 Cerah Normal Pelan Ya
3 Hujan Tinggi Pelan Tidak
4 Cerah Normal Kencang Ya
5 Hujan Tinggi Kencang Tidak
6 Cerah Normal Pelan Ya
Asumsi:
Y = berolahraga,
X1 = cuaca,
X2 = temperatur,
X3 = kecepatan angin.
HMAP Dari Data Training
# Cuaca Temperatur Kecepatan Angin Berolah-raga
1 Cerah Normal Pelan Ya Apakah bila cuaca
2 Cerah Normal Pelan Ya cerah dan
3 Hujan Tinggi Pelan Tidak kecepatan angin
4 Cerah Normal Kencang Ya kencang, orang
5 Hujan Tinggi Kencang Tidak akan berolahraga?
6 Cerah Normal Pelan Ya
Fakta: P(Y=ya) = 4/6 , P(Y=tidak) = 2/6
P(X1=cerah|Y=ya) = 1, P(X1=cerah|Y=tidak) = 0
P(X3=kencang|Y=ya) = 1/4 , P(X3=kencang|Y=tidak) = 1/2
HMAP dari keadaan ini dapat dihitung dengan:
P(Y=ya|X) = P( X1=cerah,X3=kencang | Y=ya ) * P(Y=ya)
= { P(X1=cerah|Y=ya)*P(X3=kencang|Y=ya) } * P(Y=ya)
= { (1) * (1/4) } * (4/6) = 1/6
P(Y=tidak|X) = P( X1=cerah,X3=kencang | Y=tidak ) *P(Y=tidak)
= { P(X1=cerah|Y=tidak)*P(X3=kencang|Y=tidak) } * P(Y=tidak)
= { (0) * (1/2) } * (2/6) = 0
Karena P(Y=ya|X) > P(Y=tidak|X) maka KEPUTUSAN ADALAH
BEROLAHRAGA = YA
Kelemahan Metode Bayes
• Metode Bayes hanya bisa digunakan
untuk persoalan klasifikasi dengan
supervised learning dan data-data
kategorikal.
• Metode Bayes memerlukan pengetahuan
awal untuk dapat mengambil suatu
keputusan. Tingkat keberhasilan metode
ini sangat tergantung pada pengetahuan
awal yang diberikan.
ESTIMASI PROBABILITAS DALAM
METODE BAYES
Estimasi Prob untuk Atribut Kontinyu
• Mendiskritkan setiap atribut kontinyu dan
mengganti nilai atribut kontinyu dengan
interval diskrit yang bersesuaian.
• Mengasumsikan suatu bentuk distribusi
probabilitas tertentu untuk variabel
kontinyu dan mengestimasi parameter
distribusi menggunakan data training.
Diskritisasi
– Pendekatan yang digunakan adalah:
• Pendekatan equal width : membagi range atribut
ke dalam sejumlah interval yang ditentukan user
yang masing-masing mempunyai lebar yang sama.
• Pendekatan equal frequency (equal depth) :
menempatkan obyek-obyek dengan jumlah yang
sama dalam tiap interval.
Contoh diskritisasi
Tax Income Tax Income Tax Income
125 baru T
S T
100
R R
70
R T
120 S S
95 R R
60 R T
220 T
S
85 R
R
75 R
S
90 R
Estimasi Prob untuk Atribut Kontinyu
• Misalkan dengan menggunakan distribusi
Gaussian, yang mempunyai dua parameter yaitu
mean () dan varians (2), maka untuk setiap
kelas yj, probabilitas kelas untuk atribut Xi
adalah :
( Ai ij ) 2
1
P( A | c ) e 2 ij2
2
i j 2
ij
Dimana ij dapat diestimasikan berdasarkan sample
mean dari Xi untuk semua training record yang berada
di kelas yj. Demikian juga dengan ²ij.
Estimasi Prob untuk Atribut Kontinyu
Tid Refund Marital Taxable
Status Income Cheat
• Contoh Data training
1 Yes Single 125K No
• Sample mean dan variance
untuk atribut kelas ‘No’ : 2 No Married 100K No
3 No Single 70K No
=(125+100+70+120+60+220+75)/7
= 110 4 Yes Married 120K No
s²=((125-110)²+…..)/6=2975 5 No Divorced 95K Yes
s = 2975 = 54.54 6 No Married 60K No
• Maka probabilitas untuk taxable 7 Yes Divorced 220K No
income 120 berlaku tidak curang 8 No Single 85K Yes
adalah 9 No Married 75K No
10 No Single 90K Yes
10
(120110) 2
1
P( Income 120 | No) e 2 ( 2975)
0.0072
2 (54.54) 2
Contoh Naïve Bayes Classifier
Diberikan Test Record:
X (Refund No, Married, Income 120K)
naive Bayes Classifier:
P(Refund=Yes|No) = 3/7 P(X|Class=No) = P(Refund=No|Class=No)
P(Refund=No|No) = 4/7 P(Married| Class=No)
P(Refund=Yes|Yes) = 0 P(Income=120K| Class=No)
P(Refund=No|Yes) = 1 = 4/7 4/7 0.0072 = 0.0024
P(Marital Status=Single|No) = 2/7
P(Marital Status=Divorced|No)=1/7
P(Marital Status=Married|No) = 4/7 P(X|Class=Yes) = P(Refund=No| Class=Yes)
P(Marital Status=Single|Yes) = 2/7 P(Married| Class=Yes)
P(Marital Status=Divorced|Yes)=1/7 P(Income=120K| Class=Yes)
P(Marital Status=Married|Yes) = 0 = 1 0 1.2 10-9 = 0
For taxable income:
If class=No: sample mean=110 Karena P(X|No)P(No) > P(X|Yes)P(Yes)
sample variance=2975 Maka P(No|X) > P(Yes|X)
If class=Yes: sample mean=90
sample variance=25 => Class = No
Naïve Bayes Classifier
• Jika salah satu probabilitas kondisional
bernilai nol, maka ekspresi keseluruhan
menjadi nol
• Probability estimation:
N ic
Original : P( Ai | C ) c: number of classes
Nc p: prior probability bisa
N ic 1 dihitung dari 1/jum-
Laplace : P( Ai | C ) nilai-atribut untuk setiap
Nc c atribut
N ic mp
m - estimate : P( Ai | C ) m: parameter yang
Nc m dikenal sebagai ukuran
sampel ekivalen
Contoh m-estimasi
• Pada contoh yang diberikan sebelumnya,
peluang bersyarat P(Status=Married|Yes) = 0
karena tidak ada training record kelas yang
memiliki nilai atribut tersebut.
• Menggunakan pendekatan m-estimasi dengan :
– m=3 (diberikan nilai yang sama untuk setiap
atribut)
– p=1/3 (1/jumlah-nilai-atribut)
– P(Marital Status=Married|Yes) =
(0 + 3 *1/3)/(3 + 3) = 1/6.
Contoh Naïve Bayes Classifier
Name Give Birth Can Fly Live in Water Have Legs Class
human yes no no yes mammals
A: attributes
python no no no no non-mammals M: mammals
salmon no no yes no non-mammals
whale yes no yes no mammals N: non-mammals
frog no no sometimes yes non-mammals
komodo no no no yes non-mammals
6 6 2 2
bat
pigeon
yes
no
yes
yes
no
no
yes
yes
mammals
non-mammals
P ( A | M ) 0.06
cat yes no no yes mammals
7 7 7 7
leopard shark yes no yes no non-mammals 1 10 3 4
turtle no no sometimes yes non-mammals P ( A | N ) 0.0042
penguin no no sometimes yes non-mammals 13 13 13 13
porcupine yes no no yes mammals
7
P ( A | M ) P ( M ) 0.06 0.021
eel no no yes no non-mammals
salamander no no sometimes yes non-mammals
gila monster no no no yes non-mammals 20
platypus no no no yes mammals
13
owl
dolphin
no
yes
yes
no
no
yes
yes
no
non-mammals
mammals
P ( A | N ) P ( N ) 0.004 0.0027
eagle no yes no yes non-mammals 20
P(A|M)P(M) > P(A|N)P(N)
Give Birth Can Fly Live in Water Have Legs Class
yes no yes no ? => Mammals
Naïve Bayes (Kesimpulan)
• Robust terhadap titik terisolasi
• Menangani missing values dengan
mengabaikan record tersebut selama
perhitungan
• Robust terhadap atribut yang tidak relevan