PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin...

44
PENGENALAN PEMBELAJARAN MESIN Dijelaskan menggunakan contoh dan banyak gambar

Transcript of PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin...

Page 1: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

PENGENALAN

PEMBELAJARAN

MESIN

Dijelaskan menggunakan contoh dan banyak gambar

Page 2: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 2

Tentang Catatan Ini

Saya banyak mendengar baik dari teman, junior, senior, dsb; kalimat berikut ini “kuliah mengajari

teori saja, prakteknya kurang, tidak relevan dengan industri”. Menurut saya di suatu sisi itu benar;

tapi di sisi lain, karena pemikiran tersebutlah kita banyak merasakan hal seperti pada meme berikut

https://s-media-cache-ak0.pinimg.com/236x/4f/54/29/4f5429df5ea6361fa8d3f08dfcdccdf9.jpg

Banyak yang buru-buru “langsung ajalah kasi tahu cara menggunakan, kan lebih practical”.

Barangkali lebih asyik membaca buku yang berjudul “pembelajaran mesin menggunakan

<bahasa_pemrograman>”. Saya ingin menyampaikan satu hal, apakah menurut Anda mereka yang

bekerja dalam tim Google Translate, IBM Watson, Google Tensor Flow, Deep Mind (bukan promosi)

adalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai”?

Sepengetahuan saya, banyak PhD dalam tim inti tersebut. Jadi marilah kita mampu memahami dan

juga memanfaatkan.

Lecture note/buku ini ditujukan sebagai penunjang mata kuliah machine learning/pembelajaran mesin

untuk mahasiswa tingkat sarjana di Indonesia. Seperti yang kita ketahui, kebanyakan buku

perkuliahan berasal dari luar negeri. Konsumsi mahasiswa adalah buku dengan bahasa

asing/terjemahan. Kadang kala, mahasiswa menganggap belajar dengan bahasa asing cukup sulit. Di

lain pihak, (with all my respect) buku terjemahan terkadang kurang pas karena belum tentu maksud

pengarang aslinya dapat diterjemahkan 100% oleh penerjemah, ke bahasa lainnya.

Untuk itu, pada masa luang saya, saya ingin berkontribusi pada pendidikan melalui lecture note ini

(catatan kuliah saya). Lecture note/buku ini adalah ringkasan kuliah di universitas-universitas saya

belajar yang disesuaikan penyampaiannya untuk tingkat pendidikan sarjana. Tentunya Lecture

note/buku ini memiliki banyak kekurangan. Kritik dan saran akan sangat membantu pengembangan

buku ini. Lecture note/buku ini tidak dapat dijadikan sebagai acuan utama pada perkuliahan

machine learning karena hanya bersifat sebagai pengantar. Tetapi, mudah-mudahan lecture

note/buku ini dapat membantu proses belajar. Anggap saja sedang baca novel.

Disarankan pembaca mengerti/sudah mengambil kuliah tentang statistika, kalkulus, aljabar

linier/geometri, pengenalan kecerdasan buatan (artificial intelligence). Hati-hati membedakan vektor

(bold), dan bukan. Saat membaca buku ini, disarankan membaca dari bagian pendahuluan (jangan

diabaikan ya). Gaya penulisan lecture note/buku ini diusahakan santai, mudah-mudahan melibatkan

hanya sesedikit mungkin notasi matematis. Kadang kala penjelasan dengan deskripsi saja tidak

Page 3: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 3

cukup kuat untuk memahami materi. Terlalu banyak penjelasan matematis juga bisa membuat pusing

beberapa orang. Istilah/jargon dalam lecture note/buku ini akan menggunakan bahasa Inggris. Saya

sendiri sadar tentunya catatan ini tidak sempurna, kritik dan saran akan sangat dihargai (silahkan

email).

Saya mengucapkan terima kasih yang sebesar-besarnya pada Bapak/Ibu/Saudara/i, karena telah

memberikan masukan/semangat untuk penulisan buku ini. Mohon maaf apabila ada penulisan gelar

yang salah.

1) I Gede Mahendra Darmawiguna, S.Kom., M.Sc. (Universitas Pendidikan Ganesha)S

2) Fabiola Maria, S.T. (Institut Teknologi Bandung)

3) Chairuni Aulia Nusapati, Erick Chandra, Joshua Beezaleel Abednego (Institut Teknologi

Bandung)ah

Best Regards,

Jan Wira Gotama Putra

Email: gotama(dot)w(dot)aa(at)m(dot)titech(dot)ac(dot)jp

https://icemerly.wordpress.com

http://www.cl.cs.titech.ac.jp/en/

Page 4: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 4

Notasi

Pembelajaran mesin banyak mengadopsi teori statistika, akan tetapi notasi antar buku dapat berbeda-

beda. Untuk buku ini, berikut adalah beberapa catatan notasi penting.

• P(x) adalah probabilitas x; “P” kapital.

• p(x) adalah probabilitas densitas (probability density function) x. “p” tidak kapital.

• Tentang x (mengacu pada dua hal diatas) adalah random variable atau sampel, harap

disesuaikan dengan konteks. Secara umum, “x” atau “X” mengacu pada random

variable/variable, xn (dengan indeks tertentu) mengacu pada sampel/suatu nilai random

variable/event. Hal ini berlaku kecuali diberikan catatan khusus.

• Vektor x (di-bold).

Page 5: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 5

Daftar Isi

Tentang Catatan Ini .............................................................................................................................. 2

Notasi ................................................................................................................................................... 4

1 Statistical Learning Theory .......................................................................................................... 6

1.1 Apa itu Pembelajaran ........................................................................................................... 6

1.2 Intelligent Agent ................................................................................................................... 6

1.3 Konsep Statistical Machine Learning .................................................................................. 7

1.4 Supervised Learning ............................................................................................................. 9

1.5 Unsupervised Learning ...................................................................................................... 11

1.6 Proses Belajar (Training) ................................................................................................... 12

1.7 Tipe Permasalahan di Dunia (debateable) ......................................................................... 12

1.8 Tips Menjadi Master .......................................................................................................... 13

1.9 Contoh Aplikasi.................................................................................................................. 13

2 Pengetahuan Dasar ..................................................................................................................... 14

2.1 Probabilitas ......................................................................................................................... 14

2.2 Probability Density Function ............................................................................................. 15

2.3 Expectations dan Variance ................................................................................................. 16

2.4 Probabilitas Bayesian ......................................................................................................... 17

2.5 Probabilitas Gaussian ......................................................................................................... 17

2.6 Teori Keputusan ................................................................................................................. 21

2.7 Teori Informasi ................................................................................................................... 22

2.7.1 Entropy ....................................................................................................................... 23

2.7.2 Relative Entropy dan Mutual Information ................................................................. 24

2.8 Bacaan Lanjutan ................................................................................................................. 25

3 Curve Fitting, Error Function & Gradient Descent .................................................................. 26

3.1 Curve Fitting dan Error Function ....................................................................................... 26

3.2 Steepest Gradient Descent .................................................................................................. 28

3.3 Bacaan Lanjutan ................................................................................................................. 30

4 Artificial Neural Network ........................................................................................................... 31

4.1 Definisi ............................................................................................................................... 31

4.2 Single Perceptron ............................................................................................................... 31

4.3 Multilayer Perceptron & Backpropagation ........................................................................ 33

4.3.1 Binary Classification .................................................................................................. 36

4.3.2 Multi-label Classification ........................................................................................... 36

4.4 Deep Neural Network......................................................................................................... 36

4.5 Recurrent Neural Network ................................................................................................. 38

4.6 Tips for Neural Network .................................................................................................... 40

4.7 Bacaan Lanjutan ................................................................................................................. 41

Indeks ................................................................................................................................................. 42

Refrensi .............................................................................................................................................. 43

Page 6: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 6

1 Statistical Learning Theory

Bab ini adalah bab paling penting pada lecture note ini, karena memuat ide paling utama tentang

machine learning.

1.1 Apa itu Pembelajaran

Bayangkan kamu berada di suatu negara asing, kamu tidak tahu norma yang ada di negara tersebut.

Apa yang kamu lakukan agar bisa menjadi orang “normal” di tempat tersebut? Tentunya kamu harus

belajar! Kemudian kamu mengamati bagaimana orang bertingkah laku di negara tersebut dan

perlahan-lahan mengerti norma di tempat itu. Begitulah belajar. Belajar adalah berusaha memperoleh

kepandaian atau ilmu; berlatih; berubah tingkah laku atau tanggapan yang disebabkan oleh

pengalaman (KBBI, 2016). Pembelajaran adalah proses, cara, perbuatan atau menjadikan orang atau

makhluk hidup belajar. Akan tetapi, pada kasus ini, yang diajarkan/yang belajar bukanlah makhluk

hidup, tapi mesin.

1.2 Intelligent Agent

Sebuah agen cerdas (intelligent agent) memiliki empat macam dimensi (Russel and Norvig, 1995):

1) Acting Humanly

Pada dimensi ini, kita ingin agen mampu bertingkah sebagai manusia. Misalnya adalah agen yang

mampu berinteraksi seperti manusia (baca: turing test).

2) Acting Rationally

Pada dimensi ini, kita ingin agen mampu bertingkat dengan optimal. Tindakan optimal belum tentu

menyerupai tindakan manusia, karena tindakan manusia belum tentu optimal. Misalnya, agen yang

mampu memilih rute terpendek dari suatu kota A ke kota B untuk mengoptimalkan penggunaan

sumber daya. Apabila manusia, kita bisa basa memilih rute lain yang pemandangannya lebih indah.

3) Thinking Humanly

Pada dimensi ini, kita ingin proses berpikir agen, sama dengan proses berpikir manusia (secara

kognitif).

4) Thinking Rationally

Pada dimensi ini, kita ingin proses berpikir agen rasional, sederhananya sesuai dengan konsep logika

matematika.

Untuk mewujudkan interaksi manusia-komputer seperti manusia-manusia, tentunya kita ingin

intelligence agent bisa mewujudkan dimensi acting humanly, dan thinking humanly. Sayangnya,

manusia tidak konsisten (Gratch and Marsella, 2014). Sampai saat ini konsep kecerdasan buatan

adalah untuk meniru manusia; apabila manusia tidak konsisten, kita pun tidak dapat memodelkan cara

berpikir/tingkah laku manusia ke dalam bentuk deterministik. Dengan hal itu, saat ini kita hanya

mampu mengoptimalkan agen yang mempunyai dimensi acting rationally, dan thinking rationally.

Page 7: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 7

Perhatikan Gambar 1.1. Agen mengumpulkan informasi dari lingkungannya, kemudian memberikan

respons berupa aksi. Kita ingin agen melakukan aksi yang “benar”. Tentu saja kita perlu

mendefinisikan secara detil, teliti, tepat (precise), apa maksud dari “aksi yang benar”. Dengan

demikian, lebih baik apabila kita mengukur kinerja agen, menggunakan performance measure.

Misalnya untuk robot pembersih rumah, performance measure-nya adalah seberapa persen debu yang

bisa ia bersihkan.

Gambar 1.1. Agent vs Environment (Khodra & Lestari, 2015).

Performance measure, secara matematis didefinisikan sebagai utility function, yaitu fungsi apa yang

ingin dimaksimalkan oleh agen tersebut. Setiap tindakan yang dilakukan agen yang rasional, harus

memaksimalkan performance measure atau utility function

1.3 Konsep Statistical Machine Learning

Pada masa sekarang ini data bertebaran sangat banyak dimana-mana. Pemrosesan data secara manual

tentu adalah hal yang kurang bijaksana. Beberapa pemrosesan yang dilakukan, misal kategorisasi

(kategorisasi teks berita), peringkasan dokumen, ekstraksi informasi (mencari 5W+1H pada teks

berita), rekomendasi produk berdasarkan catatan transaksi, dll (Khodra & Lestari, 2015). Tujuan

machine learning minimal ada dua yaitu: memprediksi masa depan (unobserved); dan/atau

memperoleh ilmu pengetahuan (knowledge discovery/discovering unknown structure). Untuk

mencapai tujuan tersebut, kita menggunakan data (sampel), kemudian membuat model untuk

menggeneralisasi “aturan” atau “pola” data, sehingga kita dapat menggunakannya untuk

mendapatkan informasi/membuat keputusan (Bishop, 2006; Watanabe, 2016). Disebut statistical

