INGREDIENTS OF MACHINE LEARNING
KS141321 SISTEM CERDAS
Materi 3
Jurusan Sistem Informasi ITS
OUTLINE
Pengertian
Komponen-komponen
Task
Model
Feature
PENGERTIAN
PEMBELAJARAN MESIN
PENGERTIAN
PEMBELAJARAN MESIN
“Suatu program komputer dikatakan belajar dari pengalaman
(experience) E terhadap suatu jenis tugas (task) T dan dengan ukuran performa (performance measure) P, jika performa dari program
komputer tersebut pada tugas
tersebut meningkat seiring dengan semakin banyaknya pengalaman”
CONTOH PENDEFINISIAN PEMBELAJARAN
Pemain Catur
T (tugas) : bermain catur
P (ukuran performa) : persentase permainan yang dimenangkan E (pengalaman/latihan) : pengalaman sebelumnya dalam bermain catur
Pengenalan Tulisan Tangan
T (tugas) : mengenali tulisan tangan
P (ukuran performa) : persentase kata yang berhasil dibaca dengan benar
E (pengalaman/latihan) : suatu basis data yang berisi kata-kata tulisan tangan beserta klasifikasinya
CONTOH PENDEFINISIAN PEMBELAJARAN (2)
Peserta Tes TOEFL
T (tugas) : mengikuti tes TOEFL
P (ukuran performa) : skor TOEFL yang diperoleh
E (pengalaman/latihan) : soal-soal latihan TOEFL yang telah dikerjakan
Self-Driving Car
T (tugas) : mengemudi pada jalan raya dengan sensor citra P (ukuran performa) : jarak rata-rata yang ditempuh sebelum terjadi error
E (pengalaman) : satu set data yang memetakan pindaian sensor dengan keputusan pengemudian yang dilakukan
manusia
KOMPONEN-KOMPONEN PEMBELAJARAN MESIN
Task
permasalahan/tugas yang dapat diselesaikan dengan pembelajaran mesin
Model
keluaran dari pembelajaran
Fitur
karakterisasi dari pengalaman (experience)
CONTOH: SPAMASSASSIN
SpamAssassin adalah suatu filter
spam open-source yang dipergunakan secara luas
Task: jika diberikan suatu e-mail, apakah e-mail tersebut spam atau bukan?
Menurut anda, bagaimana kira-kira permasalahan ini bisa diselesaikan?
CONTOH: SPAMASSASSIN (2)
Misalkan kita memiliki sejumlah e-mail yang sudah digolongkan menjadi spam dan bukan spam, dengan mempelajari kumpulan tersebut, manusia dapat membedakan antara spam dengan
bukan spam
Kumpulan e-mail tersebut dapat dipergunakan sebagai data pelatihan
Bagaimana pembedaan ini dapat dilakukan pula oleh komputer?
How do you know that an e-mail is a spam?
Mostly, from its words
Kata-kata dapat dipergunakan sebagai fitur untuk mengkarakterisasi sebuah e-mail
A SMALL TRAINING EXAMPLE SET FOR SPAM FILTERING
Misalkan kita memiliki contoh data empat buah e-mail yang sudah digolongkan menjadi spam dan bukan spam
Ada dua kata yang kita pilih sebagai fitur, “hadiah” (x1) dan “besar” (x2) E-mail Mengand
ung kata
“hadiah”
?
Mengand ung kata
“besar”?
x1 x2 Spam?
1 Ya Ya 1 1 Ya
2 Tidak Tidak 0 0 Bukan
3 Ya Tidak 1 0 Bukan
4 Tidak Ya 0 1 Bukan
MODEL: PEMISAH SPAM DAN BUKAN SPAM
Misalkan data pelatihan
tersebut kita gambarkan dalam ruang dua dimensi seperti
gambar di samping
Bagaimana memisahkan antara spam dan bukan spam?
0 0.2 0.4 0.6 0.8 1 1.2
0 0.2 0.4 0.6 0.8 1
1.2 x2
“hadiah”
“besar”
MODEL: PEMISAH SPAM DAN BUKAN SPAM (2)
Kita dapat memisahkan kedua kategori tersebut dengan
suatu garis pemisah, sebagai contoh:
4x1 + 4x2 = 5
Jika suatu e-mail terpetakan ke
4x1 + 4x2 > 5 spam
4x1 + 4x2 < 5 bukan spam 00 0.2 0.4 0.6 0.8 1 1.2
0.2 0.4 0.6 0.8 1
1.2 x2
“hadiah”
“besar”
MODEL: PEMISAH SPAM DAN BUKAN SPAM (3)
Dalam kasus ini, model pemisah spam dan bukan spam berupa suatu garis pemisah
Terdapat berbagai jenis model yang dapat dipergunakan
Bagaimana kita menemukan garis ini?
Cukup mudah, jika jumlah data dan dimensi kecil
Bagaimana jika data berjumlah besar dan berdimensi besar?
sebagai contoh, jumlah kata pada suatu e-mail tentunya lebih
dari 2, dan terdapat banyak kata yang dapat dievaluasi, tidak terbatas pada kata yang telah ditentukan sebelumnya
No worries, you just find an appropriate machine learning algorithm to do it for you
Demo SVM Toy
MACHINE LEARNING
TASKS
TUGAS-TUGAS YANG DAPAT DISELESAIKAN DENGAN
PEMBELAJARAN MESIN
Klasifikasi (Classification)
Regresi (Regression)
Klastering/penemuan kelompok (Clustering)
Analisis asosiasi (Association Analysis)
Pencarian pola
Klasifikasi dan regresi membutuhkan ketersediaan data berlabel, sehingga disebut supervised learning
Klastering, analisis asosiasi, dan pencarian pola tidak
membutuhkan data berlabel, sehingga disebut unsupervised learning
Supervised Learning
Unsupervised Learning
Clusterin g
Classificati
on
REGRESSION
House size Lot size Bedrooms Granite Upgraded
bathroom? Selling price
3529 9191 6 0 0 $205000
3247 10061 5 1 1 $224900
4032 10150 5 0 1 $197900
2397 14156 4 1 0 $189900
2200 9600 4 0 1 $195000
3536 19994 6 1 1 $325000
2983 9365 5 0 1 $230000
3198 9669 5 1 1 ????
Selling price = -26.6882 * houseSize + 7.0551 * lotSize + 43166.0767 * bedrooms + 42292.0901 * bathroom -21661.1208
= $219,328.25
CONTOH: PENCARIAN STRUKTUR
Misalnya matriks di bawah ini mewakili
penilaian yang dilakukan oleh enam orang,
masing-masing pada tiap baris, terhadap empat film berbeda, dengan skor antara 0 s.d. 3:
The Imitation Game
Frozen
Interstellar
The Hobbit
Secara rata-rata, terlihat bahwa Interstellar merupakan film yang paling disukai dengan skor rata-rata (1+2+0+3+1+2)/6 = 1.5, dan The Imitation Game memiliki skor terendah dengan rata-rata 0.5
Namun, adakah pola lain yang dapat terkuak?
CONTOH: PENCARIAN STRUKTUR (2)
Bila dicermati, pada matrix di samping terdapat kolom yang merupakan hasil penjumlahan dari kolom-kolom lain, dan baris yang merupakan penjumlahan dari baris-baris lain
Kolom 3 merupakan jumlah dari kolom 1 dan 2
Baris 4 merupakan jumlah dari baris 1 dan 2
Ingat bahwa kolom mewakili film dan baris mewakili orang, sehingga hasil di atas mencerminkan bahwa:
genre dari film ketiga merupakan kombinasi dari genre film pertama dan kedua,
selera dari orang keempat merupakan gabungan dari selera orang pertama dan kedua
CONTOH : PENCARI AN STRUKTU R (3)
Dengan menggunakan teknik dekomposisi matriks (matrix decomposition), diperoleh hasil sebagai berikut:
Perhatikan kolom-kolom pada matriks film:
Film 1 (The Imitation Game) merupakan film genre 1
(misalkan drama), sedangkan film 2 (Frozen) merupakan film genre 2 (misalkan fantasi). Film 3 (Interstellar)
merupakan kombinasi dari genre 1 dan 2 (jadi, drama fantasi)
orang
faktor pengali (matriks diagonal)
genre film
genre 1 genre 2 genre 3
f1 f2 f3 f4
PENGGOLONGAN MODEL YANG DIBENTUK
Prediktif
Model prediktif menghasilkan output berupa suatu nilai variabel target
Contoh: model pada spam filter menghasilkan keputusan apakah suatu e-mail termasuk spam atau bukan spam
Deskriptif
Model deskriptif tidak bertujuan untuk menghasilkan output berupa suatu variable target, melainkan untuk
menangkap/mendeskripsikan perilaku dari suatu kumpulan data Contoh: pada suatu kumpulan data karakteristik mahasiswa,
kelompok-kelompok minat apa saja yang ada?
PENGKATEGORIAN TASK PEMBELAJARAN MESIN
Keterangan:
pada subgroup discovery, proses yang dilakukan sama dengan klasifikasi, yaitu membuat model yang keluarannya adalah nilai variabel output, namun tujuannya adalah untuk menganalisis perilaku dari variabel output tersebut, bukan
menghasilkan tebakan nilai output seakurat mungkin seperti pada klasifikasi
EVALUASI PERFORMA PADA
Performa model pada task pembelajaran mesin TASK
memiliki metode evaluasi yang terukur
Contoh:
Pada task klasifikasi, ukurannya adalah seberapa tepat prediksi kelas yang dihasilkan oleh model yang terbentuk
contoh: jika dari 100 e-mail yang masuk, penggolongan spam dan bukan spam yang dihasilkan sistem tepat pada 90 e-mail, berarti akurasi sistem tersebut adalah 90%
Pada task klastering, ukurannya adalah seberapa jauh kelompok yang dihasilkan memiliki kesamaan di dalam kelompoknya sendiri dan berbeda dengan kelompok yang lain
EVALUASI PERFORMA PADA TASK (2)
Untuk memperoleh gambaran yang tepat mengenai performa sistem, data yang dimiliki dipisahkan menjadi dua bagian:
1. Training set / data pelatihan
Digunakan untuk membentuk model
2. Test set / data pengujian
Digunakan untuk menguji performa model
Tujuan dari pemisahan ini adalah supaya performa sistem dapat diukur secara objektif
Performa sistem seharusnya bagus tidak hanya pada data yang telah dipelajari saja, melainkan juga pada data yang belum pernah dilihat
Performa semacam ini disebut performa generalisasi, yaitu mengukur apakah dari data yang ada sistem telah dapat mempelajari konsep yang terkandung pada data
Konsep terkait: cross-validation carilah apa artinya dan mengapa diperlukan
MODEL
PENGERTIAN MODEL
Model merupakan suatu konsep yang dibentuk dari data melalui proses pembelajaran, yang menangkap kesimpulan apa yang ditarik oleh sistem mengenai hubungan-hubungan yang terdapat di dalam data tersebut
Secara abstrak, model merupakan sesuatu yang
dipergunakan sistem untuk memetakan masukan ke
keluaran
JENIS-JENIS MODEL
Berdasarkan ‘bentuk’ dari model:
Model geometris
Model probabilistik
Model logika
Berdasarkan keputusan pada ruang masukan*:
Grouping
Model membagi ruang masukan menjadi segmen-segmen; pada masing- masing segmen tersebut model yang dihasilkan dapat berbeda
Grading
Menghasilkan satu model tunggal yang berlaku di seluruh ruang masukan
*himpunan seluruh kemungkinan nilai masukan, contohnya, bila masukan terdiri dari gender dan tinggi badan, maka ruang masukan merupakan seluruh kombinasi yang mungkin antara {laki-laki, perempuan}, dengan {30 cm – 250 cm}
MODEL GEOMETRIS
Pemodelan geometris memandang ruang masukan
sebagai ruang koordinat, sehingga dapat dioperasikan dengan menggunakan operasi-operasi geometris
Contoh:
Pada contoh spam filtering, kita memandang ruang masukan sebagai ruang dua dimensi, sehingga antara e-mail spam
dan bukan spam dapat dipisahkan dengan suatu persamaan garis
CONTOH:
BASIC LINEAR CLASSIFIER (PENGKLASIFIKASI LINEAR DASAR)
Pengklasifikasi linear dasar membentuk garis batas pemisah
(decision boundary) antara dua kelas, misalnya kelas positif dan kelas negatif
Dari data-data berlabel positif dan negatif, pengklasifikasi
membentuk model pemisah berupa persamaan yang memisahkan kedua kelas tersebut
Secara spesifik, pada pengklasifikasi linear dasar, garis persamaan pemisah dibentuk dengan membagi dua pusat dari kelompok data negatif dengan kelompok data positif
CONTOH:
BASIC LINEAR CLASSIFIER
(PENGKLASIFIKASI LINEAR DASAR) - 2
Pengklasifikasi linear dasar
dideskripsikan dengan persamaan:
w . x = t
dengan w = p – n
Garis batas pemisah dapat
ditemukan dengan memperhatikan bahwa (p+n)/2 terletak pada
decision boundary, sehingga:
CONTOH: SUPPORT VECTOR MACHINE (SVM)
SVM membentuk garis batas pemisah dari dua kelompok data dengan
memaksimalkan margin dari dua kelompok tersebut
Margin:
Jarak antara data-data pada kedua kelompok, diukur dari titik-titik data pada perbatasan kedua kelompok
Support Vectors:
Titik-titik terluar pada perbatasan di antara dua kelompok yang menjadi acuan penetapan garis pemisah (titik-titik yang dilingkari pada ilustrasi di samping)
MODEL PROBABILISTIK
Model probabilistik memodelkan kemungkinan suatu titik data dikelompokkan ke suatu kelas tertentu
Proses pembelajaran pada model ini ditujukan untuk
semakin mengurangi ketidakpastian pada pengelompokan data
CONTOH:
MODEL PROBABILISTIK SEDERHANA
Jika pada suatu e-mail kita meninjau apakah e-mail tersebut mengandung kata
‘Viagra’ atau ‘lottery’, seberapa besar kemungkinan e-mail tersebut adalah spam?
Misalkan berdasarkan data kita memperoleh tabulasi sebagai berikut:
Pada tabel di atas, nilai probabilitas yang bercetak tebal merupakan nilai probabilitas yang lebih besar, sehingga data dianggap lebih mungkin tergolong ke kelas yang
nilainya bercetak tebal tersebut
MODEL LOGIKA
Model Logika adalah model yang didefinisikan dalam ekspresi- ekspresi logika, atau yang mudah dikonversikan menjadi
bentuk ekspresi logika
Contoh:
IF rajin_belajar = 1 THEN Class = pintar
IF suhu_tubuh = panas Λ hidung_berair = 1 THEN Class = flu
MODEL LOGIKA (2)
Model logika terdiri dari dua bagian:
1. Anteseden (antecedent)
Merupakan prasyarat terpenuhinya suatu pernyataan logika pada model logika
Didahului dengan keyword IF
Dapat terdiri dari beberapa kondisi yang digabungkan dengan konjungsi (Λ, ekuivalen dengan AND) atau disjungsi (V, ekuivalen dengan OR)
2. Konsekuen (consequent)
Merupakan kondisi yang terjadi / klasifikasi dari objek bila pernyataan logika pada anteseden bernilai TRUE
Didahului dengan keyword THEN
FITUR
PENGERTIAN FITUR
Fitur merupakan aspek dari data yang diteliti yang kita pergunakan untuk mengkarakterisasikan data tersebut Contoh:
Misalkan kita mempunyai sekumpulan data mengenai tiga jenis bunga Iris:
Iris-Setosa, Iris-Virginica, dan Iris-Versicolor
Kita ingin membuat model yang dapat mengklasifikasikan secara otomatis suatu jenis bunga
Fitur yang kita tinjau dapat bermacam-macam. Namun misalkan ketiga jenis bunga tersebut tampak berbeda dari sisi ukuran,
meskipun tidak ada patokan yang pasti mengenai ukuran masing- masing jenis bunga
Kita dapat mengambil fitur: panjang kelopak, lebar kelopak, panjang mahkota bunga, lebar mahkota bunga
DOMAIN FITUR
Secara matematis, fitur merupakan pemetaan dari ruang instans ke suatu set nilai fitur
Set nilai fitur ini disebut domain
Sekumpulan nilai yang mungkin untuk fitur tersebut
Contoh:
Tinggi badan:
Numerik, kontinu, [35 cm .. 250 cm]
Diskret, {“Tinggi”, “Sedang”, “Pendek”}
Kedua domain ini merupakan domain yang dapat kita pilih untuk fitur tinggi badan manusia
KONSTRUKSI &
TRANSFORMASI FITUR
Fitur terkadang merupakan sifat yang dapat langsung terukur dari suatu objek data
Contoh: ukuran kelopak bunga pada klasifikasi bunga Iris
Terkadang kita perlu memutuskan bagaimana cara terbaik untuk merepresentasikan data
Contoh:
penggunaan fitur kemunculan kata sebagai basis klasifikasi spam/bukan spam
Tanpa memperhatikan urutan kemunculan kata
Dikenal sebagai pendekatan bag-of-words
Namun, untuk pengklasifikasian apakah suatu kalimat secara gramatik tepat atau tidak tepat, informasi mengenai urutan kata tidak dapat
dihilangkan
KONSTRUKSI &
TRANSFORMASI FITUR (2)
Untuk memperoleh fitur yang lebih merefleksikan informasi yang relevan dengan kelas / pengelompokan yang ingin kita pelajari, kita dapat melakukan konstruksi fitur
Konstruksi fitur dapat dilakukan dengan:
Diskretisasi
Mengelompokkan nilai data dari kontinu ke kelompok-kelompok yang bersifat diskret
Dapat memberikan insight yang lebih baik mengenai data, apabila pengelompokan data yang dilakukan tepat
Kombinasi nilai beberapa fitur
Contoh: Body Mass Index – merupakan kombinasi dari tinggi badan dan berat badan
Transformasi matematis
Nilai fitur diolah dengan fungsi matematis, misalnya dengan mengkuadratkan, log, dsb.
CONTOH:
DISKRETIS ASI
Diskretisasi pada nilai berat badan diabetes
Merah menunjukkan bukan penderita diabetes
Biru menunjukkan penderita diabetes Seandainya data digambarkan untuk setiap 1 ons berat badan, maka akan banyak nilai berat badan yang hanya dimiliki satu orang saja
95.6 kg, 95. 7 kg, 95.8 kg, dst.
Jika digambarkan pada histogram frekuensi, hanya terdiri dari sekumpulan batang dengan tinggi 1 tidak informatif!
Pada histogram di samping, berat badan dikelompokkan per 20kg, sehingga lebih terlihat polanya
Mayoritas penderita diabetes memiliki berat badan 70 kg ke atas, sedangkan bukan
penderita diabetes memiliki berat badan 90 kg ke bawah
CONTOH: TRANSFORMASI MATEMATIS
Pendapatan 500 juta secara ‘sense’ tidak berbeda jauh dengan
pendapatan 600 juta, sedangkan 500 ribu dengan 100 juta 500 ribu berbeda jauh
meskipun sama-sama berbeda 100 juta
bagaimana kita akan menangkap ‘sense’ ini?
Untuk menskalakan pendapatan orang, kita dapat melakukan transformasi dengan menggunakan fungsi log10(x):x log10(x)
600.000.000 8.778151 500.000.000 8.69897 100.500.000 8.002166
500.000 5.69897
INTERAKSI ANTAR FITUR
Fitur-fitur yang mengkarakterisasikan suatu data dapat memiliki keterkaitan antara satu sama lain
Contoh:
jika pada suatu artikel terdapat kata ‘wasit’, pada artikel yang sama sangat mungkin terdapat kata ‘pertandingan’
Interaksi antar fitur dapat merefleksikan adanya redundansi informasi
Pada sebagian besar kasus, kita ingin menghilangkan redundansi ini
Namun ada kasus-kasus tertentu dimana redundansi ini ingin dipertahankan
REFERENCES
Flach, Peter. 2012. Machine Learning: The Art and Science of Algorithms that Make Sense of Data.
Cambridge University Press.
ADDITIONAL
About Bayes Teorem
TEOREMA BAYES
Ide dasar aturan Bayes: hasil dari hipotesis atau peristiwa (H) dapat diperkirakan berdasarkan pada beberapa evidence (E) yang diamati.
Hal penting dalam Bayes:
Sebuah probabilitas awal/priori H atau P(H), adalah probabilitas dari suatu hipotesis sebelum bukti diamati.
Sebuah probabilitas posterior H atau P(H|E), adalah probabilitas dari suatu hipotesis setelah bukti-bukti yang diamati ada.
P(H|E): Probabilitas posterior bersyarat (Conditional Probability) suatu hipotesis H terjadi jika diberikan evidence/bukti E terjadi
P(E|H): Probabilitas sebuah evidence E terjadi akan mempengaruhi hipotesis H
P(H): Probabilitas awal (priori) hipotesis H terjadi tanpa memandang evidence apapun
P(E):Probabilitas awal (priori) evidence E terjadi tanpa memandang hipotesi/evidence yang lain
46
) (
) ( )
| ) (
|
( P E
H P H
E E P
H
P
CONTOH
Dalam suatu peramalan cuaca untuk memperkirakan terjadinya hujan, misal ada faktor yang mempengaruhi terjadinya hujan yaitu mendung.
Jika diterapkan dalam Naïve Bayes maka probabilitas terjadinya hujan jika bukti mendung sudah diamati:
P(Hujan|Mendung) adalah nilai probabilitas hipotesis hujan terjadi jika bukti mendung sudah diamati
P(Mendung|Hujan) adalah probabilitas bahwa mendung yang diamati akan mempengaruhi terjadinya hujan
P(Hujan) adalah probabilitas awal hujan tanpa memandang bukti apapun
P(Mendung) adalah probabilitas terjadinya mendung
47
) (
) (
)
| ) (
|
( P Mendung
Hujan P
Hujan Mendung
Mendung P Hujan
P
CONTOH
Teorema Bayes juga bisa menangani beberapa evidence, misalnya ada E1, E2, dan E3, maka probabilitas posterior untuk hipotesis
hujan:
Bentuk diatas dapat diubah menjadi:
Untuk contoh diatas, jika ditambahkan evidence suhu udara dan angin:
48
) ,
, (
) (
)
| ,
, ) (
, ,
| (
3 2
1 3 2
3 1 2
1 P E E E
H P H
E E
E E P
E E
H
P
) , , (
) ( )
| ( )
| ( )
| ) (
, ,
| (
3 2 1
3 2
3 1 2
1 P E E E
H P H
E P H
E P H
E E P
E E H
P
) ,
, (
) (
)
| (
)
| (
)
| (
) ,
,
| (
Angin Suhu
Mendung P
Hujan P
Hujan Angin
P Hujan
Suhu P
Hujan Mendung
P
Angin Suhu
Mendung Hujan
P