karena basis pembelajarannya memanfaatkan data, juga menggunakan banyak teori statistik untuk

melakukan inferensi (misal memprediksi unobserved event). Jadi, statistical machine learning adalah

cara untuk memprediksi masa depan dan/atau menyimpulkan/mendapatkan pengetahuan dari data

secara rasional dan non-paranormal. Hal ini sesuai dengan konsep intelligent agent, yaitu

bertingkah berdasarkan lingkungan. Dalam hal ini, lingkungannya adalah data.

Perhatikan Gambar 1.2 (permasalahan yang disederhanakan). Misalkan kamu diundang ke suatu pesta.

Pada pesta tersebut ada 3 jenis kue yang disajikan. Kamu ingin mengetahui berapa rasio kue yang

disajikan dibandingkan masing-masing jenisnya (seluruh populasi). Tapi kamu terlalu malas untuk

menghitung semua kue yang ada. Karena itu, kamu mengambil beberapa sampel. Dari sampel tersebut,

kamu mendapati bahwa ada 4 buah kue segi empat, 3 buah kue hati, dan 2 buah kue segitiga. Lalu

Page 8: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 8

kamu menyimpulkan (model) bahwa perbandingan kuenya adalah 4:3:2 (segiempat:hati:segitiga).

Perbandingan tersebut hampir menyerupai kenyataan seluruh kue yaitu 4:2,67:2. Tentu saja kondisi

ini terlalu ideal.

Perhatikan Gambar 1.3, temanmu Ari datang juga ke pesta yang sama dan ingin melakukan hal yang

sama (rasio kue). Kemudian ia mengambil beberapa sampel kue. Dari sampel tersebut ia mendapati

bahwa ada 3 buah segiempat, 3 buah hati, dan 3 buah segitiga, sehingga perbandingannya adalah 3:3:3.

Tentunya hal ini sangat melenceng dari populasi.

Dari kedua contoh tersebut, kita menyimpulkan, menginferensi (infer) atau mengeneralisasi sampel.

Kesimpulan yang kita buat berdasarkan sampel tersebut, kita anggap merefleksikan populasi,

kemudian kita menganggap populasi memiliki aturan/pola seperti kesimpulan yang telah kita ciptakan

(Caffo, 2015). Baik pada statistika maupun statistical machine learning, pemilihan sampel

(selanjutnya disebut training data) adalah hal yang sangat penting. Apabila training data tidak

mampu melambangkan populasi, maka model yang dihasilkan pembelajaran (training) tidak bagus.

Untuk itu, biasanya terdapat juga test data sebagai penyeimbang. Mesin dilatih menggunakan training

data, kemudian diuji dengan test data. Seiring dengan membaca buku ini, konsep training data dan

test data akan menjadi lebih jelas.

Gambar 1.2. Ilustrasi Makanan Pesta 1.

Gambar 1.3. Ilustrasi Makanan Pesta 2.

Seperti halnya contoh sederhana ini, persoalan machine learning sesungguhnya menyerupai persoalan

statistical inference (Caffo, 2015). Kita berusaha mencari tahu populasi dengan cara menyelidiki

features (sifat-sifat) yang dimiliki oleh sampel. Kemudian, menginferensi unobserved data

berdasarkan kecocokan features dengan model/aturan yang kita bangun berdasarkan features dari

sampel.

Page 9: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 9

1.4 Supervised Learning

Jika diterjemahkan secara literal, supervised learning adalah pembalajaran terarah. Artinya, pada

pembelajaran ini, ada guru yang mengajar, dan ada siswa yang diajar. Kita disini berperan sebagai

guru, kemudian mesin berperan sebagai siswa. Perhatikan Gambar 1.4 sebagai ilustrasi! Pada Gambar

1.4 seorang guru menuliskan angka di papan “8, 6, 2” sebagai contoh untuk siswanya, kemudian

gurunya memberikan cara membaca yang benar untuk masing-masing angka. Contoh angka

melambangkan input, kemudian cara membaca melambangkan desired output. Pasangan input-

desired output ini disebut sebagai training data (untuk kasus supervised learning). Perhatikan

Gambar 1.5 dan Gambar 1.6! Kita akan masuk ke ilustrasi yang lebih matematis.

Gambar 1.4. Supervised Learning.

Gambar 1.5. Supervised Learning - Math Explained 1.

Page 10: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 10

Gambar 1.6. Supervised Learning - Math Explained 2.

Perhatikan Gambar 1.5 dan Gambar 1.6. x adalah event, untuk event tertentu dapat dinotasikan sebagai

{x1, x2, x3, ... , xn}. Seorang guru sudah mempunyai jawaban yang benar untuk masing-masing contoh

dengan suatu fungsi distribusi probabilitas kondisional (conditional probability density function)

q(y|x) baca: function q for y given x. Hasil yang benar/diharapkan untuk suatu event. Siswanya (mesin)

mempelajari tiap pasang pasangan input-desired output (training data) dengan suatu fungsi

conditional probability density function p(y|x,w), dimana y adalah target (output), x adalah input dan

vector w adalah learning parameter. Proses belajar ini, yaitu mengoptimalkan w disebut sebagai

training.

Gambar 1.7. Supevised Learning Framework.

Perhatikan kembali Gambar 1.5 dan Gambar 1.6! Secara formal (supervised learning), information

source dan guru direpresentasikan dengan q(x) dan q(y|x), kemudian learning machine p(y|x,w)

dengan parameter vector w. Himpunan training data terdiri atas {(xi,yi); i=1,2,3,…,n} yang secara

independently subject to q(x)q(y|x). n disebut sebagai banyaknya training data (ruang sampel).

Sebuah learning machine mengoptimasi parameter w sehingga p(y|x,w) dapat mengaproksimasi

(approximates) q(y|x).

Perhatikan Gambar 1.7! q(x)q(y|x) = q(x,y) memiliki panah ke training data dan test data, artinya

model hasil training sangat bergantung pada data dan guru. Model yang dihasilkan training (hasil

pembelajaran – kemampuan siswa) untuk data yang sama bisa berbeda untuk guru yang berbeda.

𝑝(𝑦|𝑥,𝒘) Persamaan 1.1. Learning Machine – Supervised Learning (Watanabe, 2016).

Page 11: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 11

Selain supervised learning, masih ada metode pembelajaran lainnya yaitu unsupervised learning,

semi-supervised learning, dan reinforcement learning. Tetapi lecture note/buku ini berfokus pada

pembahasan supervised learning dan unsupervised learning.

Tujuan supervised learning, secara umum untuk melakukan klasifikasi (classification). Misalkan

mengklasifikasikan teks berita menjadi salah satu kategori {olah raga, politik, nasional, regional,

hiburan, teknologi}. Apabila hanya ada dua kategori, disebut binary classification. Sedangkan bila

terdapat lebih dari dua kategori, disebut multi-label classification. Ada tipe klasifikasi lain, tetapi

lecture note ini hanya akan membahas dua kategori tersebut.

1.5 Unsupervised Learning

Jika pada supevised learning ada guru yang mengajar, maka pada unsupevised learning tidak ada guru

yang mengajar. Contoh permasalahan unsupervised learning adalah clustering. Misalnya kamu

membuka sebuah toko serba ada, agar pelanggan mudah belanja, kamu mengelompokkan barang-

barang, tetapi definisi “kelompoknya” belum ada. Yang kamu lakukan adalah membuat kelompok-

kelompok berdasarkan karakteristik barang-barang.

Gambar 1.8. Unsupervised Learning Framework.

Gambar 1.9. Generalization Error of Unsupervised Learning.

Page 12: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 12

Perhatikan Gambar 1.8 dan Gambar 1.9! Berbeda dengan supervised learning yang memiliki desired

output, pada unsupervised learning tidak ada desired output (jelas, tidak ada gurunya). Populasi

mempunyai distribusi q(x), kita ingin mengestimasi q(x) tersebut dengan mengambil beberapa sampel,

lalu melakukan learning. Learning dilakukan dengan menggunakan p(x|w) yang mengoptimasi

parameter w. Perbedaan antara estimasi dan fungsi asli disebut sebagai loss.

𝑝(𝑥|𝒘) Persamaan 1.2. Learning Machine - Unsupervised Learning (Watanabe, 2016).

1.6 Proses Belajar (Training)

Seperti yang sudah dijelaskan pada sub bab sebelumnya, pada supervised maupun unsupervised

learning, kita ingin mengestimasi sesuatu dengan teknik machine learning. Kinerja learning machine

berubah-ubah sesuai dengan parameter w (parameter belajar). Kinerja learning machine diukur oleh

fungsi tujuan (utility function), yaitu mengoptimalkan nilai fungsi tertentu; misalnya meminimalkan

nilai error, atau meminimalkan loss (dijelaskan kemudian). Secara intuitif, learning machine sama

seperti manusia belajar. Kita awalnya membuat banyak kesalahan, tetapi kita mengetahui/diberi tahu

mana yang benar. Untuk itu kita menyesuaikan diri secara perlahan agar menjadi benar (iteratif).

Inilah yang juga dilakukan learning machine, yaitu mengubah-ubah parameter w untuk

mengoptimalkan suatu fungsi tujuan.

Secara bahasa lebih matematis, kami beri contoh supervised learning. Kita mempunyai distribusi data

asli q(y|x). Dari distribusi tersebut, kita diberikan beberapa sampel pasangan input-output z1,z2,z3,...zn;

z={x,y}. Kita membuat learning machine p(y|x,w). Awalnya kita disodorkan x1, sehingga learning

machine mengestimasi fungsi asli dengan mengoptimalkan parameter w sesuai dengan data yang ada.

Seiring berjalannya waktu, kita diberikan data observasi lainnya, sehingga learning machine semakin

menyesuaikan dirinya terhadap observasi yang ada. Semakin lama, kita jadi makin percaya bahwa

learning machine semakin optimal (mampu memprediksi fungsi aslinya).

1.7 Tipe Permasalahan di Dunia (debateable)

Ada dua tipe permasalahan, yaitu klasifikasi dan konstruksi. Permasalahan klasifikasi adalah

mengkategorikan sesuatu sesuai kelompok yang telah ditentukan sebelumnya. Contohnya klasifikasi

buku di perpustakaan. Perpustakaan sudah menentukan kelompok-kelompok buku, misalnya teknik,

sains, dan seni. Saat ada buku baru, perpustakaan nantinya menaruh buku pada tempat dengan

kelompok bersesuaian. Contoh lainnya adalah klasifikasi makhluk hidup berdasarkan kingdom.

Jenis permasalahan kedua adalah konstruksi. Permasalahan konstruksi misalnya kita memiliki banyak

buku di rumah, agar bukunya rapi kita ingin mengelompokkan buku-buku tersebut sesuai dengan

kecocokan satu sama lain (clustering). Contoh lainnya adalah bagaimana cara menyusun

kelompok/susunan/struktur kingdom makhkluk hidup (ontologi). Menurut pendapat saya, regresi

dapat dikategorikan sebagai permasalahan konstruksi, karena harus membangun (menebak) suatu

fungsi yang mampu memprediksi output.

Page 13: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 13

1.8 Tips Menjadi Master

Jujur, saya sendiri belum master pada bidang ini, tetapi berdasarkan pengalaman pribadi (dan

membaca), dan beberapa rekan; ada beberapa materi wajib yang harus dipahami untuk mengerti

bidang machine learning. Sederhananya, kamu harus menguasai banyak teori matematika &

probabilitas agar dapat mengerti machine learning sampai tulang dan jeroannya. Saya tidak

menyebutkan bahwa mengerti machile learning secara intuitif (atau belajar dengan pendekatan

deskriptif) itu buruk, tetapi untuk mengerti sampai dalam memang perlu mengerti matematikanya

(menurut pengalaman saya). Disarankan untuk belajar materi berikut:

1) Matematika Diskrit & Teori Bilangan

2) Aljabar Linier & Geometri (vektor, matriks, skalar, decomposition, transformasi, tensor)

3) Calculus (diferensial & integral)

4) Optimasi (Lagrange Multiplier, Convex, Gradient Descent, Integer Linear Problem, dsb)

5) Probabilitas & Statistika (Probabilitas, Probability Densities, Hypothesis Testing, Inter-rater

agreement, Bayesian, Statistical Mechanics)

1.9 Contoh Aplikasi

Sebenarnya, aplikasi pemanfaatan machine learning sudah terasa dalam kehidupan sehari-hari.

Contoh mudahnya adalah produk-produk Google, misalnya google translate (machine translation,

handwritten recognition, speech recognition). Berikut adalah beberapa artikel berita menarik:

1) https://techcrunch.com/2016/03/15/google-ai-beats-go-world-champion-again-to-complete-

historic-4-1-series-victory/

2) http://www-formal.stanford.edu/jmc/whatisai/node3.html

3) https://www.google.com/selfdrivingcar/

4) http://www.osnews.com/story/26838/Palm_I_m_ready_to_wallow_now/page2/

Page 14: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 14

2 Pengetahuan Dasar

Mungkin saat pertama kali membaca bab ini, Anda merasa bab ini tidak masuk akal/kurang

dibutuhkan. Seiring membaca buku ini, mungkin bab ini akan sering dikunjungi kembali. Bab ini

hanyalah pengantar saja, tentunya untuk mengerti probabilitas, sebaiknya Anda mengambil kuliah

khusus tentang materi itu. Karena Anda diharapkan sudah memiliki “cukup latar pengetahuan”, bab

ini sebenarnya hanyalah sekilas pengingat. Sebenarnya kami agak ragu mau meletakkan bab ini

sebagai bab 1 atau bab 2, tapi yasudahlah dibuat jadi bab 2 saja agar bab 1 tidak membosankan. Kami

akan banyak memakai contoh-contoh dari buku Bishop (2006) untuk bab ini.

2.1 Probabilitas

Kita tahu bahwa banyak hal yang tidak pasti (uncertain), sebetulnya pada machine learning, kita

juga berurusan dengan ketidakpastian (uncertainty). Dengan hal itu, machine learning memiliki

kaitan yang sangat erat dengan statistika. Probabilitas menyediakan framework untuk kuantifikasi dan

manipulasi ketidakpastian (Bishop, 2006). Mari kita lihat contoh sederhana, terdapat dua buah kotak

berwarna merah dan berwarna biru. Pada kotak merah terdapat 3 apel dan 1 jeruk. Pada kotak biru,

terdapat 2 apel dan 4 jeruk. Bila kita ingin mengambil buah dari salah satu kotak tersebut, dalam hal

ini, kotak adalah random variable. Random variable b (melambangkan kotak) dapat bernilai merah,

atau biru. Begitu pula dengan buah, dilambangkan dengan variabel f, dapat bernilai apel atau jeruk.

Saat kita mengambil buah dari kotak biru, peluang untuk memilih apel bernilai 2/6, sedangkan

peluang untuk memilih jeruk bernilai 4/6; kita tulis probabilitas ini sebagai 𝑃(𝑓 = 𝑎𝑝𝑒𝑙) = 2/6; dan

𝑃(𝑓 = 𝑗𝑒𝑟𝑢𝑘) = 4/6 . Nilai suatu probabilitas haruslah berada diantara [0,1]. Artinya, jika kita

mengambil buah dari kotak biru, lebih banyak kejadian saat kita mendapat jeruk.

Lalu sekarang ada pertanyaan baru; pada suatu percobaan, berapakah probabilitas mengambil sebuah

apel dari kotak biru, atau sebuah jeruk dari kotak merah. Hal ini dituliskan sebagai 𝑃((𝑏 = 𝑏𝑖𝑟𝑢, 𝑓 =

𝑎𝑝𝑒𝑙) 𝑎𝑡𝑎𝑢 (𝑏 = 𝑚𝑒𝑟𝑎ℎ, 𝑓 = 𝑗𝑒𝑟𝑢𝑘)). Nilai probabilitas tersebut dapat dihitung dengan

𝑃((𝑏 = 𝑏𝑖𝑟𝑢, 𝑓 = 𝑎𝑝𝑒𝑙) 𝑎𝑡𝑎𝑢 (𝑏 = 𝑚𝑒𝑟𝑎ℎ, 𝑓 = 𝑗𝑒𝑟𝑢𝑘))

= 𝑃(𝑏 = 𝑏𝑖𝑟𝑢, 𝑓 = 𝑎𝑝𝑒𝑙) + 𝑃(𝑏 = 𝑚𝑒𝑟𝑎ℎ, 𝑓 = 𝑗𝑒𝑟𝑢𝑘)

𝑃(𝑏 = 𝑏𝑖𝑟𝑢, 𝑓 = 𝑎𝑝𝑒𝑙) disebut joint probability, yaitu probabilitas untuk dua variabel.

𝑃(𝑏 = 𝑏𝑖𝑟𝑢, 𝑓 = 𝑎𝑝𝑒𝑙1) + 𝑃(𝑏 = 𝑚𝑒𝑟𝑎ℎ, 𝑓 = 𝑗𝑒𝑟𝑢𝑘) ini disebut sebagai sum rule (aturan tambah).

Misalkan terdapat percobaan lain, kali ini kamu mengambil 1 buah. Kamu ingin mengetahui

berapakah probabilitas untuk mengambil buah apel kotak mana saja. Hal ini dihitung dengan

𝑃(𝑓 = 𝑎𝑝𝑒𝑙) = ∑𝑃(𝑓 = 𝑎𝑝𝑒𝑙, 𝑏 = 𝑏𝑘)

𝐾

𝑘=1

Persamaan 2.1. Marginal Probability.

Page 15: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 15

Kadang kala sum rule disebut marginal probability, karena hasilnya didapat dengan menjumlahkan

probabilitas seluruh kemungkinan nilai pada variable tertentu, dengan mengontrol variable lainnya.

Kemudian, kamu ingin melakukan percobaan lain. Kali ini kamu mengambil 2 buah sekaligus dari

kedua kotak. Kamu ingin mengetahui berapakah probabilitas mengambil buah apel yang berasal dari

kotak biru; dan buah jeruk yang berasal dari kotak merah. Hal ini dihitung dengan

𝑃((𝑏 = 𝑏𝑖𝑟𝑢, 𝑓 = 𝑎𝑝𝑒𝑙), (𝑏 = 𝑚𝑒𝑟𝑎ℎ, 𝑓 = 𝑗𝑒𝑟𝑢𝑘))

= 𝑃(𝑏 = 𝑏𝑖𝑟𝑢, 𝑓 = 𝑎𝑝𝑒𝑙) ∗ 𝑃(𝑏 = 𝑚𝑒𝑟𝑎ℎ, 𝑓 = 𝑗𝑒𝑟𝑢𝑘)

Aturan ini disebut production rule (aturan kali). Perhatikan kembali 𝑃((𝑏 = 𝑏𝑖𝑟𝑢, 𝑓 = 𝑎𝑝𝑒𝑙), (𝑏 =

𝑚𝑒𝑟𝑎ℎ, 𝑓 = 𝑗𝑒𝑟𝑢𝑘)) adalah bentuk joint probability. Kita dapat tulis kembali sebagai 𝑃(𝑋, 𝑌) ,

apabila X dan Y independent maka 𝑃(𝑋, 𝑌) = 𝑃(𝑋) ∗ 𝑃(𝑌). Dalam kasus ini, kita kejadiannya

adalah saling lepas, artinya mengambil bola dari kotak biru, pada saat yang bersamaan tidak akan

mempengaruhi hasil pengambilan kotak merah. Sebaliknya, apabila X tidak saling lepas Y, maka

keduanya disebut dependent. Artinya X dan Y saling mempengaruhi.

Apabila suatu variabel (X) dikondisikan (conditioned) oleh variabel lain (misal Y). Maka probabilitas

X adalah conditional probability function, ditulis 𝑃(𝑋|𝑌). Artinya probabilitas x yang dikondisikan

oleh Y. Apabila X ternyata tidak dikondisikan oleh variabel Y, maka P(X|Y) = P(X). Contoh kasus

ini adalah gempa bumi, tidak dikondisikan oleh kegiatan menabung.

2.2 Probability Density Function

Kali ini tentang pelajaran di sekolah. Terdapat ujian mata pelajaran di kelas yang beranggotakan N

siswa. Guru ingin mengetahui persebaran (distribusi/distribution) nilai ujian untuk menentukan batas

kelas nilai (misal nilai “A” adalah >=85), jadi ia membuat grafik nilai ujian untuk tiap-tiap siswa.

Sebut saja variabel nilai siswa adalah X. Sumbu horizontal menandakan nomor urut siswa.

Grafik 2.1. Nilai Siswa.

Perhatikan Grafik 2.1. Terdapat 3 orang anak mendapatkan nilai 50, 2 orang anak mendapat nilai 75

dan 80, 1 orang anak mendapat nilai 100, 1 orang anak mendapat nilai 40, serta 1 orang anak mendapat

nilai 10. Grafik probabilitas nilai dapat dilihat pada Grafik 2.2.

50

75 80

100

50 50

75 80

40

10

0

20

40

60

80

100

120

1 2 3 4 5 6 7 8 9 10

Nilai

Page 16: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 16

Grafik 2.2. Grafik Probabilitas Nilai Ujian.

Ini adalah contoh untuk data diskrit, tetapi sering kali kita berurusan dengan data kontinu. Untuk

mengetahui nilai probabilitas dari himpunan event/kejadian, kita dapat mengintegralkan kurva

distribusi kejadian pada interval tertentu. Nilai dibawah kurva pada interval −∞ sampai ∞ adalah 1.

2.3 Expectations dan Variance

Salah satu operasi paling penting dalam probabilitas adalah menemukan nilai rata-rata terbobot

(weighted average) sebuah fungsi (Bishop, 2006). Hal ini disebut menghitung ekspektasi

(expectation). Untuk sebuah fungsi f(x) berdasar distribusi probabilitas p(x), nilai expectation adalah

𝐸(𝑓)

{

∑𝑝(𝑥)𝑓(𝑥); 𝑑𝑖𝑠𝑘𝑟𝑖𝑡

𝑥

∫𝑝(𝑥)𝑓(𝑥)𝑑𝑥; 𝑘𝑜𝑛𝑡𝑖𝑛𝑢

Dalam kasus nyata, misalkan diberikan N buah sampel x dan f(x), dimana sampel tersebut diambil

dengan distribusi tertentu, maka fungsi untuk menghitung nilai expectation menjadi

𝐸(𝑓) ≅1

𝑁 ∑𝑓(𝑥𝑖)

𝑁

𝑖=1

Persamaan 2.2. Expectation.

Perhatikan, persamaan tersebut sama dengan persamaan untuk menghitung rata-rata (𝑚𝑒𝑎𝑛 / 𝜇)

seperti yang sudah Anda pelajari di SMA. Untuk mengetahui seberapa variabilitas (perbeda-bedaan

nilai) pada f(x) di sekitar nilai rata-ratanya, kita menghitungnya mengunakan variance, disimbolkan

dengan var[f] atau 𝜎2.

𝑣𝑎𝑟[𝑓] = 𝐸(𝑓(𝑥) − 𝐸[𝑓(𝑥)]2)

Ekspresi tersebut juga dapat ditulis sebagai

𝑣𝑎𝑟[𝑓] = 𝐸[𝑓(𝑥)]2 − 𝐸(𝑓(𝑥)2

Bila nilai variance tinggi, secara umum banyak variabel yang nilainya jauh dari nilai rata-rata.

Interpretasi geometrisnya dari sisi distribusi, kurnya semakin “lebar”. Untuk fungsi dengan parameter

0

0.1

0.2

0.3

0.4

0 10 20 30 40 50 60 70 80 90 100

Probabilitas

Page 17: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 17

lebih dari satu variabel, misal f(x,y) kita menghitung covariance (untuk lebih dari satu variabel).

Covariance adalah variance untuk random variable berdimensi lebih dari satu. Covariance adalah

cara untuk menghitung tingkat korelasi (Wolfram, 2016)

2.4 Probabilitas Bayesian

Dalam sub bab sebelumnya, kita menghitung probabilitas dengan frekuensi kejadian yang dapat

diulang. Pada pandangan Bayesian, kita ingin menguantifikasi ketidakpastian. Misalkan kita ingin

tahu, seberapa peluang Mars dapat dihuni. Ini adalah sesuatu yang tidak dapat dihitung dengan

frekuensi, maupun sebuah kejadian yang dapat diulangi (pergi ke mars, lihat berapa orang yang hidup).

Akan tetapi, tentunya kita memiliki sebuah asumsi awal (prior). Dengan sebuah alat canggih yang

baru, kita dapat mengumpulkan data baru tentang Mars. Dengan data tersebut, kita mengoreksi

pendapat kita tentang Mars (posterior). Hal ini menyebabkan perubahan dalam pengambilan

keputusan.

Pada keadaan ini, kita ingin mampu menguantifikasi ekspresi ketidakpastian; dan membuat revisi

tentang ketidakpastian menggunakan bukti baru (Bishop, 2006). Dalam Bayesian, nilai numerik

digunakan untuk merepresentasikan derajat kepercayaan/ketidakpastian.

𝑃(𝐴|𝐵) = 𝑃(𝐵|𝐴)𝑃(𝐴)

𝑃(𝐵)

Persamaan 2.3. Probabilitas Bayesian.

𝑃(𝐴) disebut prior, yaitu pengetahuan/asumsi awal kita. Setelah kita mengobservasi data B, kita

mengubah asumsi kita. 𝑃(𝐵|𝐴) disebut likelihood function. Likelihood function mendeskripsikan

peluang data, untuk asumsi/pengetahuan tentang A yang berubah-ubah (A sebagai parameter yang

dapat diatur). Dengan likelihood function tersebut, kita mengoreksi pendapat akhir kita yang nantinya

digunakan untuk mengambil keputusan (posterior).

𝑝𝑜𝑠𝑡𝑒𝑟𝑖𝑜𝑟 ∝ 𝑙𝑖𝑘𝑒𝑙𝑖ℎ𝑜𝑜𝑑 ∗ 𝑝𝑟𝑖𝑜𝑟

Pada umumnya, untuk mengestimasi likelihood, digunakan maximum likelihood estimator; yang

berarti mengatur nilai A untuk memaksimalkan nilai 𝑃(𝐵|𝐴). Dalam literatur machine elearning,

banyak menggunakan negative log of likelihood function (Bishop, 2006); karena nilai logaritma

negatif, secara monotonik menurun, maka memaksimalkan nilai likelihood ekuivalen dengan

meminimalkan negatifnya (contoh nyata akan diberikan pada sub bab berikutnya).

Perhatikan kembali Persamaan 2.3, secara intuitif, posterior dipengaruhi prior, artinya bergantung

pada sampel yang kita punya. Hal ini berlaku pada machine learning, kualitas model yang dihasilkan

bergantung pada kualitas training data.

2.5 Probabilitas Gaussian

Anda harusnya sudah mengetahui distribusi ini. Ini adalah distribusi yang sangat terkenal yaitu bell

curve/distribusi normal. Distribusi normal adalah bentuk khusus dari Gaussian distribution. Ada

beberapa macam distribusi yang akan dibahas pada bab ini, yaitu: univariate Gaussian, multivariate

Page 18: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 18

Gaussian, dan Gaussian mixture model. Pertama kita bahas univariate Gaussian terlebih dahulu.

Disebut univariate karena distribusinya bergantung pada satu variable skalar. Dalam hal ini adalah

x. Distribusi sebenarnya adalah fenomena random atau deskripsi matematis suatu random variable.

Berikut adalah formula distribusi univariate Gaussian dikarakteristikkan oleh mean (𝜇) dan variance

(𝜎2)

𝑁(𝑥|𝜇, 𝜎2) = 1

√2𝜋𝜎2exp (−

(𝑥 − 𝜇)2

2𝜎2)

Persamaan 2.4. Univariate Gaussian (Bishop, 2006)

Gambar 2.1. Distribusi Univariate Gaussian

(https://upload.wikimedia.org/wikipedia/commons/thumb/7/74/Normal_Distribution_PDF.svg/720px-

Normal_Distribution_PDF.svg.png)

Perhatikan Gambar 2.1, nilai N (Persamaan 2.4) adalah ordinat pada kurva ini. Bentuk distribusi

berubah-ubah sesuai dengan nilai rata-rata (mean), serta variance. Semakin besar variance-nya, maka

kurva distribusi semakin lebar (seperti yang dijelaskan pada sub bab sebelumnya). Untuk menggeser-

geser kurva ke kiri maupun ke kanan, dapat dilakukan dengan menggeser nilai mean. Untuk mencari

nilai pada suatu interval tertentu, cukup mengintegralkan fungsi pada interval tersebut. Nilai integral

fungsi dari minus tak hingga, hingga tak hingga adalah satu.

∫ 𝑁(𝑥|𝜇, 𝜎2)𝑑𝑥∞

−∞

= 1

Sekarang bayangkan kita diberikan N buah data hasil observasi. Diasumsikan observasi dihasilkan

oleh distribusi univariate Gaussian dengan rata-rata 𝜇 dan variance 𝜎2.

Page 19: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 19

Setiap data diambil secara independen dari distribusi yang sama, disebut independent and identically

distributed. Kita tahu bahwa data yang idependen, apabila dihitung probabilitasnya maka tersusun

atas probabilitas masing-masing data. Artinya,

𝑝(𝒙|𝜇, 𝜎2) = ∏𝑁(𝑥|𝜇, 𝜎2)

𝑁

𝑖=1

x (bold) adalah himpunan data (observasi). Apabila dipandang dari sisi mean dan variance, p

sebenarnya adalah fungsi likelihood (likelihood function) (Bishop, 2006).

Gambar 2.2. Ilustrasi likelihood function (Bishop, 2006)

Kita ingin mencari tahu bagaimana distribusi Gaussian yang sebenarnya. Untuk itu, kita ingin

memaksimalkan fungsi likelihood; agar prior berubah menjadi posterior (fungsi Gaussian yang

sebenarnya). Ini disebut maximum likelihood estimation Ingat kembali sub bab sebelumnya

(Bayesian)! Sayangnya hal ini agak sulit dilakukan, malah sebaliknya, kita memaksimalkan log

likelihood function berdasarkan data yang kita miliki. Logaritma secara monotonik akan bertambah

nilainya, dan memaksimalkan fungsi logaritma sebanding dengan meminimalkan error, bentuknya

seperti pada persamaan matematis berikut (dipakai logiritma bilangan natural)

ln 𝑝(𝒙|𝜇, 𝜎2) = −1

2𝜎2∑(𝑥𝑖 − 𝜇)

2

𝑁

𝑖=1

−𝑁

2ln 𝜎2 −

𝑁

2ln 2𝜋

Solusi persamaan tersebut adalah

𝜇 = 1

𝑁∑𝑥𝑖

𝑁

𝑖=1

; 𝜎2 = 1

𝑁∑(𝑥𝑖 − 𝜇)

2

𝑁

𝑖=1

Perhatikan baik baik interpretasi berikut! Artinya kita dapat mengestimasi distribusi asli

menggunakan sampel data yang kita miliki. Mean distribusi asli diestimasi dengan mean sampel.

Variance distribusi asli diestimasi dengan variance sampel. Inilah jantung machine learning! Masih

ingat materi bab 1? Pada machine learning, kita mengestimasi sesuatu yang kita tidak ketahui, dengan

sampel data yang kita miliki. Proses estimasi akan dibahas lebih lanjut pada bab 3.

Page 20: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 20

Lanjut ke topik berikutnya. Multivariate Gaussian adalah distribusi Gaussian untuk suatu random

variable non-skalar (vektor/mempunyai dimensi). Berikut adalah fungsinya

𝑁(𝒙|𝝁, Σ) = 1

2𝜋𝐷2Σ

12

exp (−1

2(𝑥 − 𝜇)𝑇Σ−1(𝑥 − 𝜇))

Persamaan 2.5. Multivariate Gaussian (Jurafsky & Martin, 2009).

Perhatikan! x dan 𝝁 (di-bold) adalah vektor. Σ adalah covariance (matriks). Untuk multivariate

Gaussian, silahkan kamu membaca lebih lanjut sendiri. Untuk vektor berdimensi 2, multivariate

Gaussian diilustrasikan pada Gambar 2.3.

Gambar 2.3. Multivariate Gaussian

(http://archive.cnx.org/resources/4e9f9a101e73795705f86b26f6f9bfefc9e67e10/gaussian_0.6_0_0.6.png)

Sedangkan Gaussian Mixture Model (GMM) adalah gabungan dari satu atau lebih distribusi Gaussian

(bisa univariate maupun multivariate). Secara umum, bentuknya sebagai pada persamaan berikut

𝑁(𝑥|𝜇, Σ) = ∑𝑐𝑖1

√2𝜋|Σ|exp [(𝑥 − 𝜇𝑖)

𝑇Σ−1(𝑥 − 𝜇𝑖)]

𝑀

𝑖=1

ci adalah konstanta, artinya setiap distribusi Gaussian diberikan bobot. Konon katanya, GMM dapat

memodelkan fungsi apapun (Jurafsky & Martin, 2009). Ilustrasinya seperti pada Gambar 2.4. Pada

gambar tersebut, fungsi asli berwarna merah, fungsi tersebut diestimasi menggunakan mixture dari 3

buah univariate Gaussian (biru).

Page 21: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 21

Gambar 2.4. Gaussian Mixture Model

(http://dirichletprocess.weebly.com/uploads/1/9/8/4/19847957/3346416.png?1367446693)

2.6 Teori Keputusan

Diberikan himpunan pasangan data input-output {(xi,yi)}; x=input, y=output/target; walaupun tidak

pasti, kita ingin mengestimasi hubungan antara input dan output. Untuk itu kita melakukan estimasi

p(x|y,w). Pada bab pertama, kamu telah mempelajari bahwa kita mampu melakukan hal ini dengan

teknik machine learning. Selangkah lebih jauh, kita juga harus mampu untuk membuat keputusan

berbasiskan perkiraan nilai y, aspek ini adalah decision theory (Bishop, 2006).

Dalam machine learning kita dapat membangun model untuk dua tujuan: meminimalkan error, atau

meminimalkan loss; konsep meminimalkan error dijelaskan pada bab curve fitting. Ibratnya untuk

sebuah robot, kita ingin robot tersebut tidak melakukan tindakan yang salah. Tetapi, kadang kala

meminimalkan error belum tentu membuat model menjadi “bagus”. Kami ilustrasikan menggunakan

contoh dari Bishop (2006).

Misalkan kita diminta untuk membuat model klasifikasi kanker. Kita dapat mengklasifikasikan pasien

menjadi dua kelas C = {C1,C2}. C1 = kanker, C2 = normal.

Apabila kita ingin meminimalkan error, maka kita ingin mengklasifikasikan secara tepat orang yang

kanker dianggap memiliki kanker, dan yang tidak dianggap sebagai tidak. Akan tetapi, terdapat

tradeoff yang berbeda saat salah klasifikasi. Apabila kita mengklasifikasikan orang yang normal

sebagai kanker, konseuensi yang mungkin adalah membuat pasien menjadi stres, atau perlu

melakukan pemeriksaan ulang. Tetapi bayangkan, apabila kita mengklasifikasikan orang kanker

sebagai normal, konsekuensinya adalah penanganan medis yang salah. Tentunya kedua kasus ini

memiliki beban yang berbeda. Secara formal, kasus ini disebut loss. Fungsi tujuan pembelajaran

(secara umum untuk merepresentasikan error atau loss) disebut utility function. Sekali lagi kami

tekankan, tujuan machine learning adalah memaksimalkan performance. Performance diukur

berdasarkan utility function (Bishop, 2006; Russel and Norvig, 1995).

Tabel 2.1. Penalti Klasifikasi Kanker (Bishop, 2006)

Kanker Normal

Kanker 0 1000

Normal 1 0

Page 22: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 22

Tujuan machine learning, selain meminimalkan error, dapat juga untuk meminimalkan loss.

Misalkan kita berikan penalti untuk kasus diatas seperti pada Tabel 2.1. Apabila kita

mengklasifikasikan orang kanker sebagai orang kanker, maka tidak ada penalti. Apabila kita

mengklasifikasikan orang normal sebagai kanker maka diberikan penalti sebesar 1. Apabila kita

mengklasifikasikan orang kanker sebagai normal, maka penaltinya 1000.

Untuk mengukur nilai loss; dapat diekspresikan dengan loss function. Secara umum, ada dua macam

loss, yaitu: generalization loss/error, dan training loss/error. Generalization loss/error adalah

ukuran sebagaimana algoritma mampu memprediksi unobserved data dengan tepat, karena kita hanya

membangun model dengan data yang terbatas, tentunya bisa saja terdapat ketidakcocokan dengan

data yang asli. Sedangkan training loss/error seperti namanya, ukuran loss saat training. Misalkan

q(x) adalah distribusi data asli. Menggunakan sampel data dengan distribusi p(x). Maka

generalization loss dan training loss seperti yang didefinisikan pada Persamaan 2.6 dan Persamaan

2.7.

𝐺 = ∫𝑞(𝑥) log 𝑝(𝑥)𝑑𝑥

Persamaan 2.6. Generalization Loss.

𝑇 = 1

𝑁∑log𝑝(𝑥)

𝑁

𝑖=1

Persamaan 2.7. Training Loss.

Tentunya sekarang kamu bertanya-tanya. Kita tidak mengetahui bagaimana q(x) aslinya, bagaimana

cara menghitung generalization loss? Nah, untuk itulah ada teknik-teknik aproksimasi distribusi asli

q(x), misalnya maximimum likelihood method, maximum posterior method, Bayesian method

(silahkan dieksplorasi).

Secara lebih filosofis, berkaitan dengan meminimalkan loss; tugas machine learning adalah untuk

menemukan struktur tersembunyi (discover hidden structure). Hal ini sangat erat kaitannya dengan

knowledge discovery, dan data mining. Bila Anda membuka forum di internet, kebanyakan akan

membahas perihal learning machine yang memaksimalkan akurasi (meminimalkan error).

2.7 Teori Informasi

Kami tidak akan membahas bagian ini terlalu detil, jika kamu membaca buku, topik ini sendiri bisa

mencapai satu buku (baca Cover & Thomas, 1991). Mudah-mudahan bab ini dapat memberikan

gambaran (serius, ini sekedar gambaran!). Information Theory menjawab dua pertanyaan

fundamental, pertama: bagaimana cara kompresi data terbaik (jawab: entropy); kedua: apakah cara

transimisi komunikasi terbaik (jawab: channel capacity) (Cover & Thomas, 1991). Dalam statistical

learning theory, fokus utama adalah menjawab pertanyaan pertama, yaitu bagaimana melakukan

kompresi. Contoh aplikasi entropy adalah decision tree learning.

Pada machine learning, kita ingin features pembelajaran yang digunakan mampu melambangkan

information source properties. Artinya, kita ingin memilih features yang memuat informasi terbanyak

(relatif terhadap information source). Karena hal tersebut, mengerti entropy menjadi penting. Ada

sebuah strategi pemilihan feature feature selection) dengan membangun decision tree. Awalnya kita

Page 23: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 23

bentuk training data dengan semua kemungkinan features, kemudian mengambil beberapa features

yang dekat dengan root. Hal tersebut dimaksudkan untuk mencari features yang memuat banyak

informasi. Kemudian, features tersebut dapat dicoba pada algorithma learning lainnya.

2.7.1 Entropy

Diberikan sebuah random variable x, kita ingin mengetahui seberapa banyak informasi yang kita

dapatkan ketika kita mengobservasi sebuah nilai spesifik x. Kuantitas informasi yang kita dapatkan

bisa dipandang sebagai “degree of surprise” (Bishop, 2006). Misalkan kita mengetahu seorang teman

A sering makan es krim. Suatu ketika kita diberitahu bahwa dia sedang makan es krim, tentu kita

tidak heran lagi karena hal tersebut sudah lumrah. Tetapi, apabila kita diberitahu bahwa teman A tidak

memakan es krim yang diberikan teman B (padahal kita tahu dia suka), maka akan ada efek “kaget”.

Kasus kedua memuat lebih banyak informasi karena suatu kejadian yang seharusnya tidak mungkin,

terjadi. Persamaan 2.8 adalah rumus entropy oleh Shannon untuk data diskrit, sedangkan Persamaan

2.9 untuk data kontinu. Rumus ini banyak digunakan pada information processing)

𝑆(𝑥) ≅ − ∑𝑝(𝑥𝑖) log 𝑝(𝑥𝑖); 𝑁 = 𝑛𝑢𝑚𝑏𝑒𝑟 𝑜𝑓 𝑡𝑟𝑎𝑖𝑛𝑖𝑛𝑔 𝑑𝑎𝑡𝑎

𝑁

𝑖=1

Persamaan 2.8. Entropy – Shannon Entropy (Cover & Thomas, 1991).

𝑆(𝑥) = −∫𝑝(𝑥) log 𝑝(𝑥)𝑑𝑥

Persamaan 2.9. Entropy - Data Kontinu (Bishop, 2006).

Mari kita ambil contoh dari Bishop (2006). Misalkan sebuah random variable x memiliki 8

kemungkinan event yang kemungkinannya sama (yaitu 1/8). Entropy untuk kasus ini adalah (log

dalam basis 2)

𝑆 = −8 × 1

8log (

1

8) = 3

Sekarang kita ambil contoh dari Cover dan Thomas (1991). Misalkan sebuah random variable x

memiliki 8 kemungkinan event {a,b,c,d,...,h} dengan peluang {1

2,1

4,1

8,1

16,1

64,1

64,1

64,1

64} . Entropy-nya

adalah (log dalam basis 2)

𝑆 = −1

2log (

1

2) −

1

4log (

1

4) −

1

8log (

1

8) −

1

16log (

1

16) −

4

64log (

1

64) = 2

Dari contoh ini, kita tahu bahwa distribusi yang tidak uniform, memiliki entropy yang lebih besar

dibanding distribusi yang uniform. Dari sisi information transmission, dapat diinterpretasikan kita

dapat mengirimkan data sebuah distribusi dengan jumlah bit lebih sedikit. Distribusi yang

memberikan nilai entropy maksimal adalah distribusi Gaussian (Bishop, 2006). Nilai entropy

bertambah seiring variance distribusi bertambah. Dari sisi fisika, Anda dapat mempelajari entropy

pada statistical mechanics (microstate, macrostate).

Page 24: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 24

2.7.2 Relative Entropy dan Mutual Information

Gambar 2.5. Information Source vs Learning Machine.

Perhatikan Gambar 2.5! Kami harap Anda masih ingat materi bab 1, karena materi bagian ini juga

menyinggung kembali materi bab 1. Misalkan kita mempunyai data dengan probability density

function q(x). Sebuah learning machine mengaproksimasi data tersebut dengan probability density

function p(x). Ingat! Learning machine adalah aproksimasi. Ketika kita melakukan aproksimasi,

seringkali aproksimasi yang dilakukan tidaklah tepat. Tentunya kita ingin tahu seberapa bagus

aproksimasi kita, untuk mengukurnya terdapat sebuah perhitungan yang bernama Kullback-Leibler

Divergence (KL-divergence). Secara konseptual, dirumuskan sebagai Persamaan 2.10. Dari sisi

information processing, KL-divergence dapat diinterpretasikan sebagai berapa informasi tambahan

rata-rata untuk mengirimkan data distribusi dengan menggunakan fungsi aproksimasi, dibanding

menggunakan distribusi sebenarnya.

𝐾𝐿(𝑞||𝑝) = −∫𝑞(𝑥) log𝑞(𝑥)

𝑝(𝑥) 𝑑(𝑥)

Persamaan 2.10. Kullback-Leibler Divergence (Bishop, 2006).

KL-divergence disebut juga sebagai relative entropy. Tentunya, persamaan tersebut dapat

diminimalkan jika dan hanya jika q(x) = p(x). Kita dapat menganggap KL-divergence sebagai ukuran

seberapa jauh aproksimasi terhadap distribusi asli. Akan tetapi, kita tidak mengetahui q(x). Karena

itu, kita dapat mengaproksimasi KL-Divergence. Misalkan kita diberikan training data x1,x2,...xn yang

kita asumsikan diambil dari q(x). Lalu kita membuat learning machine p(x|w). Ekspektasi terhadap

q(x) dapat diaproksimasi dengan menggunakan data sampel ini, sehingga menjadi persamaan berikut

(Bishop, 2006)

𝐾𝐿(𝑞||𝑝) ≅1

𝑁∑{− log 𝑝(𝑥𝑛|𝒘)

𝑁

𝑛=1

+ log 𝑞(𝑥𝑛)}

Page 25: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 25

Ingat kembali p(x|w) adalah bentuk likelihood. Kita dapat interpretasikan hasil ini; meminimalkan

KL-divergence sama dengan memaksimalkan nilai likelihood.

Misalkan terdapat joint probability distribution p(x,y). Apabila x dan y independen, maka p(x,y) =

p(x)p(y). Kita dapat mencari tahu apakah mereka cukup “dependent” dengan menggunakan KL-

divergence

𝐼[𝑥, 𝑦] ≡ 𝐾𝐿(𝑝(𝑥, 𝑦)||𝑝(𝑥)𝑝(𝑦)) = −∫∫𝑝(𝑥, 𝑦) ln(𝑝(𝑥)𝑝(𝑦)

𝑝(𝑥, 𝑦))𝑑𝑥𝑑𝑦

I[x,y] disebut mutual information. I[x,y] = S[x] – S[x|y] = S[y] – S[y|x]; S adalah entropy. Mutual

information dapat dipandang sebagai pengurangan ketidakyakinan terhadap posterior, seiring

diberikannya data observasi yang baru. Seiring diberikannya ada observasi yang baru, kita

semakin yakin terhadap posterior.

2.8 Bacaan Lanjutan

1) Caffo, Brian. 2015. Statistical Inference for Data Science. Learn Publishing.

2) Freedman, David, Pisani, Robert & Purves, Roger. 2007. Statistics Fourth Edition. New York:

W.W. Norton & Company, Inc.

3) Nishimori, Hidetoshi. 2001. Statistical Physics of Spin Glasses and Information Processing: An

Introduction. Oxford: Clarendon Press.

4) Walpole, Ronald E., Myers, Raymond H., Myres, Sharon L, and Ya, Keying. 2012. Probability

& Statistics for Engineers & Scientists. New Jersey: Prentice Hall.

5) https://www.quora.com/What-are-some-good-books-for-learning-probability-and-statistics

Page 26: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 26

3 Curve Fitting, Error Function & Gradient Descent

Bab ini akan membahas tentang curve fitting problem (regresi), sebagai contoh pembelajaran yang

sederhana karena cukup mudah dipahami idenya. Bab ini juga membahas error function yang

merupakan salah satu utility function dalam machine learning. Gradient Descent dapat diterapkan

pada proses pembelajaran untuk mencapai konfigurasi model yang optimal.

3.1 Curve Fitting dan Error Function

Masih ingat contoh bab sebelumnya tentang estimasi distribusi univariate Gaussian? Ingat kembali

konsep tersebut untuk mengerti bab ini. Diberikan (x,y) sebagai random variable berdimensi RM dan

RN (keduanya adalah Euclidiean Space), which is subject to a simultaneous probability density

function q(x,y). Terdapat sebuah fungsi f(x) ⟶ y, yang memetakan x ke y. Approksimasi f(x), sebut

saja sebagai g(x) adalah fungsi hasil regresi. Fungsi regresi g: RM ⟶ RN didefinisikan secara

konseptual sebagai Persamaan 3.1.

𝑔(𝑥) = ∫𝑦 𝑞(𝑦|𝑥)𝑑𝑦

Persamaan 3.1. Bentuk Konseptual Regresi (Watanabe, 2016).

Persamaan 3.1 dibaca sebagai expectation of y, with the distribution of q. Secara statistik, regresi

dapat disebut sebagai expectation untuk y berdasarkan/dengan input x. Regresi adalah approksimasi,

dan approksimasi belum tentu 100% tepat sasaran. (Ingat kembali bab sebelumnya!)

Sebagai ilustrasi curve fitting problem, kamu diberikan fungsi f(a) seperti pada gambar 3.1. sekarang

fungsi f(a) tersebut disembunyikan (tidak diketahui), diberikan contoh-contoh pasangan (ai,bi);

i=1,2,…,6 adalah titik pada dua dimensi (titik sampel), seperti tanda bulat warna biru. Tugasmu

adalah untuk menentukan f(a)!

Gambar 3.1. Contoh fungsi (sigmoid).

Page 27: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 27

Gambar 3.2 Fungsi Approksimasi.

Anggap metode regresi, kamu berhasil melakukan approksimasi dan menghasilkan fungsi seperti

gambar 3.2 (garis berwarna hijau). Akan tetapi, fungsi approksimasi ini tidak 100% tepat sesuai

dengan fungsi aslinya (ini perlu sangat ditekankan). Jarak antara titik biru terhadap garis hijau

disebut error.

Salah satu cara menghitung error fungsi g(x) menggunakan square error function dengan bentuk

konseptual pada Persamaan 3.2. Estimasi terhadap persamaan tersebut disajikan dalam bentuk diskrit

pada persamaan 3.3. {(xi, yi); i=1,2,3,…,n} adalah himpunan training data. Nilai square error menjadi

tolak ukur untuk membandingkan kinerja suatu learning machine. Secara umum, bila nilainya tinggi,

maka kinerja relatif dianggap buruk; sebaliknya bila rendah, kinerja relatif dianggap baik. Hal ini

sesuai dengan konsep intelligent agent (Russel and Norvig, 1995).

𝐸(𝑔) = ∫∫‖𝑦 − 𝑔(𝑥)‖2 𝑞(𝑥, 𝑦)𝑑𝑥𝑑𝑦

Persamaan 3.2. Square Error Function (Watanabe, 2016).

𝐸(𝒘) = ∑‖𝑦𝑖 − 𝑔(𝑥𝑖 ,𝒘)‖2

𝑛

𝑖=1

; 𝒘 = 𝑙𝑒𝑎𝑟𝑛𝑖𝑛𝑔 𝑝𝑎𝑟𝑎𝑚𝑒𝑡𝑒𝑟𝑠

Persamaan 3.3. Square Error Function Estimator (Watanabe , 2016).

Perhatikan baik-baik Persamaan 3.3, secara filosofis ia sama dengan Persamaan 3.2. Ingat bab 1,

tentunya learning machine yang direpresentasikan dengan fungsi g bisa diatur kinerjanya dengan

parameter training w. Square error untuk learning machine dengan parameter training w diberikan

oleh Persamaan 3.3. (xi,yi) adalah pasangan input-desired output. Selain untuk menghitung square

error pada training data, Persamaan 3.3 juga dapat digunakan untuk menghitung square error pada

testing data. Tujuan dari regresi/machine learning in general adalah meminimalkan nilai error

function. Akan tetapi, fenomena overfitting dapat terjadi apabila nilai error function saat training

kecil, tetapi besar saat testing. Learning machine terlalu menyesuaikan diri terhadap tarining data.

Ingat kembali, fungsi pembelajaran ditulis sebagai p(y|x,w), yaitu mengaproksimasi fungsi target,

dengan parameter w. Untuk menghindari overfitting, kadang ditambahkan fungsi noise/bias

(selanjutnya disebut noise/bias saja). Fungsi belajar dapat ditulis kembali sebagai p(y|x,w,s), dimana

s adalah noise/bias. Seiring membaca lecture note ini, Anda akan lebih mengerti tentang noise/bias

yang langsung diaplikasikan pada algoritma machine learning (untuk sekarang harap bersabar).

𝑝(𝑦|𝑥, 𝒘, 𝑠) Persamaan 3.4. Learning Machine with Noise (Watanabe, 2016)

Page 28: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 28

3.2 Steepest Gradient Descent

Pada bab ini tujuan dari pembelajaran adalah untuk meminimalkan error, sehingga kinerja learning

machine diukur oleh square error. Dengan kata lain, utility function adalah meminimalkan square

error. Secara matematis, yang kita lakukan adalah mengestimasi minimum square error, dengan

mencari nilai w yang meminimalkan nilai error, E(w) = E(w1, w2, w3, … wn). Terdapat beberapa cara

untuk memimalkan square error (steepest gradient descent, stochastic gradient descent, dsb), tetapi

pada lecture note ini, hanya akan dibahas steepest gradient descent.

Bayangkan kamu sedang berada di puncak pegunungan, kamu ingin mencari titik terendah

pegunungan tersebut. Kamu tidak dapat melihat keseluruhan pegunungan, jadi yang kamu lakukan

adalah mencari titik terendah sejauh mata memandang, kemudian menuju titik tersebut dan

menganggapnya sebagai titik terendah. Layaknya asumsi sebelumnya, kamu juga turun menuju titik

terendah dengan cara melalui jalanan dengan kemiringan paling tajam, dengan anggapan bisa

lebih cepat menuju ke titik terendah (Watanabe, 2016). Sebagai ilustrasi, perhatikan gambar 3.3!

Gambar 3.3. Ilustrasi Steepest Gradient Descent

Jalanan dengan kemiringan paling tajam adalah –grad E(w). Dengan definisi grad E(w) diberikan

pada Persamaan 3.5.

𝑔𝑟𝑎𝑑 𝐸(𝒘) = (𝜕𝐸

𝜕𝑤1,𝜕𝐸

𝜕𝑤2,𝜕𝐸

𝜕𝑤3, … ,

𝜕𝐸

𝜕𝑤𝑛)

Persamaan 3.5. Gradient Square Error.

𝑑𝒘

𝑑𝑡= −𝑔𝑟𝑎𝑑 𝐸(𝒘)

Persamaan 3.6. Steepest Gradient Descent.

Ingat kembali materi diferensial. Gradient adalah turunan (diferensial) fungsi. Apabila suatu fungsi

turun (ke bawah secara interpretasi mata), maka nilai turunannya (diferensial) memiliki tanda minus.

Untuk mencari turunan tertajam, sama halnya mencari nilai –gradient terbesar. Dengan demikian,

menghitung –grad E(w) terbesar sama dengan jalanan turun paling terjal.

Tentunya seiring berjalannya waktu, kita mengubah-ubah parameter w agar kinerja model optimal.

Nilai optimal diberikan oleh turunan w terhadap waktu, yang bernilai sama dengan –grad E(w).

Bentuk diskrit Persamaan 3.6 diberikan pada Persamaan 3.7.

Page 29: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 29

𝒘(𝑡 + 1) − 𝒘(𝑡) = −𝜂 𝑔𝑟𝑎𝑑 𝐸(𝒘(𝑡)); 𝑡 = 0,1,2,3, …

Persamaan 3.7. Bentuk Diskrit Steepest Gradient Descent.

Eta (𝜂) disebut learning rate. Learning rate digunakan untuk mengatur seberapa pengaruh keterjalan

terhadap pembelajaran. Silahkan mencari sumber tambahan lagi agar dapat mengerti learning rate

secara lebih dalam.

Walaupun kamu berharap bisa menuju titik terendah dengan menelusuri jalan terdekat dengan

kemiringan paling tajam, tapi kenyataanya hal tersebut bisa jadi bukanlah jalan tercepat, seperti yang

diilustrasikan pada Gambar 3.4.

Gambar 3.4. Ilustrasi Geometris Steepest Gradient Descent (Watabane, 2016).

Pandangan kita yang terbatas layaknya kita tidak bisa melihat keseluruhan pengunungan secara

keseluruhan, kita juga tidak bisa melihat keseluruhan nilai error untuk semua parameter w pada ruang

yang tidak terbatas. Secara filosifis, hal tersebut juga berlaku saat membaca buku, oleh karena itu

sebaiknya membaca beberapa buku saat belajar.

Dalam local point of view, steepest gradient descent adalah cara tercepat menuju titik terendah, tetapi

tidak dalam global point of view. Apabila nilai learning rate (𝜂) pada Persamaan 3.7 relatif kecil,

maka dinamika perubahan parameter w juga kecil, tetapi bila nilainya besar, maka jalanan menuju

local minima (titik terendah dalam local point of view) akan bergoyang-goyang (swing), seperti pada

Gambar 3.5.

Untuk kontrol tambahan proses mengestimasi w sehingga memberikan nilai E(w) terendah,

persamaan steepest gradient descent dapat ditambahkan dengan momentum (alfa pada Persamaan

3.8). Alfa sangat jelas merupakan momentum, karena dikalikan dengan hasil descent pada tahap

sebelumnya. Alfa adalah parameter kontrol tambahan untuk mengandalikan swing yang sudah

dibahas sebelumnya.

Page 30: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 30

Gambar 3.5. Ilustrasi Nilai Learning Rate Besar Pada Steepest Gradient Descent.

Bila swing yang disebabkan pada Persamaan 3.7 relatif kecil, maka alfa akan membuatnya semakin

kecil. Sebaliknya bila besar maka alfa akan membuatnya semakin besar.

𝒘(𝑡 + 1) − 𝒘(𝑡) = −𝜂 𝑔𝑟𝑎𝑑 𝐸(𝒘(𝑡)) + 𝛼(𝒘(𝑡) − 𝒘(𝑡 − 1)); 𝑡 = 0,1,2,3, …

Persamaan 3.8. Bentuk Diskrit Steepest Gradient Descent Dengan Momentum.

3.3 Bacaan Lanjutan

Karena penggunaan learning rate dan momentum paling kentara di Neural Network, silahkan baca

artikel menarik berikut untuk tamabahan lanjutan.

1) Lecture Note in Neural Network

http://users.ics.aalto.fi/jhollmen/dippa/node22.html

2) Lecture Note in Neural Network

http://www.willamette.edu/~gorr/classes/cs449/momrate.html

Page 31: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 31

4 Artificial Neural Network

Bab ini membahas salah satu algorithma machine learning yang sedang popular belakangan ini, yaitu

artificial neural network. Pembahasan akan dimulai dari hal-hal sederhana sampai yang lebih

kompleks. Bab ini juga mencakup variasi neural network seperti deep learning dan recurrent neural

network.

4.1 Definisi

Masih ingatkah Anda materi pada bab-bab sebelumnya? Machine learning sebenarnya ingin meniru

bagaimana proses manusia belajar. Pada bagian ini, peneliti ingin meniru proses belajar tersebut

dengan mensimulasikan jaringan saraf biologis (artificial neural network) (Mikolov, 2012; Cripps,

1996; Atiya, 1991; Cowan, 1989). Kami yakin banyak yang sudah tidak asing dengan istilah ini,

berhubung deep learning sedang populer dan banyak yang membicarakannya (dan digunakan sebagai

trik pemasaran). Silahkan belajar biologi untuk lebih mengerti tentang saraf manusia. Artificial neural

network adalah salah satu algoritma supervised learning yang populer, dan bisa juga digunakan untuk

unsupervised learning (Mikolov et al., 2013; Yu, 2013; Mikolov, 2012; Atiya, 1991). Pada lecture

note ini, kami hanya membahas neural network untuk supervised learning. Objektif pembelajaran

adalah memilimalkan error.

Artificial Neural Network (selanjutnya disingkat ANN), menghasilkan model yang sulit dibaca dan

dimengerti oleh manusia. ANN menggunakan relatif banyak parameter, kita tidak tahu apa saja yang

terjadi saat proses pembelajaran. Pada bidang riset ini, ANN disebut agnostik (kita percaya, tetapi

sulit membuktikan kenapa bisa benar). Secara matematis, ANN ibarat sebuah graf. ANN memiliki

neuron/node (vertex), dan sinapsis (edge). Topologi ANN akan dibahas lebih detil upabab berikutnya.

Sebagai gambaran, ANN berbentuk seperti Gambar 4.1 (multilayer perceptron).

Gambar 4.1. Ilustrasi ANN (Khodra & Lestari, 2015)

4.2 Single Perceptron

Bentuk terkecil (minimal) sebuah ANN adalah single perceptron yang hanya terdiri dari sebuah

neuron. Sebuah neuron diilustrasikan pada Gambar 4.2. Secara matematis, terdapat sebuah vektor x

Page 32: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 32

yang menjadi input bagi neuron tersebut. Neuron akan memproses input x melalui perhitungan jumlah

perkalian antara nilai input dan synapse weight. Pada training, yang dioptimasi adalah synapse weight

ini (learning parameter). Selain itu, terdapat juga bias 𝜽 sebagai kontrol tambahan (ingat materi

steepest gradient descent). Output dari neuron adalah hasil fungsi aktivasi dari “perhitungan jumlah

perkalian antara nilai input dan synapse weight”. Ada beberapa macam fungsi aktivasi, misal step

function, sign function, dan sigmoid function. Untuk selanjutnya, pada lecture note ini, fungsi aktivasi

berarti yang dimaksud adalah sigmoid function. Silahkan eksplorasi sendiri untuk fungsi aktivasi

lainnya.

Gambar 4.2. Single Perceptron.

Sigmoid function diberikan oleh Persamaan 4.1, dengan u merupakan bilangan real. Secara geometris,

sigmoid function diilustrasikan pada Gambar 4.3.

𝜎(𝑢) = 1

(1 + 𝑒−𝑢)

Persamaan 4.1. Sigmoid Function.

Gambar 4.3. Sigmoid Function.

Page 33: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 33

Untuk melakukan pembelajaran single perceptron, training dilakukan berdasarkan perceptron

training rule. Prosesnya adalah tahapan-tahapan berikut (Mitchel, 1997):

1. Lewatkan input pada perceptron, kemudian kita akan mendapatkan nilai output.

2. Nilai output tersebut dibandingkan dengan desired output.

3. Apabila nilai output sesuai dengan desired output, tidak perlu mengubah apa-apa.

4. Apabila nilai output tidak sesuai dengan desired output, maka lakukan perubahan terhadap

learning parameter (synapse weight).

Secara matematis, hal tersebut dirumuskan pada Persamaan 4.2. y melambangkan desired output, o

melambangkan output. 𝜂 disebut sebagai learning rate.

∆𝑤𝑖 = 𝜂(𝑦 − 𝑜)𝑥𝑖 Persamaan 4.2. Perceptron Training Rule (Mitchel, 1997)

Berikut adalah pseudo-code untuk perceptron training rule (Mitchel, 1997) – naskah asli.

Given K training pairs (xi,yi) arranged in the training set, i=1,2,3,...,K. K is an finite number.

Step 1 : choose 𝜂 > 0

Step 2 : all weights w are initialized at small random values, the running error E(w) is set to 0 at

first.

Step 3 : compute the actual output.

Step 4 : weights are updated. 𝑤𝑖(𝑡 + 1) = 𝑤𝑖(𝑡) + 𝜂(𝑦 − 𝑜)𝑥𝑖 ; 𝑖 = 1,2, …𝑛; 𝑡 = 𝑡𝑖𝑚𝑒

Step 5 : cumulative cycle error is computed by 𝐸(𝒘) =1

2 ∑ (𝑦𝑑 − 𝑜𝑑)

2𝐾𝑑=1 ; 𝑦𝑑=desired output for

training data-d; od= output for training data-d. *) ½ just to make math easier.

Step 6 : The training cycle is completed. For E = 0 terminate the training session. If E > 0, repeat

new training cycle by going to step 3.

Hasil akhir pembelajaran adalah konfigurasi synapse weight. Saat melakukan klasifikasi, kita

melewatkan input baru pada jaringan yang telah dibangun, kemudian tinggal mengambil hasilnya.

Pada contoh kali ini, seolah-olah single perceptron hanya dapat digunakan untuk melakukan binary

classification (hanya ada dua kelas, disimbolkan 0 dan 1). Untuk multi-label classification, kita dapat

menerapkan strategi. Salah satu strategi sederhana adalah membagi-bagi kelas menjadi range nilai.

Seumpama kita mempunyai lima kelas. Kelas pertama direpresentasikan dengan nilai output 0.0-0.2,

kelas kedua 0.2-0.4, dst.

4.3 Multilayer Perceptron & Backpropagation

Anda sudah belajar training bagi single perceptron. Selanjutnya kita akan mempelajari multilayer

perceptron (MLP). Seperti ilustrasi pada Gambar 4.1, multilayer perceptron secara literal memiliki

beberapa layers. Pada lecture note ini, kita batasi permasalahan menjadi 3 layers saja: input, hidden,

dan output. Perhatikan Gambar 4.4! Input layer menerima input, kemudian nilai input (tanpa dilewati

ke fungsi aktivasi) diberikan ke hidden units. Pada hidden units, input diproses dan dilakukan

perhitungan hasil fungsi aktivasi untuk tiap-tiap neuron, lalu hasilnya diberikan ke layer berikutnya.

Hasil dari input layer akan diterima sebagai input bagi hidden layer. Begitupula seterusnya hidden

layer akan mengirimkan hasilnya untuk output layer. Kegiatan dinamakan feed forward (Mitchel,

1997; Atiya, 1991). Hal serupa berlaku untuk artificial neural network dengan lebih dari 3 layers.

Page 34: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 34

Gambar 4.4. Struktur Matematis MLP.

Output of hidden unit 𝑜𝑗 = 𝜎(∑ 𝑤𝑗𝑘𝑥𝑘 + 𝜃𝑗𝑀𝑘=1 )

Output of output unit 𝑓𝑗 = 𝜎(∑ 𝑢𝑖𝑗𝑜𝑗 + 𝛾𝑖𝐻𝑗=1 ) = 𝜎(∑ 𝑢𝑖𝑗 𝜎(∑ 𝑤𝑗𝑘𝑥𝑘 + 𝜃𝑗

𝑀𝑘=1 ) + 𝛾𝑖

𝐻𝑗=1 )

u, w, , adalah learning parameter. , melambangkan noise/bias. M adalah banyaknya hidden

units, H adalah banyaknya output units.

Untuk melatih multilayer perceptron, algoritma yang umumnya digunakan adalah backpropagation.

Arti kata backpropagation sulit untuk diterjemahkan ke dalam bahasa Indonesia. Idenya adalah, dari

output layer tentu bisa ada error dibandingkan desired output; dari error tersebut, kita perbaharui

parameter (utamanya synapse weights). Intinya adalah mengkoreksi synapse weight dari output layer

ke hidden layer, kemudian error tersebut dipropagasi ke layer berikut-berikutnya. Artinya,

perubahan synapse weight pada suatu layer dipengaruhi oleh perubahan synapse weight pada layer

sebelumnya.

Ingat kembali materi pada bab gradient descent. Untuk meminimalkan error, kita menggunakan

prinsip gradient descent. Kita akan memperlajari bagaimana cara menurunkan backpropagation

menggunakan gradient descent yaitu menghitung – 𝑔𝑟𝑎𝑑{(𝑦𝑖 − 𝑓𝑖(𝒙,𝒘)2} ; untuk semua output

neurons.

Ingat kembali chain rule in derivative (diferensial)? Perhatikan contoh berikut,

𝑓(𝑔(𝑥))′= 𝑓′(𝑔(𝑥))𝑔′(𝑥)

𝑓(𝑔(ℎ(𝑥)))′= 𝑓′(𝑔(ℎ(𝑥)))𝑔′(ℎ(𝑥))ℎ′(𝑥))

Ingat kembali pseudo-code perceptron training rule pada sub bab sebelumnya. Error pada suatu

output diberikan oleh persamaan

𝐸(𝒘) =1

2 ∑ (𝑦𝑖 − 𝑓𝑖)

2𝑁𝑖=1 ;

Page 35: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 35

N adalah banyaknya output neuron, yi adalah desired output, fi adalah output. Ingat kembali cara

menghitung output untuk masing-masing layer. Perhatikan proses penurunan berikut.

Output of hidden unit 𝑜𝑗 = 𝜎(∑ 𝑤𝑗𝑘𝑥𝑘 + 𝜃𝑗𝑀𝑘=1 )

Output of output unit 𝑓𝑗 = 𝜎(∑ 𝑢𝑖𝑗𝑜𝑗 + 𝛾𝑖𝐻𝑗=1 )

Diferensial untuk uij diberikan oleh (khusus fungsi aktivasi menggunakan sigmoid function)

𝜕𝐸(𝒘)

𝜕𝑢𝑖𝑗= (𝑦𝑖 − 𝑓𝑖)

𝜕𝑓𝑖

𝜕𝑢𝑖𝑗

= (𝑦𝑖 − 𝑓𝑖) 𝑓𝑖(1 − 𝑓𝑖)𝑜𝑗

Diferensial untuk wjk diberikan oleh (khusus fungsi aktivasi menggunakan sigmoid function) 𝜕𝐸(𝒘)

𝜕𝑤𝑗𝑘 = ∑ (𝑦𝑖 − 𝑓𝑖)

𝐻𝑖=1

𝜕𝑓𝑖

𝜕𝑤𝑗𝑘

Turunan parsial 𝜕𝑓𝑖

𝜕𝑤𝑗𝑘

𝜕𝑓𝑖

𝜕𝑤𝑗𝑘 =

𝜕𝑓𝑖

𝜕𝑜𝑗

𝜕𝑜𝑗

𝜕𝑤𝑗𝑘

𝜕𝑓𝑖

𝜕𝑜𝑗 = 𝑓𝑖(1 − 𝑓𝑖)𝑢𝑖𝑗

𝜕𝑜𝑗

𝜕𝑤𝑗𝑘 = 𝑜𝑗(1 − 𝑜𝑗)𝑥𝑘

𝜕𝐸(𝒘)

𝜕𝑤𝑗𝑘 = ∑ (𝑦𝑖 − 𝑓𝑖)

𝐻𝑖=1 𝑓𝑖(1 − 𝑓𝑖)𝑢𝑖𝑗𝑜𝑗(1 − 𝑜𝑗)𝑥𝑘

*) metode serupa juga dapat dipergunakan untuk menurunkan perubahan j

Jadi, proses backpropagation (kasus Gambar 4.4) dapat dikerjakan seperti pada Gambar 4.5. Untuk

artificial neural network dengan lebih dari 3 layers, silahkan turunkan sendiri persamaannya.

Gambar 4.5. Proses Backpropagation.

Seringkali, perubahan synapse weight mengikutsertakan momentum untuk mempercepat training

menuju titik konvergen (ingat kembali materi steepest gradient descent).

Page 36: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 36

∆𝑤𝑖𝑗(𝑡) = −𝜂(𝑡)𝛾𝑗𝑥𝑘 + 𝛼∆𝑤𝑖𝑗(𝑡 − 1); 𝑡 = 𝑡𝑖𝑚𝑒 (1,2,3, . . )

Persamaan 4.3. Perubahan Synapse Weight Dengan Momentum.

4.3.1 Binary Classification

Salah satu strategi untuk binary classification adalah dengan menyediakan hanya satu output unit di

multilayer perceptron. Kelas pertama direpresentasikan dengan 0, kelas kedua direpresentasikan

dengan 1.

4.3.2 Multi-label Classification

Multilayer perceptron dapat memiliki output unit berjumlah lebih dari satu. Oleh karena itu, terdapat

keuntungan saat melakukan multi-label classification. Salah satu strategi sederhana adalah dengan

menggunakan encoding. Seumpama kita mempunyai empat kelas, dengan demikian kita dapat

merepresentasikan keempat kelas tersebut dengan 2log(4) output units = 2. Kelas pertama

direpresentasikan dengan output layer memberikan hasil 00, kelas kedua 01, kelas ketika 10, dan

kelas keempat 11. Untuk X kelas, kita dapat merepresentasikannya dengan 2log(X) output units.

4.4 Deep Neural Network

Deep Neural Network adalah artificial neural network yang memiliki banyak layer. Pada umumnya,

deep neural network memiliki >= 4 layers (input layer, N hidden layers, output layer). Proses

pembelajaran pada deep network disebut sebagai deep learning (Watanabe, 2016).

Gambar 4.6. Contoh Deep Neural Network.

Perhatikan Gambar 4.6, deep network tersebut memiliki 4 layers. Cara menghitung output sama saja

dengan neural network biasa (kasus fungsi sigmoid) diberikan pada Persamaan 4.4.

Page 37: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 37

𝑓𝑖 = 𝜎 (∑𝑤𝑖𝑗

𝐻2

𝑗=1

𝜎(∑𝑤𝑗𝑘 𝜎 (∑ 𝑤𝑘𝑚𝑥𝑚

𝑀

𝑚=1

+ 𝜃𝑘) + 𝜑𝑗

𝐻1

𝑘=1

) + 𝜆𝑖)

Persamaan 4.4. Deep Neural Network (Feed Foward).

𝜽,𝝋, 𝝀 adalah noise/bias. Untuk pembelajaran pada deep neural network, salah satu caranya adalah

dengan backpropagation. Seperti pada sub bab sebelumnya, kita hanya perlu menurunkan rumusnya

saja (Wtanabe, 2016). Wij adalah synapse weight dari layer H2 ke layer output yaitu berasal dari node

pada layer H2 urutan ke-j ke output node ke-i. Wjk adalah synapse weight dari layer H1 ke layer H2.

Wkm adalah synapse weight dari layer input ke layer H1.

Square error function ∶ 𝐸(𝒘) =1

2 ∑ (𝑦𝑖 − 𝑓𝑖)

2𝑁𝑖=1 ; yi adalah desired output.

Hidden Layer 2 – Output Layer 𝜕𝐸

𝜕𝑤𝑖𝑗 = (𝑦𝑖 − 𝑓𝑖)

𝜕𝑓𝑖

𝜕𝑤𝑖𝑗

= (𝑦𝑖 − 𝑓𝑖)𝑓𝑖(1 − 𝑓𝑖)𝑔𝑗; 𝛿𝑖 = (𝑦𝑖 − 𝑓𝑖)𝑓𝑖(1 − 𝑓𝑖)𝑔𝑗

Hidden Layer 2 – Hidden Layer 1

𝜕𝐸

𝜕𝑤𝑗𝑘 = ∑ (𝑦𝑖 − 𝑓𝑖)

𝑁𝑖=1

𝜕𝑓𝑖

𝜕𝑔𝑗

𝜕𝑔𝑗

𝜕𝑤𝑗𝑘

= ∑ (𝑦𝑖 − 𝑓𝑖)𝑓𝑖(1 − 𝑓𝑖)𝑤𝑖𝑗𝑔𝑗(1 − 𝑔𝑗)𝑜𝑘𝑁𝑖=1 ; 𝛾𝑗 = ∑ 𝛿𝑖𝑤𝑖𝑗𝑖 𝑔𝑗(1 − 𝑔𝑗)

Hidden Layer 1 – Input Layer

𝜕𝐸

𝜕𝑤𝑘𝑚 = ∑ ∑ (𝑦𝑖 − 𝑓𝑖)

𝐻2𝑗=1

𝑁𝑖=1

𝜕𝑓𝑖

𝜕𝑔𝑗

𝜕𝑔𝑗

𝜕𝑜𝑘

𝜕𝑜𝑘

𝜕𝑤𝑘𝑚

= ∑ ∑ (𝑦𝑖 − 𝑓𝑖)𝑓𝑖(1 − 𝑓𝑖)𝑤𝑖𝑗𝑔𝑗(1 − 𝑔𝑗) 𝑤𝑗𝑘𝑜𝑘(1 − 𝑜𝑘)𝑥𝑚𝐻2𝑗=1

𝑁𝑖=1 ;

𝑁𝑜𝑡𝑒: 𝛽𝑘 = ∑ 𝛾𝑗𝑤𝑗𝑘𝑗 𝑜𝑘(1 − 𝑜𝑘)

Dengan itu, deep learning framework dapat diilustrasikan pada Gambar 4.7.

Karena deep network terdiri dari banyak layer dan synapse weight, estimasi parameter susah

dilakukan. Arti filosofisnya adalah susah/lama untuk menentukan relasi antara input dan output.

Walaupun deep learning sepertinya kompleks, tetapi entah kenapa dapat bekerja dengan baik untuk

permasalahan praktis (Watanabe, 2016). Deep learning dapat menemukan relasi unknown antara

input dan output, yang tidak dapat diselesaikan menggunakan neural network biasa (3 layers).

Ada beberapa strategi untuk mempercepat pembelajaran menggunakan deep learning, misalnya:

Lasso atau Ridge, successive learning, dan penggunaan Autocoder (Watanabe, 2016). Sebagai contoh,

saya akan menceritakan successive learning. Arti successive learning adalah network yang dibangun

secara bertahap. Misal kita latih network dengan 3 layers, kemudian kita lanjutkan 3 layers tersebut

menjadi 4 layers, lalu kita latih lagi menjadi 5 layers, dst. Hal ini sesuai dengan Elman (1993) yaitu

mulai dari hal kecil. Ilustrasinya dapat dilihat pada Gambar 4.8.

Page 38: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 38

Gambar 4.7. Deep Learning Framework.

Gambar 4.8. Successive Learning.

Menggunakan deep learning harus hati-hati, karena pembelajaran cenderung divergen. Artinya

minimum square error belum tentu semakin rendah seiring berjalannya waktu (swing relatif sering).

4.5 Recurrent Neural Network

Sub bab ini hanya akan menjelaskan konsep garis besar, tanpa penurunan rumus. Recurrent Neural

Network (RNN) adalah salah satu variasi topologi neural network. Idenya adalah membuat topologi

jaringan yang mampu merepresentasikan sequence. Konsepnya adalah menggunakan hasil

Page 39: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 39

pembelajaran pada tahap sebelumnya (t-1) di tahap sekarang (t) (Mikolov, 2012). Perhatikan Gambar

4.9. V, U, dan W merepresentasikan synapse weight. Pada neural network sederhana ini, hasil output

fungsi aktivasi hidden layer pada tahap sebelumnya diingat, kemudian digunakan sebagai input pada

tahap berikutnya (pada tahap pertama, hasil fungsi aktivasi dapat dianggap 1 untuk semua hidden

units). Hal ini sesuai dengan ide RNN yang mampu “mengingat” kejadian sebelum-sebelumnya,

direpresentasikan dengan menggunakan previous state of hidden layer (Mikolov, 2012).

Gambar 4.9. Recurrent Neural Network Sederhana (Mikolov, 2012).

Training dapat dilakukan dengan menggunakan metode backpropagation seperti yang sudah

dijelaskan pada sub bab sebelumnya. Akan tetapi, backpropagation kurang intuitif untuk recurrent

karena tidak mampu mengakomodasi training yang sifatnya time series. Untuk itu, terdapat metode

lain seperti backpropagation through time. Awalnya kita melakukan feedforward seperti biasa,

kemudian sama propagasi error, idenya melakukan unfolding pada neural network. Beberapa previous

states of hidden layer diingat, kemudian saat melakukan backpropagation, dilakukan

backpropagation secara batch. Perhatikan ilustrasi pada Gambar 4.10. Kita mempropagasi error

dengan adanya efek dari previous states of hidden layer. Synapse weight diperbaharui secara large

update (pada Gambar 4.10 setelah propagasi error mencapai ujung gambar paling kiri). Synapse

weight tidak diperbaharui per layer. Hal ini untuk merepresentasikan neural network yang mampu

mengingat beberapa kejadian masa lampau, dan keputusan saat ini dipengaruhi oleh keputusan pada

masa lampau juga (ingatan).

RNN berhasil dibuktikan oleh Mikolov et al. (2013) untuk word embeddings (merepresentasikan kata

sebagai vektor bilangan riil). Singkatnya, RNN digunakan untuk memprediksi kata yang akan muncul,

diberikan beberapa kata yang sudah diketahui. Seumpama kalimat “petani menanam padi”, kita

diberikan input “petani menanam”, kemudian RNN dapat menebak kata berikutnya dengan benar,

yaitu “padi”. Training dengan objektif tersebut, juga membuahkan hasil RNN yang mampu mengerti

hubungan kata. Misalkan pasangan “Jepang-Tokyo”. Ketika ditanya kata “Prancis”, maka ia mampu

memberikan jawaban “Prancis”. Hasil penelitian ini dikenal sebagai word2vec.

Page 40: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 40

Gambar 4.10. Backpropagation Through Time (Mikolov, 2012).

4.6 Tips for Neural Network

Proses perubahan topologi artificial neural network pada training, secara umum mengikuti tahapan

sebagai berikut:

1. Earlier State

Pada tahap ini, struktur global (kasar) diestimasi.

2. Medium State

Pada tahap ini, learning berubah dari tahapan global menjadi lokal (ingat steepest gradient

descent).

3. Last State

Pada tahap ini, struktur lokal dan detil akhirnya diestimasi.

Akan tetapi, learning machine yang bisa menentukan hidden structure sering menjadi ke overtraining.

Menentukan batasan antara structure discovery dan overtraining bukanlah hal yang mudah.

Perhatikan Gambar 4.11 sebagai ilustrasi. Secara umum, training untuk artificial neural network

Page 41: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 41

berlangsung cukup lama, tetapi ia cepat saat melakukan klasifikasi. Masalah paling sulit saat training,

sesungguhnya adalah menentukan topologinya.

Gambar 4.11. Discovery vs Overtraining.

4.7 Bacaan Lanjutan

Selain topologi yang sudah dijelaskan, masih banyak lagi topologi artificial neural network, seperti

convolutional network dan long-short-term memory network. Silahkan mencari sumber lain untuk

membaca lebih lanjut.

Page 42: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 42

Indeks

binary classification, 3, 8, 11

conditional probability function, 8

covariance, 10, 13

deep learning, 6

expectation, 9

feed forward, 8

feedforward, 14

gaussian mixture model, 11

independent and identically distributed, 12

learning rate, 3

likelihood function, 10, 12

local minima, 4

log likelihood function, 12

loss function, 15

marginal probability, 8

momentum, 4

multi-label classification, 3, 8, 11

multivariate gaussian, 11

overfitting, 2

performance measure, 2

posterior, 10, 18

prior, 10, 12

production rule, 8

recurrent neural network, 6, 13, 14

relative entropy, 18

square error, 2

sum rule, 7, 8

univariate gaussian, 11, 12

utility function, 2, 5, 14

variance, 9

Page 43: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 43

Refrensi

Atiya, Amir. 1991. PhD Thesis: Learning Algorithms for Neural Network. California: California

Institute of Technology.

Bishop, Christopher M. 2006. Pattern Recognition and Machine Learning. New York, USA: Springer.

Caffo, Brian. 2015. Statistical Inference for Data Science. Learn Publishing.

Cover, Thomas M., and Thomas, Joy A. 1991. Elements of Information Theory. New Jersey, USA:

Wiley.

Cowan, Jack D. 1989. Neural Networks: The Early Days. In Proceedings of Advances in Neural

Information Processing Systems 2.

Cripps, Al. 1996. Using Artificial Neural Nets to Predict Academic Performance. In Proceedings of

the 1996 ACM Symposium on Applied Computing, pp 33-37.

Elman, Jeffrey L. 1993. Learning and Development in Neural Networks: The Importance of Starting

Small. Journal of Cognition (48), pp. 71-99.

Freedman, David, Pisani, Robert and Purves, Roger. 2007. Statistics Fourth Edition. New York: W.W.

Norton & Company, Inc.

Gratch, Jonathan and Marsella, Stacell. 2014. “Computationally Modelling Human Emotion”.

Communications of the ACM, Vol. 57, No 12, pages 56-67.

Jurafsky, Daniel and Martin, James H. 2009. Speech and Language Processing Second Edition. New

Jersey: Prentice Hall.

KBBI web. 2016. Available at http://kbbi.web.id/. Accessed on 10 October 2016.

Khodra, Masayu Leylia and Lestari, Dessi Puji. 2015. Odd Semester Lecture Note: Pembelajaran

Mesin. Institut Teknologi Bandung.

Mikolov, Tomas. 2012. Statistical Language Models Based on Neural Networks. PhD thesis, Brno

University of Technology.

Mikolov, Tomas, Sutskever Ilya, Chen, Kai, Corrado, Greg, and Dean, Jeffrey. 2013. Distributed

Representations of Words and Phrases and their Compositionality. In CoRR abs/1310.4546.

Mitchell, Tom M. 1997. Machine Learning. New York, USA: McGraw-Hill.

Nishimori, Hidetoshi. 2001. Statistical Physics of Spin Glasses and Information Processing: An

Introduction. Oxford: Clarendon Press.

Russel, Stuart and Norvig, Peter. 1995. Artificial Intelligence: A Modern Approach. New Jersey:

Prentice Hall.

Walpole, Ronald E., Myers, Raymond H., Myres, Sharon L, and Ya, Keying. 2012. Probability &

Statistics for Engineers & Scientists. New Jersey: Prentice Hall.

Watanabe, Sumio. 2016. Fall Lecture Note: Statistical Learning Theory Part I. Tokyo Institute of

Technology.

Page 44: PENGENALAN PEMBELAJARAN MESIN · PDF fileadalah orang yang hanya belajar pembelajaran mesin dengan mindset “yang penting bisa memakai ... perlahan-lahan mengerti norma di tempat

Draft, 1/16/2017 – TIDAK UNTUK DIJUAL 44

Wolfram. 2016. Covariance. Available at http://mathworld.wolfram.com/Covariance.html. Accessed

on 17 January 2017.

Yu, Kai. 2013. Large-Scale Deep Learning at Baidu. In Proceedings of the 22nd ACM International

Conference on Information & Knowledge Management, pp. 2211-2212.