Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara...

43
Bagian I Pengetahuan Dasar

Transcript of Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara...

Page 1: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

Bagian I

Pengetahuan Dasar

Page 2: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

1

Pengenalan

“People worry that computerswill get too smart and take overthe world, but the real problemis that they’re too stupid andthey’ve already taken over theworld.”

Pedro Domingos

Penulis yakin istilah machine learning atau deep learning sudah tidak as-ing di telinga pembaca. Machine learning dan deep learning adalah salahsatu materi kuliah pada jurusan Teknik Informatika atau Ilmu Komputer. Se-lain mengenal kedua istilah tersebut di kuliah, pembaca mungkin mengenalistilah tersebut karena digunakan untuk pemasaran (marketing). Sebagai per-mulaan, machine learning dan deep learning bukanlah kedua hal yang sangatberbeda1. Perlu diingat, deep learning adalah bagian dari machine learning.Machine learning sudah diaplikasikan pada banyak hal, baik untuk klasifikasigambar, mobil tanpa pengemudi, klasifikasi berita, dsb. Bab ini menjelaskankonsep paling dasar dan utama machine learning.

1.1 Kecerdasan Buatan

Pada bagian pembukaan (kata pengantar) telah dijelaskan bahwa kami men-ganggap kamu sudah memiliki pengetahuan dasar tentang artificial intel-ligence (kecerdasan buatan), kami akan memberikan sedikit ikhtisar apahubungan kecerdasan buatan dan machine learning. Saat pertama kali kamumendengar istilah “kecerdasan buatan”, mungkin kamu akan terpikir robotyang memiliki raga fisik. Tetapi, kecerdasan buatan tidak hanya terbataspada sesuatu yang memiliki raga fisik. Raga fisik berguna untuk interaksi

1 Walau istilah deep learning belakangan ini lebih populer.

Page 3: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

4 1 Pengenalan

yang ramah bagi manusia. Tidak mesti memiliki raga fisik, kecerdasan buatansesungguhnya adalah program2 yang memiliki bentuk matematis (instruksi);kita sebut sebagai agen. Berbeda dengan program biasa yang menghasilkanaksi berdasarkan instruksi, tujuan kecerdasan buatan adalah menciptakanprogram yang mampu mem-program (output program adalah sebuah pro-gram). Secara teori, program adalah automaton3 yang menjalankan suatuinstruksi. Sama halnya dengan program pada umumnya, agen kecerdasan bu-atan juga menjalankan suatu instruksi. Yang menjadikanya beda dengan pro-gram biasa adalah kemampuan untuk belajar4. “Belajar” yang dimaksudtidaklah sama dengan proses manusia belajar. Mesin mampu belajar apabilaia mampu meng-update parameter (dijelaskan lebih detil kemudian).

Pada bidang keilmuan kecerdasan buatan, kita ingin menciptakan agenyang mampu melakukan pekerjaan yang membutuhkan kecerdasan manusia.Perhatikan, disini disebut kecerdasan manusia; hewan pun cerdas, tapi ke-cerdasan manusia dan hewan berbeda; yang kita ingin aproksimasi adalahkecerdasan manusia. Akan tetapi, kecerdasan manusia susah didefinisikankarena memiliki banyak aspek misalnya nalar (logika), kemampuan berba-hasa, seni, dsb. Karena kecerdasan manusia memiliki banyak dimensi, kitadapat mencoba menyelesaikan masalah pada sub bidang lebih kecil (divideand conquer). Sampai saat ini pun, peneliti belum juga mengetahui secarapasti apa yang membuat manusia cerdas, apa itu sesungguhnya cerdas, danbagaimana manusia dapat menjadi cerdas. Dengan demikian, keilmuan kecer-dasan buatan adalah interdisiplin, memuat: psikologis, linguistik, ilmu kom-puter, biologi, dsb. Bila kamu bertanya apakah program deterministik dapatdisebut kecerdasan buatan, jawabannya “iya”, to some extent (sampai padalevel tertentu) karena memenuhi dimensi acting rationally (dijelaskan padasubbab 1.2).

Permasalahan utama bidang kecerdasan buatan terdiri dari (dari klasiksampai lebih modern)5, yaitu:

1. Planning. Diberikan start state dan goal state, agen harus merencanakansekuens aksi untuk merubah start state menjadi goal state. Contoh per-masalahan planning adalah merencanakan rute perjalanan dari kota Ake kota B. Bisa jadi, saat merencanakan sekuens aksi, ada kendala (con-straints) yang harus dioptimisasi.

2. Representasi pengetahuan , yaitu merepresentasikan pengetahuan dalambentuk formal. Dengan representasi formal tersebut, kita dapat melakukaninferensi dengan operasi logika berbentuk simbolik, misal logika preposisi,logika orde pertama (first-order logic), teori Fuzzy, abductive reasoning,

2 Secara sederhana, program adalah kumpulan atau sekuens instruksi.3 Kami sarankan untuk membaca buku [2] untuk materi automata.4 Perlu diperhatikan, definisi ini adalah pandangan modern.5 Silahkan merujuk Association for the Advancement of Artificial Intelligence

(AAAI).

Page 4: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

1.1 Kecerdasan Buatan 5

ontologi, maupun jaringan semantik (semantic web) [3].

3. Machine learning , yaitu teknik untuk melakukan inferensi terhadapdata dengan pendekatan matematis. Inti machine learning adalah untukmembuat model (matematis) yang merefleksikan pola-pola data (seiringkamu membaca buku ini, kamu akan lebih mengerti). Ini adalah bahasanutama buku ini.

4. Multi-agent system , yaitu sistem yang memiliki banyak agen berin-teraksi satu sama lain untuk menyelesaikan permasalahan. Agen satumengerjakan suatu hal tertentu, kemudian bekerja bersama untuk menye-lesaikan masalah yang lebih besar (tidak dapat diselesaikan sendiri).

5. Dan lain sebagainya, silahkan mengacu pada topik konferensi Associationfor the Advancement of Artificial Intelligence (AAAI) .

Perhatikan, sub keilmuan representasi pengetahuan dan machine learn-ing sama-sama melakukan inferensi, tetapi pada representasi yang berbeda.Inferensi pada bidang keilmuan representasi pengetahuan mencakup ten-tang bagaimana cara (langkah dan proses) mendapatkan sebuah keputu-san, diberikan premis. Pada machine learning, inferensi yang dimaksud lebihmenitikberatkan ranah hubungan variabel. Misalnya, apakah penjualan akanmeningkat apabila kita meningkatkan biaya marketing. Bila kamu ingat denganmata pelajaran matematika SMA (logika preposisi), kamu sadar bahwa mem-buat sistem cerdas menggunakan representasi pengetahuan simbolik itu susah.Kita harus mendefinisikan term, aturan logika, dsb. Belum lagi kita harusmendefinisikan aturan-aturan secara manual. Representasi pengetahuan se-cara tradisional dianggap relatif kurang scalable, khususnya apabila kita bek-erja dengan data yang besar. Sementara itu, machine learning berada padadaerah representasi data/ilmu/pengetahuan dalam bentuk matematis karenakeilmuan machine learning diturunkan dari matematika dan statistika.

Pada masa sekarang, kita dianugrahi dengan data yang banyak (bahkantidak terbatas), teknik machine learning menjadi intuitif untuk melakukaninferensi pada data yang besar. Hal ini yang menyebabkan machine learn-ing menjadi populer karena konstruksi model inferensi dapat dilakukan se-cara otomatis. Machine learning ibarat sebuah “alat”, sama seperti rumusmatematika. Bagaimana cara menggunakannya tergantung pada domain per-masalahan. Dengan demikian, kamu harus paham betul bahwa memahamiteknik-teknik machine learning saja tidak cukup. Kamu juga harus menge-tahui domain aplikasi yang bersesuaian karena pemanfaatan teknik-teknikmachine learning dapat berbeda pada domain yang berbeda. Sedikit cerita,sub keilmuan data science mempelajari banyak domain, misalnya data padadomain sosial, ekonomi, bahasa, maupun visual. Seiring kamu membaca bukuini, kami harap kamu semakin mengerti hal ini.

Page 5: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

6 1 Pengenalan

1.2 Intelligent Agent

Agen cerdas memiliki empat kategori berdasarkan kombinasi dimensi carainferensi (reasoning) dan tipe kelakuan (behaviour) [4, 5]. Kategori agendapat dilihat pada Gambar 1.1 dengan penjelasan sebagai berikut:

Gambar 1.1. Dimensi kecerdasan

1. Acting Humanly . Pada dimensi ini, agen mampu bertingkah dan berin-teraksi layaknya seperti manusia. Contoh terkenal untuk hal ini adalahturing test. Tujuan dari turing test adalah untuk mengevaluasi apakahsuatu sistem mampu “menipu” manusia. Disediakan seorang juri, kemu-dian juri berinteraksi dengan sesuatu di balik layar. Sesuatu di balik layarini bisa jadi manusia atau program. Program dianggap mampu bertingkah(berinteraksi) seperti layaknya manusia apabila juri tidak dapat membe-dakan ia sedang berkomunikasi dengan manusia atau program.

2. Acting Rationally . Pada dimensi ini, agen mampu bertingkah den-gan optimal. Tindakan optimal belum tentu menyerupai tindakan manu-sia, karena tindakan manusia belum tentu optimal. Misalnya, agen yangmampu memiliki rute terpendek dari suatu kota A ke kota B untuk men-goptimalkan penggunaan sumber daya. Sebagai manusia, bisa saja kitamencari jalan sesuka hati.

3. Thinking Humanly . Pada dimensi ini, agen mampu berpikir sepertimanusia dalam segi kognitif (e.g. mampu mengerti apa itu kesedihan ataukesenangan). Dapat dibilang, meniru bagaima proses berpikir di otak ter-jadi (pemodelan otak).

4. Thinking Rationally . Pada dimensi ini, agen mampu berpikir secararasional. Sederhananya sesuai dengan konsep logika matematika. Think-ing Humanly lebih cenderung pada pemodelan kognitif secara umum, se-mentara dimensi thinking rationally cenderung pada pemodelan prosesberpikir dengan prinsip optimisasi (apa yang harus dilakukan agar hasil

Page 6: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

1.2 Intelligent Agent 7

optimal).

Perlu dicatat, “acting” berarti agen mampu melakukan aksi. Sementara“thinking” adalah pemodelan proses. Untuk mewujudkan interaksi manusia-komputer seperti manusia-manusia, tentunya kita ingin intelligent agent bisamewujudkan dimensi acting humanly dan thinking humanly. Sayangnya, manu-sia tidak konsisten [6]. Sampai saat ini, konsep kecerdasan buatan adalahmeniru manusia; apabila manusia tidak konsisten, peneliti susah untuk mem-odelkan cara berpikir/tingkah laku manusia. Dengan hal itu, saat ini kitapaling mungkin menciptakan agen yang mempunyai dimensi acting rationally.

Gambar 1.2. Agent vs environment [7]

Perhatikan Gambar 1.2! Agen mengumpulkan informasi dari lingkungan-nya, kemudian memberikan respon berupa aksi. Lingkungan (environment)yang dimaksud bisa jadi macam-macam, misal: rumah, papan catur, agenlain, dsb. Kita ingin agen melakukan aksi yang benar. Tentu saja kita perlumendefinisikan secara detail, teliti, tepat (precise), apa arti “aksi yang benar”.Dengan demikian, lebih baik apabila kita mengukur kinerja agen, menggu-nakan ukuran kinerja (performance measure). Misalnya untuk robot pem-bersih rumah, performance measure-nya adalah seberapa persen debu yangdapat ia bersihkan. Performance measure, secara matematis dikenal seba-gai fungsi utilitas (utility function), yaitu fungsi apa yang harus dimaksi-malkan/diminimalkan oleh agen tersebut. Setiap tindakan yang dilakukanagen rasional harus mengoptimalkan nilai performance measure atau util-ity function. Pada buku ini, istilah performance measure dan utility functionmerujuk pada hal yang sama6.

6 Buku ini berfokus pada performance measure secara matematis, buku lain belumtentu berfokus pada hal yang sama.

Page 7: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

8 1 Pengenalan

1.3 Konsep Belajar

Bayangkan kamu berada di suatu negara asing! Kamu tidak tahu norma yangada di negara tersebut. Apa yang kamu lakukan agar bisa menjadi orang“normal” di negara tersebut? Tentunya kamu harus belajar! Kamu menga-mati bagaimana orang bertingkah laku di negara tersebut dan perlahan-lahanmengerti norma yang berlaku. Belajar adalah usaha memperoleh kepandaianatau ilmu; berlatih; berubah tingkah laku atau tanggapan yang disebabkanoleh pengalaman7. Pembelajaran adalah proses, cara, perbuatan atau men-jadikan orang atau makhluk hidup belajar. Akan tetapi, pada machine learn-ing, yang menjadi siswa bukanlah makhluk hidup, tapi mesin.

Definsi sebelumnya mungkin sedikit “abstrak”, kita harus mengkonversidefinisi tersebut sebagai definsi operasional (bentuk komputasi). Secara op-erasional, belajar adalah perubahan tingkah laku berdasarkan pengalaman(event/data) untuk menjadi lebih baik. Pada konteks machine learning, bela-jar adalah menyesuaikan konfigurasi parameter (tingkah laku) terhadap utilityfunction sesuai dengan data (lingkungan).

1.4 Statistical Learning Theory

Pada masa sekarang ini data bertebaran sangat banyak dimana-mana. Pem-rosesan data secara manual tentu adalah hal yang kurang bijaksana. Beber-apa pemrosesan data yang dilakukan seperti kategorisasi (kategorisasi teksberita), peringkasan dokumen, ekstraksi informasi (mencari subjek, objek,dan relasi diatara keduanya pada teks), rekomendasi produk berdasarkancatatan transaksi, dll [7]. Tujuan machine learning minimal ada dua: mem-prediksi masa depan (unobserved event); dan/atau memperoleh ilmupengetahuan (knowledge discovery/discovering unknown structure). Keduahal ini berkaitan sangat erat. Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen (penulis berasumsi kamu belajar menulis menggunakan pensil).Memprediksi masa depan berarti kita tahu bahwa pulpen adalah alat tulis.Knowledge discovery berarti kita tahu bahwa cara menggunakan pulpen danpensil itu sama, walaupun belum pernah menggunakan pulpen sebelumnya8.

Untuk mencapai tujuan tersebut, kita menggunakan data (sampel), kemu-dian membuat model untuk menggeneralisasi “aturan” atau “pola” data se-hingga kita dapat menggunakannya untuk mendapatkan informasi/membuatkeputusan [8, 9]. Statistical learning theory (yang diaplikasikan pada ma-chine learning) adalah teknik untuk memprediksi masa depan dan/atau meny-impulkan/mendapatkan pengetahuan dari data secara rasional dan non-paranormal. Hal ini sesuai dengan konsep intelligent agent, yaitu bertingkah

7 KBBI Web, diakses pada 10 Oktober 20168 Baca zero-shot learning

Page 8: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

1.4 Statistical Learning Theory 9

berdasarkan lingkungan. Dalam hal ini, yang bertindak sebagai lingkunganadalah data. Performance measure-nya adalah seberapa akurat prediksi agentersebut atau seberapa mirip “pola” data yang ditemukan terhadap data asli.Disebut statistical karena basis pembelajarannya memanfaatkan banyak teoristatistik untuk melakukan inferensi (misal memprediksi unobserved event)9

Gambar 1.3. Ilustrasi makanan pesta 1

Gambar 1.4. Ilustrasi makanan pesta 2

Perhatikan Gambar 1.3 (permasalahan yang disederhanakan). Misalkankamu diundang ke suatu pesta. Pada pesta tersebut ada 3 jenis kue yang dis-ajikan. Kamu ingin mengetahui berapa rasio kue yang disajikan dibandingkanmasing-masing jenisnya (seluruh populasi). Tetapi, karena susah untuk men-ganalisis seluruh data atau keseluruhan data tidak tersedia, kamu mengam-bil beberapa sampel. Dari sampel tersebut, kamu mendapati bahwa ada 4buah kue segi empat, 3 buah kue hati dan 2 buah kue segitiga. Lalu kamu

9 Selain itu, machine learning juga banyak memanfaatkan teori aljabar linear.

Page 9: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

10 1 Pengenalan

menyimpulkan (model) bahwa perbandingan kuenya adalah 4:3:2 (segiem-pat:hati:segitiga). Perbandingan tersebut hampir menyerupai kenyataan selu-ruh kue yaitu 4:2.67:2. Tentu saja kondisi ini terlalu ideal.

Perhatikan Gambar 1.4, temanmu Haryanto datang juga ke pesta yangsama dan ingin melakukan hal yang sama (rasio kue). Kemudian ia mengambilbeberapa sampel kue. Dari sampel tersebut ia mendapati bahwa ada 3 buahsegiempat, 3 buah hati dan 2 buah segitiga, sehingga perbandingannya adalah3:3:2. Tentunya hal ini sangat melenceng dari populasi.

Dari dua sampel yang berbeda, kita menyimpulkan, menginferensi (infer)atau mengeneralisasi dengan berbeda. Kesimpulan yang kita buat berdasarkansampel tersebut, kita anggap merefleksikan populasi, kemudian kita mengang-gap populasi memiliki aturan/pola seperti kesimpulan yang telah kita cip-takan [10]. Baik pada statistika maupun statistical machine learning, pemili-han sampel (selanjutnya disebut training data) adalah hal yang sangat pent-ing. Apabila training data tidak mampu merepresentasikan populasi, makamodel yang dihasilkan pembelajaran (training) tidak bagus. Untuk itu, bi-asanya terdapat juga development data dan test data . Mesin dilatih meng-gunakan training data, kemudian diuji kinerjanya menggunakan developmentdata10 dan test data. Seiring dengan membaca buku ini, konsep training data,development data, dan test data akan menjadi lebih jelas.

Seperti halnya contoh sederhana ini, persoalan machine learning sesung-guhnya menyerupai persoalan statistical inference [10]. Kita berusaha men-cari tahu populasi dengan cara menyelidiki fitur (features atau sifat-sifat)yang dimiliki sampel. Kemudian, menginferensi aksi yang harus dilakukanterhadap unobserved data berdasarkan kecocokan fitur-fitur unobserved datadengan model/aturan yang sudah ada.

Dari sisi metode pembelajaran, algoritma machine learning dapat dikat-egorikan sebagai: supervised learning (subbab 1.6), semi-supervised learning(subbab 1.8), unsupervised learning (subbab 1.9), dan reinforcement learn-ing. Masing-masing metode akan dibahas pada subbab berikutnya (kecualireinforcement learning, karena diluar cakupan buku ini).

1.5 Training, Development, Testing Set

Terdapat dua istilah penting dalam pembangunan model machine learningyaitu: training dan testing . Training adalah proses membangun model dantesting adalah proses menguji kinerja model pembelajaran. Dataset adalahkumpulan data (sampel dalam statistik). Sampel ini adalah data yang kitagunakan untuk membuat model maupun mengevaluasi model machine learn-ing. Umumnya, dataset dibagi menjadi tiga jenis yang tidak beririsan (satusampel pada himpunan tertentu tidak muncul pada himpunan lainnya):

10 Pada umumnya bertindak sebagai stopping criterion saat proses training.

Page 10: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

1.5 Training, Development, Testing Set 11

1. Training set adalah himpunan data yang digunakan untuk melatih ataumembangun model. Pada buku ini, istilah training data(set) mengacupada training set.

2. Development set atau validation set adalah himpunan data yang di-gunakan untuk mengoptimisasi saat melatih model. Model dilatih meng-gunakan training set dan pada umumnya kinerja saat latihan diuji den-gan development set. Hal ini berguna untuk generalisasi (agar modelmampu mengenali pola secara generik). Pada buku ini, istilah develop-ment/validation data(set) mengacu pada hal yang sama.

3. Testing set adalah himpunan data yang digunakan untuk menguji modelsetelah proses latihan selesai. Pada buku ini, istilah testing data(set)atau test set mengacu pada testing set. Perlu kami tekankan, testing setadalah unseen data. Artinya, model dan manusia tidak boleh melihat sam-pel ini saat proses latihan. Banyak orang yang tergoda untuk melihat test-ing set saat proses latihan walaupun itu adalah tingkah laku yang burukkarena menyebabkan bias.

Satu sampel pada himpunan data kita sebut sebagai data point atau in-stans (instance) yang merepresentasikan suatu kejadian statistik (event).Perlu diingat, training, development, dan testing data diambil (sampled) daridistribusi yang sama dan memiliki karakteristik yang sama (independentlyand identically distributed). Distribusi pada masing-masing dataset ini jugasebaiknya seimbang (balanced) dan memuat seluruh kasus. Misal, sebuahdataset binary classification sebaiknya memuat 50% kasus positif dan 50%kasus negatif.

Pada umumnya, rasio pembagian dataset adalah (80% : 10% : 10%)atau (90% : 5% : 5%) (training :development :testing). Development set padaumumnya bisa tidak digunakan apabila dataset berukuran kecil (hanya dibagimenjadi training dan testing set saja). Dalam kasus ini, pembagian datasetmenjadi training dan testing set pada umumnya memiliki rasio (90% : 10%),(80% : 20%), (70% : 30%), atau (50% : 50%). Pada kasus ini, kinerja saattraining diuji menggunakan training set (dikenal sebagai closed testing).

Saat tidak menggunakan development set (hanya ada training dan testingset), kita juga memiliki opsi untuk mengevaluasi model dengan metode K-cross-validation11. Artinya, kita membagi training dataset menjadi K bagian.Kita menggunakan K − 1 bagian untuk training, kemudian menguji kinerjamodel saat latihan (validation) menggunakan satu bagian. Hal ini diulangisebanyak K kali dimana sebuah bagian data digunakan sebagai testing setsebanyak sekali (bergilir). Hal ini akan dijelaskan lebih lanjut pada bab-babselanjutnya.

11 https://www.openml.org/a/estimation-procedures/1

Page 11: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

12 1 Pengenalan

1.6 Supervised Learning

Jika diterjemahkan secara literal, supervised learning adalah pembelajaranterarah/terawasi. Artinya, pada pembelajaran ini, ada guru yang mengajar(mengarahkan) dan siswa yang diajar. Kita disini berperan sebagai guru, ke-mudian mesin berperan sebagai siswa. Perhatikan Gambar 1.5 sebagai ilus-trasi! Pada Gambar 1.5, seorang guru menuliskan angka di papan “8, 6, 2”sebagai contoh untuk siswanya, kemudian gurunya memberikan cara mem-baca yang benar untuk masing-masing angka. Contoh angka melambangkaninput , kemudian cara membaca melambangkan desired output . Pasanganinput–desired output ini disebut sebagai instance (untuk kasus supervisedlearning). Pembelajaran metode ini disebut supervised karena ada yang mem-berikan contoh jawaban (desired output).

Gambar 1.5. Supervised learning

Perhatikan Gambar 1.6 dan Gambar 1.7, x adalah kejadian (event – ran-dom variable), untuk event tertentu dapat dinotasikan sebagai {x1, x2, x3, · · · ,xN}. x dapat berupa vektor, teks, gambar, dan lain sebagainya (perhatikankonteks pembahasan buku). Demi pembahasan yang cukup generik, pada babini kita membicarakan x yang merepresentasikan event, data point, atau input.Seorang guru sudah mempunyai jawaban yang benar untuk masing-masingcontoh dengan suatu fungsi distribusi probabilitas kondisional (conditionalprobability density function) q(y | x) baca: function q for y given x,melambangkan hasil yang benar/diharapkan untuk suatu event. Siswa (mesin)mempelajari tiap pasang pasangan input-desired output (trainingdata) dengan mengoptimalkan conditional probability density function p(y |x,w), dimana y adalah target (output), x adalah input dan vektor w adalahlearning parameters. Proses belajar ini, yaitu mengoptimalkan w disebutsebagai training. Semakin kamu membaca buku ini, konsep ini akan men-jadi semakin jelas. Proses training bertujuan untuk mengaproksimasi q(y | x)melalui p(y | x,w).

Page 12: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

1.6 Supervised Learning 13

Gambar 1.6. Supervised learning - mathematical explanation

Gambar 1.7. Supervised learning - mathematical explanation 2

Gambar 1.8. Supervised learning framework

Perhatikan Gambar 1.8! model memiliki panah ke training data dan testdata, artinya model hasil training sangat bergantung pada data dan guru.Model yang dihasilkan training (hasil pembelajaran kemampuan siswa) untukdata yang sama bisa berbeda untuk guru yang berbeda12.

Tujuan supervised learning, secara umum untuk melakukan klasifikasi(classification). Misalkan mengklasifikasikan gambar buah (apa nama buahpada gambar), diilsutrasikan pada Gambar 1.9. Apabila hanya ada dua kate-gori, disebut binary classification. Sedangkan bila terdapat lebih dari dua

12 Penulis rasa hal ini sangat intuitif berhubung hal serupa terjadi pada manusia.

Page 13: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

14 1 Pengenalan

kategori, disebut multi-label classification . Ada tipe klasifikasi lain dise-but soft classification yaitu klasifikasi menggunakan probabilitas (seperti padafuzzy logic) misalkan suatu berita memuat 30% olah raga dan 70% politik.

Gambar 1.9. Ilustrasi klasifikasi buah

p(y | x,w) (1.1)

Pemahaman supervised learning adalah mengingat persamaan 1.1. Adatiga hal penting pada supervised learning yaitu input, desired output, danlearning parameters. Perlu ditekankan learning parameters berjumlah lebihdari satu, dan sering direpresentasikan dengan vektor (bold) atau matriks.Berdasarkan model yang dibuat, kita dapat melakukan klasifikasi (misal sim-bol yang ditulis di papan adalah angka berapa). Secara konseptual, klasifikasididefinisikan sebagai persamaan 1.2 yaitu memilih label (kelas/kategori y)paling optimal dari sekumpulan label C, diberikan (given) suatu instans datatertentu.

yi = arg maxyi∈C

p(yi | xi,w) (1.2)

1.7 Regresi

Pada persoalan regresi, kita ingin memprediksi output berupa bilangan kon-tinu. Misalnya pada regresi suatu fungsi polinomial, kita ingin mencari tahufungsi f(x) diberikan data {(x1, y1), · · · , (xN , yN )}. Setelah itu, kita gunakanfungsi aproksimasi untuk mencari tahu nilai yN+1 dari data baru xN+1. Perbe-daan regresi dan klasifikasi adalah pada tipe output. Untuk regresi, tipe outputadalah nilai kontinu; sementara tipe output pada persoalan klasifikasi adalahsuatu objek pada himpunan (i.e., memilih opsi pada himpunan jawaban).Tetapi, kita dapat mengkonversi fungsi regresi menjadi fungsi klasifikasi (di-jelaskan pada bab 5).

1.8 Semi-supervised Learning

Semi-supervised learning mirip dengan supervised learning, bedanya padaproses pelabelan data. Pada supervised learning, ada “guru” yang harus mem-buat “kunci jawaban” input-output. Sedangkan pada semi-supervised learning

Page 14: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

1.9 Unsupervised Learning 15

tidak ada “kunci jawaban” eksplisit yang harus dibuat guru. Kunci jawabanini dapat diperoleh secara otomatis (misal dari hasil clustering). Pada kate-gori pembelajaran ini, umumnya kita hanya memiliki sedikit data. Kita ke-mudian menciptakan data tambahan baik menggunakan supervised ataupununsupervised learning, kemudian membuat model belajar dari data tambahantersebut.

1.9 Unsupervised Learning

Gambar 1.10. Ilustrasi clustering

Jika pada supervised learning ada guru yang mengajar, maka pada unsu-pervised learning tidak ada guru yang mengajar. Contoh permasalahan unsu-pervised learning adalah clustering. Mengingat contoh kue sebelumnya, kitaingin mengelompokkan kue-kue yang sama, diilustrasikan oleh Gambar 1.10.Yang kamu lakukan adalah membuat kelompok-kelompok berdasarkan karak-teristik kue, misal kelompok kue biru, kelompok kue kuning, atau kelom-pok kue merah. Teknik-teknik mengelompokkan ini akan dibahas pada bab-bab berikutnya. Contoh algoritma unsupervised learning sederhana adalahK-means (bab 4).

Perhatikan Gambar 1.11 dan Gambar 1.12! Berbeda dengan supervisedlearning yang memiliki desired output, pada unsupervised learning tidak adadesired output (jelas, tidak ada gurunya, tidak ada yang memberi contoh).Kita ingin mencari tahu distribusi asli data q(x), berdasarkan beberapa sam-pel data. Learning dilakukan dengan mengoptimalkan p(x | w) yang men-goptimasi parameter w. Perbedaan antara estimasi dan fungsi asli disebutsebagai generalization loss (atau loss saja – dijelaskan pada bab 5). Kuncipemahaman unsupervised learning adalah mengingat persamaan 1.3, yaituada input dan parameter.

Page 15: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

16 1 Pengenalan

Gambar 1.11. Unsupervised learning framework

Gambar 1.12. Generalization error of unsupervised learning

p(x | w) (1.3)

Perlu kami tekankan, unsupervised learning 6= clustering ! Clustering adalahsalah satu bentuk unsupervised learning ; yaitu salah satu hasil inferensi per-samaan 1.3. Unsupervised learning adalah mencari sifat-sifat (properties)data. Kita ingin aproksimasi p(x | w) semirip mungkin dengan q(x), dimanaq(x) adalah distribusi data yang asli. Dataset di-sampel dari distribusi q(x),kemudian kita ingin mencari tahu q(x) tersebut.

1.10 Proses Belajar

Seperti yang sudah dijelaskan pada subbab sebelumnya, pada supervisedmaupun unsupervised learning, kita ingin mengestimasi sesuatu dengan teknikmachine learning. Kinerja learning machine berubah-ubah sesuai dengan pa-rameter w (parameter pembelajaran). Kinerja learning machine diukur oleh

Page 16: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

1.11 Tips 17

fungsi tujuan (utility function/performance measure), yaitu mengoptimalkannilai fungsi tertentu; misalnya meminimalkan nilai error, atau meminimalkanloss (dijelaskan kemudian). Secara intuitif, learning machine mirip seperti saatmanusia belajar. Kita awalnya membuat banyak kesalahan, tetapi kita menge-tahui/diberi tahu mana yang benar. Untuk itu kita menyesuaikan diri secaraperlahan agar menjadi benar (iteratif). Inilah yang juga dilakukan learningmachine, yaitu mengubah-ubah parameter w untuk mengoptimalkan suatufungsi tujuan13. Akan tetapi, machine learning membutuhkan sangat banyakdata. Sementara, manusia dapat belajar dengan contoh yang sedikit.

Secara bahasa lebih matematis, kami beri contoh supervised learning. Kitamempunyai distribusi klasifikasi asli q(y | x). Dari distribusi tersebut, kitadiberikan beberapa sampel pasangan input-output {z1, z2, z3, . . . , zn}; zi =(xi, yi). Kita membuat learning machine p(y | x,w). Awalnya diberi (x1, y1),learning machine mengestimasi fungsi asli dengan mengoptimalkan parameterw sesuai dengan data yang ada. Seiring berjalannya waktu, ia diberikan dataobservasi lainnya, sehingga learning machine menyesuaikan dirinya (konver-gen) terhadap observasi yang baru (x2, y2), (x3, y3), . . . . Semakin lama, kitajadi makin percaya bahwa learning machine semakin optimal (mampu mem-prediksi fungsi aslinya). Apabila kita diberikan data sejumlah tak hingga, kitaharap aproksimasi kita sama persis dengan distribusi aslinya.

1.11 Tips

Jujur, pengarang sendiri belum menguasai bidang ini secara penuh, tetapiberdasarkan pengalaman pribadi (+ membaca) dan beberapa rekan; ada be-berapa materi wajib yang harus dipahami untuk mengerti bidang machinelearning. Sederhananya, kamu harus menguasai banyak teori matematika danprobabilitas agar dapat mengerti machine learning sampai tulang dan jeroan-nya. Kami tidak menyebutkan bahwa mengerti machine learning secara in-tuitif (atau belajar dengan pendekatan deskriptif) itu buruk, tetapi untukmengerti sampai dalam memang perlu mengerti matematika (menurut pen-galaman kami). Disarankan untuk belajar materi berikut:

1. Matematika Diskrit dan Teori Bilangan2. Aljabar Linier dan Geometri (vektor, matriks, skalar, dekomposisi, trans-

formasi, tensor, dsb)3. Kalkulus (diferensial dan integral)4. Teori Optimasi (Lagrange multiplier, Convex Iptimization, Gradient De-

scent, Integer Linear Problem, dsb)5. Probabilitas dan Statistika (probabilitas, probability densities, hypothesis

testing, inter-rater agreement, Bayesian, statistical mechanics)

13 Saat membaca ini, kamu mungkin akan menganggap bahwa teknik machine learn-ing adalah fungsi-parametrik. Sebenarnya, ada juga algoritma machine learningnon-parametrik.

Page 17: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

18 1 Pengenalan

6. Teori Fuzzy

Mungkin kamu sudah tahu, tetapi penulis ingin mengingatkan ada duabuku yang sangat terkenal (“kitab”) sebagai materi belalajar machine learn-ing dan deep learning :

1. Patten Recognition and Machine Learning, oleh Christopher M. Bishop [8]2. Deep Learning, oleh Ian Goodfellow, Yoshua Bengio, dan Aaron Courville [11]

Apabila pembaca memiliki kesempatan, penulis sarankan untuk membaca ke-dua buku tersebut.

1.12 Contoh Aplikasi

Sebenarnya, aplikasi pemanfaatan machine learning sudah terasa dalam ke-hidupan sehari-hari. Contoh mudahnya adalah produk-produk Google, mis-alnya google translate (machine translation, handwritten recognition, speechrecognition, Alpha Go). Berikut adalah beberapa artikel menarik:

1. techcrunch google AI beats go world champion

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/

Soal Latihan

1.1. Aplikasi

(a) Carilah contoh-contoh penerapan machine learning pada kehidupan sehari-hari selain yang telah disebutkan!

(b) Mengapa mereka menggunakan teknik machine learning untuk menyele-saikan permasalahan tersebut?

(c) Apakah tidak ada opsi teknik lainnya? Jelaskan bila ada!(d) Apa kelebihan dan kekurangan teknik machine learning daripada teknik

lainnya (yang kamu jelaskan pada soal (c))?

1.2. KecerdasanJelaskan tahapan perkembangan kecerdasan manusia berdasarkan kategoriusia! Dari hal ini, kamu akan mengerti kenapa beberapa peneliti membuatagen cerdas berdasarkan kategori usia tertentu.

Page 18: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

2

Fondasi Matematis

“He uses statistics as a drunkenman uses lamp posts – forsupport rather than forillumination.”

Andrew Lang

Mungkin saat pertama kali membaca bab ini, kamu merasa bab ini tidakmasuk akal/kurang dibutuhkan. Seiring membaca buku ini, mungkin bab iniakan sering dikunjungi kembali. Bab ini hanyalah pengingat materi yang su-dah kamu pernah pelajari saja (semacam cheatsheet). Kamu boleh melewatibab ini apabila sudah familiar dengan materi probabilitas, statistika, sertaaljabar linier.

Bab ini memuat sekilas tentang probabilitas, statistika, dan operasi ma-triks. Tentunya untuk mengerti materi tersebut sebaiknya kamu mengambilkuliah khusus berkaitan karena kamu diharapkan sudah memiliki “cukup latarpengetahuan”, bab ini sebenarnya hanyalah sekilas pengingat. Kami akanbanyak memakai contoh-contoh dari buku Bishop [8] untuk materi probabili-tas.

2.1 Probabilitas

Di dunia ini, ada banyak hal yang tidak pasti (uncertain). Ssungguhnya, ma-chine learning berurusan dengan ketidakpastian (uncertainty). Dengan halitu, machine learning memiliki kaitan yang sangat erat dengan statistika.Probabilitas menyediakan framework untuk kuantifikasi dan manipulasi keti-dakpastian [8]. Mari kita lihat contoh sederhana. Terdapat dua buah kotakberwarna merah dan berwarna biru. Pada kotak merah terdapat 3 apel dan1 jeruk. Pada kotak biru, terdapat 2 apel dan 4 jeruk, kita ingin mengambilbuah dari salah satu kotak tersebut. Ilustrasi persoalan dapat dilihat pada

Page 19: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

20 2 Fondasi Matematis

Gambar 2.1. Dalam hal ini, kotak adalah random variable. Random variablek (melambangkan kotak) dapat bernilai merah atau biru. Begitu pula denganbuah, dilambangkan dengan variabel b, dapat bernilai apel atau jeruk.

Gambar 2.1. Kotak apel dan jeruk

Saat kita mengambil buah dari kotak biru, peluang untuk memilih apelbernilai 2/6, sedangkan peluang untuk memilih jeruk bernilai 4/6; kita tulisprobabilitas ini sebagai P (b = apel) = 2/6; dan P (b = jeruk) = 4/6. Artinya,jika kita mengambil buah dari kotak biru, kemungkinan lebih banyak kejadiansaat kita mendapat jeruk. Nilai suatu probabilitas harus lebih besar samadengan nol sampai kurang dari atau sama dengan satu (0 ≤ P ≤ 1). Nilai nolberarti suatu kejadian tidak mungkin muncul, sementara nilai satu berartisuatu kejadian pasti terjadi.

Lalu sekarang ada pertanyaan baru; pada suatu percobaan, berapakahprobabilitas mengambil sebuah apel dari kotak biru atau sebuah jeruk darikotak merah. Hal ini dituliskan sebagai P ((k = biru, b = apel) atau (k =merah, b = jeruk)). Nilai probabilitas tersebut dapat dihitung dengan

P ((k = biru, b = apel) ∨ (k = merah, b = jeruk))

= P (k = biru, b = apel) + P (k = merah, b = jeruk)(2.1)

• P (k = biru, b = apel) disebut joint probability, yaitu probabilitas kejadianyang dipengaruhi oleh beberapa variabel (kondisi untuk kedua variabelterpenuhi).• P (k = biru, b = apel) + P (k = merah, b = jeruk) disebut aturan tam-

bah.

Penting untuk diingat bahwa hasil operasi apapun terhadap probabilitas (baiktambah, kurang, kali, atau bagi) haruslah lebih besar sama dengan nol sampaikurang dari atau sama dengan satu (0 ≤ P ≤ 1).

Misalkan terdapat percobaan lain, kali ini kamu mengambil 1 buah. Kamuingin mengetahui berapakah probabilitas untuk mengambil buah apel kotakmana saja. Hal ini dihitung dengan persamaan 2.2.

Page 20: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

2.2 Probability Density Function 21

P (b = apel) =

I∑i=1

P (k = ki, b = apel) (2.2)

Aturan tambah seperti ini disebut marginal probability karena hasilnyadidapat dengan menjumlahkan probabilitas seluruh kemungkinan nilai padavariabel tertentu (buah) dengan mengontrol variabel lainnya (kotak).

Kemudian, kamu ingin melakukan percobaan lain. Kali ini kamu mengam-bil 2 buah sekaligus dari kedua kotak. Kamu ingin mengetahui berapakahprobabilitas mengambil buah apel yang berasal dari kotak biru dan buahjeruk yang berasal dari kotak merah. Dalam kasus ini, kejadiannya adalah sal-ing bebas, artinya mengambil buah dari kotak biru, pada saat yang bersamaantidak akan mempengaruhi hasil pengambilan kotak merah. Apabila kedua ran-dom variable x dan y independent (tidak bergantung satu sama lain), makaP (x = X, y = Y ) = P (X) × P (Y ). Permasalahan mengambil buah dapatdihitung dengan persamaan 2.3.

P ((k = biru, b = apel) ∧ (k = merah, b = jeruk))

= P (k = biru, b = apel)× P (k = merah, b = jeruk)(2.3)

Aturan ini disebut aturan kali.Untuk joint probability, secara umum dapat ditulis sebagai P (x, y). Apa-

bila kedua variabel x dan y tidak saling bebas, maka keduanya disebut de-pendent . Artinya x dan y saling mempengaruhi. Apabila suatu variabel xdikondisikan (conditioned) oleh variabel lain (misal y). Maka probabilitas xadalah conditional probability function, ditulis P (x | y). Artinya probabilitasx yang dikondisikan oleh y. P (x | y) dapat dihitung dengan persamaan 2.4,

P (x | y) =P (x, y)

P (y)(2.4)

yaitu peluang kejadian x dan y muncul bersamaan dibagi dengan peluangkejadian y. Apabila x ternyata tidak dikondisikan oleh variabel y, maka P (x |y) = P (x).

2.2 Probability Density Function

Probability density function dikenal juga dengan istilah distribusi, yaitu ten-tang persebaran nilai. Sebagai contoh, penulis menceritakan pelajaran di seko-lah. Terdapat ujian mata pelajaran di kelas yang beranggotakan 10 siswa,diberikan pada Tabel 2.1. Terdapat 3 orang anak mendapatkan nilai 50, 2orang anak mendapatkan nilai 75 dan 80, 1 orang anak mendapatkan nilai100, 1 orang anak mendapat nilai 40, serta 1 orang anak mendapatkan nilai10.

Page 21: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

22 2 Fondasi Matematis

id nilai

1 502 753 804 1005 506 507 758 809 4010 10

Tabel 2.1. Contoh daftar nilai siswa

Guru ingin mengetahui persebaran (distribusi) nilai ujian untuk menen-tukan batas kelas nilai (misal nilai “A” adalah ≥ 85) jadi, ia mencari perse-baran nilai siswa. Ia menghitung seberapa mungkin siswa tertentu menda-pat nilai tertentu, dapat dilihat pada Gambar 2.2. Grafik itu disebut sebagaidistribusi. Fungsi yang menghasilkan distribusi tersebut disebut probabilitydensity function. Apabila kita menjumlahkan probabilitas (probabilitas siswamendapat nilai 0 - 100) nilainya adalah 1.

Histogram of data

Nilai

Pro

babi

litas

20 40 60 80 100

0.0

0.1

0.2

0.3

0.4

Gambar 2.2. Persebaran probabilitas nilai siswa

Page 22: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

2.4 Bayesian Probability 23

Ini adalah contoh untuk data diskrit, tetapi sering kali kita berurusandengan data kontinu. Untuk mengetahui nilai probabilitas dari himpunanevent/kejadian, kita dapat mengintegralkan kurva distribusi kejadian padainterval tertentu. Ciri probability density function, nilai dibawah kurva padainterval −∞ sampai ∞ adalah 1 (p(x) ≥ 0;

∫∞−∞ p(x)dx = 1).

2.3 Expectation dan Variance

Salah satu operasi paling penting dalam probabilitas adalah menemukan nilairata-rata (average) sebuah fungsi [8]. Hal ini disebut menghitung ekspektasi(expectation). Untuk sebuah fungsi f(x) dengan distribusi probabilitas ran-dom variable adalah p(x), nilai expectation diberikan pada persamaan 2.5.

E(f) =

{ ∑x p(x)f(x); diskrit∫p(x)f(x)dx; kontinu

(2.5)

Dalam kasus nyata, misalkan diberikan N buah sampel, random variablex dan fungsi f(x), dimana sampel tersebut diambil dengan distribusi tertentuyang kita tidak ketahui, maka fungsi untuk menghitung nilai expectation men-jadi persamaan 2.6,

E(f) ' 1

N

N∑i=1

f(xi) (2.6)

dimana xi merepresentasikan data ke-i (point). Perhatikan, persamaan terse-but sama dengan persamaan untuk menghitung rata-rata (mean atau µ)seperti yang sudah kamu pelajari di SMA. Untuk mengetahui seberapa vari-asi nilai f(x) di sekitar nilai rata-ratanya, kita menghitungnya mengunakanvariance, disimbolkan dengan var(f) atau σ2 (persamaan 2.7).

σ2 = var(f) = E(f(x)− E(f(x))2) (2.7)

Bila nilai variance tinggi, secara umum banyak variabel yang nilainya jauhdari nilai rata-rata. Interpretasi secara “geometris” mata, berarti distribusinyasemakin “lebar” seperti pada Gambar 2.3. Untuk fungsi dengan lebih darisatu variabel, kita menghitung covariance. Covariance adalah variance untukkombinasi variabel.

2.4 Bayesian Probability

Pada subbab sebelumnya, kita menghitung probabilitas dengan frekuensi ke-jadian yang dapat diulang. Pada pandangan Bayesian, kita ingin menguan-tifikasi ketidakpastian untuk kejadian yang mungkin sulit untuk diulang. Mis-alkan kita ingin tahu, seberapa peluang Mars dapat dihuni. Ini adalah sesuatuyang tidak dapat dihitung dengan frekuensi, maupun sebuah kejadian yang

Page 23: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

24 2 Fondasi Matematis

dapat diulangi (pergi ke mars, lihat berapa orang yang hidup). Akan tetapi,tentunya kita memiliki sebuah asumsi awal (prior). Dengan sebuah alat cang-gih baru, kita dapat mengumpulkan data baru tentang Mars. Dengan datatersebut, kita mengoreksi pendapat kita tentang Mars (posterior). Hal inimenyebabkan perubahan dalam pengambilan keputusan.

Pada keadaan ini, kita ingin mampu menguantifikasi ekspresi ketidakpas-tian; dan membuat revisi tentang ketidakpastian menggunakan bukti baru [8].Dalam Bayesian, nilai probabilitas digunakan untuk merepresentasikan dera-jat kepercayaan/ketidakpastian.

P (x | y) =P (y | x)P (x)

P (y)(2.8)

P (x) disebut prior, yaitu pengetahuan/asumsi awal kita. Setelah kitamengobservasi fakta baru y (dapat berupa sekumpulan data atau satu datapoint/event), kita mengubah asumsi kita. P (y | x) disebut likelihood func-tion. Likelihood function mendeskripsikan peluang data, untuk asumsi/ penge-tahuan tentang x yang berubah-ubah (x sebagai parameter yang dapatdiatur). Dengan likelihood function tersebut, kita mengoreksi pendapat akhirkita yang dapat digunakan untuk mengambil keputusan (posterior). Secaraumum probabilitas Bayesian mengubah prior menjadi posterior akibat adanyakepercayaan baru (likelihood).

posterior ∝ likelihood ∗ prior (2.9)

Teori ini hebat karena kita dapat mentransformasi P (x | y) dimana x depen-den terhadap y menjadi bentuk P (y | x) yang mana y dependen terhadap x.Transformasi ini sangat berguna pada berbagai macam persoalan.

Pada umumnya, untuk mengestimasi likelihood, digunakan maximum like-lihood estimator ; yang berarti mengatur nilai x untuk memaksimalkan nilaiP (y | x). Dalam literatur machine learning, banyak menggunakan negative logof likelihood function [8]. Ingat kembali nilai probabilitas 0 ≤ P ≤ 1. Kadan-gkala, nilai dibelakang koma (0.xxxx) sangatlah panjang, sehingga dapat ter-jadi underflow pada komputer. Kita menggunakan nilai logaritma probabili-tas untuk menghindari underflow. Nilai probabilitas 0 ≤ P ≤ 1 membuat ni-lai logaritmanya sebagaian besar negatif, secara monotonik bertambah, makamemaksimalkan nilai likelihood ekuivalen dengan meminimalkan negatif log-aritma probabilitas (contoh nyata akan diberikan pada subbab 2.5).

Perhatikan kembali persamaan 2.8, secara intuitif, posterior dipengaruhiprior, artinya bergantung pada sampel yang kita punya, karena prior didap-atkan/disimpulkan berdasarkan sampel. Hal ini berlaku pada machine learn-ing, kualitas model yang dihasilkan bergantung pada kualitas training data.

Pada umumnya, kita tidak mengetahui seluruh informasi tentang situasitertentu dan tidak mengetahui seluruh informasi probabilitas. Sebagai contoh,probabilitas P (x | y) dapat dihitung dengan P (x, y)/P (x). Tetapi, kita tidaktahu seberapa banyak kejadian (x, y) pada saat bersamaan. Oleh sebab itu,

Page 24: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

2.5 Gaussian Distribution 25

kita bisa menggunakan teori bayes untuk menghitung probabilitas denganinformasi lain yang kita tahu.

2.5 Gaussian Distribution

Distribusi adalah fenomena acak atau deskripsi matematis suatu random vari-able. Kamu harusnya sudah mengetahui distribusi ini. Ini adalah distribusiyang sangat terkenal yaitu bell curve/distribusi normal. Distribusi normaladalah bentuk khusus dari Gaussian distribution. Ada beberapa macam dis-tribusi yang akan dibahas pada bab ini, yaitu: Univariate Gaussian, Multivari-ate Gaussian, dan Gaussian Mixture Model. Pertama kita bahas UnivariateGaussian terlebih dahulu.

Disebut univariate karena distribusinya bergantung pada satu input vari-abel, misalkan x. Distribusi univariate Gaussian dikarakteristikkan oleh vari-abel x, mean (µ) dan variance (σ2) diberikan pada persamaan 2.10. µ danσ2 adalah rata-rata dan variance untuk kumpulan data. Karena nilai µ danσ2 bergantung pada x, maka kita dapat menyebutkan dengan aman bahwaunivariate gaussian bergantung pada satu variabel saja yaitu x.

N(x|µ, σ2) =1√

2πσ2exp

(− (x− µ)2

2σ2

)(2.10)

Gambar 2.3. Univariate Gaussian 1

Perhatikan Gambar 2.3, x adalah absis dan nilai N untuk x tertentu (per-samaan 2.10) adalah ordinat pada kurva ini. Bentuk distribusi berubah-ubahsesuai dengan nilai rata-rata (mean), serta variance. Semakin besar variance-nya, maka kurva distribusi semakin lebar (seperti yang dijelaskan sebelum-nya). Untuk menggeser-geser kurva ke kiri maupun ke kanan, dapat dilakukan

1 source: wikimedia.org by Inductiveload

Page 25: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

26 2 Fondasi Matematis

dengan menggeser nilai mean. Untuk mencari nilai pada suatu interval ter-tentu, cukup mengintegralkan fungsi pada interval tersebut. Nilai integralfungsi dari −∞, hingga ∞ adalah satu.

Sekarang bayangkan kita diberikan N buah data hasil observasi. Diasum-sikan observasi dihasilkan oleh distribusi univariate Gaussian dengan rata-rataµ dan variance σ2. Setiap data diambil secara independen dari distribusi yangsama, disebut independent and identically distributed (iid). Kita tahubahwa data yang independen, apabila dihitung probabilitasnya maka tersusunatas probabilitas masing-masing data, seperti pada persamaan 2.11.

p(x|µ, σ2) =

N∏i=1

N(xi|µ, σ2) (2.11)

Kita ingin mencari tahu bagaimana distribusi yang sebenarnya. Untuk itu,kita mengoptimalkan fungsi likelihood agar prior berubah menjadi posterior(distribusi yang sebenarnya). Tetapi hal ini sulit dilakukan, bahkan sebaliknyakita memaksimalkan log likelihood function berdasarkan data yang kita miliki.Logaritma secara monotonik akan bertambah nilainya. Memaksimalkan fungsilogaritma sebanding dengan meminimalkan error, hal ini diberikan pada per-samaan 2.12.

ln(p(x|µ, σ2)) = − 1

2σ2

N∑i=1

(xi − µ)2 − N

2ln(σ2)− N

2ln(2π) (2.12)

Untuk menyederhanakan pembahasan, solusi 2.12 diberikan langsung pada 2.132.

µ =1

N

N∑i=1

xi; σ2 =1

N

N∑i=1

(xi − µ)2 (2.13)

Dibanding langkah-langkah penurunannya, interpretasi berikut kemungk-inan lebih penting. Arti persamaan 2.13 adalah kita dapat mengestimasidistribusi populasi menggunakan sampel data yang kita miliki. Meandistribusi populasi diestimasi dengan mean sampel. Variance distribusi pop-ulasi diestimasi dengan variance sampel. Inilah jantung machine learning !Masih ingat materi bab 1? Pada machine learning, kita mengestimasi sesuatuyang kita tidak ketahui dengan sampel data yang kita miliki. Dengan katalain, kita menggunakan informasi probabilitas data yang kita ketahui untukmengestimasi kejadian yang belum pernah kita temui sebelumnya. Proses es-timasi akan dibahas lebih lanjut pada bab-bab lainnya.

Multivariate Gaussian adalah distribusi gaussian yang bergantung padalebih dari satu variabel. Sedangkan Gaussian Mixture Model (GMM) adalahgabungan dari satu atau lebih distribusi Gaussian. Masing-masing distribusi

2 Kamu dapat mencoba menurunkannya sebagai latihan!

Page 26: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

2.6 Teori Keputusan 27

Gaussian memiliki bobot yang berbeda di GMM. Konon katanya, GMM da-pat memodelkan fungsi apapun [12]. Ilustrasinya diberikan pada Gambar 2.4yang tersusun dari 3 buah Univariate gaussian. Distribusi populasi berwarnamerah, sedangkan GMM berwarna biru.

Gambar 2.4. Gaussian Mixture Model 3

2.6 Teori Keputusan

Diberikan himpunan pasangan data input-output (xi, yi);x = input, y =output/target; walaupun tidak pasti, kita ingin mengestimasi hubungan an-tara input dan output. Untuk itu kita melakukan estimasi p(y | x,w), dimanaw adalah learning parameters. Pada bab pertama, kamu telah mempelajaribahwa kita mampu melakukan hal ini dengan teknik machine learning. Lebihjauh lagi, kita juga harus mampu untuk membuat keputusan berbasiskanperkiraan nilai y, aspek ini disebut decision theory [8].

Dalam machine learning kita dapat membangun model dengan tujuanuntuk meminimalkan error atau meminimalkan loss; konsep meminimalkanerror dijelaskan pada materi curve fitting (bab 5). Ibaratnya untuk sebuahrobot, 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 [8]. Misalkankita diminta untuk membuat model klasifikasi kanker. Kita dapat mengklasi-fikasikan pasien menjadi dua kelas {kanker, normal}.

Apabila kita ingin meminimalkan error saja maka kita ingin mengklasi-fikasikan secara tepat orang yang kanker dianggap memiliki kanker dan yangtidak dianggap sebagai tidak. Akan tetapi, terdapat tradeoff yang berbedasaat salah klasifikasi. Apabila kita mengklasifikasikan orang yang normal se-bagai kanker, konsekuensi yang mungkin adalah membuat pasien menjadi

3 http://dirichletprocess.weebly.com/clustering.html

Page 27: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

28 2 Fondasi Matematis

stres atau perlu melakukan pemeriksaan ulang. Tetapi bayangkan, apabilakita mengklasifikasikan orang kanker sebagai normal, konsekuensinya adalahpenanganan medis yang salah. Kedua kasus ini memiliki beban yang berbeda.Secara formal, kasus ini disebut loss. Secara sederhana, kesalahan klasifikasimemiliki bobot berbeda untuk tiap kelasnya. Pada buku ini, kita anggap ke-salahan klasifikasi memiliki penalti yang sama. Dengan demikian, loss danerror akan mengacu pada hal yang sama di bab-bab berikutnya. Demi istilahyang lebih generik, loss akan lebih sering digunakan.

Fungsi tujuan pembelajaran (secara umum untuk merepresentasikan erroratau loss) dituangkan dalam utility function. Sekali lagi kami tekankan, tujuanmachine learning adalah memaksimalkan kinerja. Kinerja diukur berdasarkanutility function. Loss adalah ukuran seberapa dekat/berbeda modelyang dihasilkan dengan konsep asli, sementara error adalah salah satucara untuk mengukur loss.

Untuk mengukur nilai loss; dapat diekspresikan dengan loss function. Se-cara umum, ada dua macam loss, yaitu generalization loss/error dantraining loss/error. Generalization loss/error adalah ukuran sejauh manaalgoritma mampu memprediksi unobserved data dengan tepat (saat testing),karena kita hanya membangun model dengan data yang terbatas, tentunyabisa saja terdapat ketidakcocokan dengan data yang asli. Sedangkan trainingloss/error seperti namanya, ukuran loss saat training. Misalkan q(x) adalahdistribusi data asli. Menggunakan sampel data dengan distribusi p(x), gen-eralization loss dan training loss dihitung dengan persamaan 2.14 dan per-samaan 2.15.

G(q, p) =

∫q(x)log(p(x))dx (2.14)

T (p) =1

N

N∑i=1

log(p(x)) (2.15)

Tentunya sekarang kamu bertanya-tanya. Kita tidak mengetahui bagaimanaq(x) aslinya, bagaimana cara menghitung generalization loss? Nah, untuk it-ulah ada teknik-teknik pendekatan distribusi populasi q(x), misalnya max-imum likelihood method, maximum posterior method dan Bayesianmethod (silahkan dieksplorasi). Bentuk persamaan 2.15 memiliki kaitan den-gan confidence. Konsep ini akan dijelaskan lebih detil pada bab 5.

Secara lebih filosofis, berkaitan dengan meminimalkan loss; tugas machinelearning adalah untuk menemukan struktur tersembunyi (discovering hiddenstructure). Hal ini sangat erat kaitannya dengan knowledge discovery dan datamining. Bila kamu membuka forum di internet, kebanyakan akan membahasperihal learning machine yang memaksimalkan akurasi (meminimalkan er-ror). Selain harus memaksimalkan akurasi (meminimalkan salah assignment),kita juga harus mampu membuat model yang cukup generik. Artinya tidakhanya memiliki kinerja tinggi pada training data, tapi juga mampu memiliki

Page 28: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

2.7 Teori Informasi 29

kinerja yang baik untuk unseen data. Hal ini dapat tercapai apabila modelyang dihasilkan melakukan inferensi yang mirip dengan inferensi sebenarnya(konsep asli). Kami tekankan kembali, meminimalkan loss adalah hal yanglebih penting, dimana meminimalkan error dapat digunakan sebagai sebuahproxy untuk mengestimasi loss4.

2.7 Teori Informasi

Kami tidak akan membahas bagian ini terlalu detail, jika kamu membacabuku, topik ini sendiri bisa mencapai satu buku [13]. Mudah-mudahan babini dapat memberikan gambaran (serius, ini sekedar gambaran!). InformationTheory/Teori Informasi menjawab dua pertanyaan fundamental, pertama:bagaimana cara kompresi data terbaik (jawab: entropy); kedua: apakah caratransmisi komunikasi terbaik (jawab: channel capacity) [13]. Dalam statisti-cal learning theory, fokus utama adalah menjawab pertanyaan pertama, yaitubagaimana melakukan kompresi informasi. Contoh aplikasi entropy adalahdecision tree learning.

Pada machine learning, kita ingin fitur pembelajaran yang digunakanmampu melambangkan information source properties. Artinya, kita inginmemilih fitur yang memuat informasi terbanyak (relatif terhadap informationsource). Karena hal tersebut, mengerti entropy menjadi penting. Ada sebuahstrategi pemilihan fitur (feature selection) dengan membangun decision tree.Awalnya kita bentuk training data dengan semua kemungkinan fitur, kemu-dian mengambil beberapa fitur yang dekat dengan root. Hal tersebut dimak-sudkan untuk mencari fitur yang memuat banyak informasi. Kemudian, fiturtersebut dapat dicoba pada algoritma learning lainnya. Detil akan dijelaskanpada bab yang memuat decision tree.

2.7.1 Entropy

Diberikan sebuah random variabel x, kita ingin mengetahui seberapa banyakinformasi yang kita dapatkan ketika kita mengobservasi sebuah nilai spesifikxi. Kuantitas informasi yang kita dapatkan bisa dipandang sebagai “degreeof surprise” [8]. Misalkan kita mengetahui seorang teman A sering makan eskrim. Suatu ketika kita diberitahu bahwa dia sedang makan es krim, tentukita tidak heran lagi karena hal tersebut sudah lumrah. Tetapi, apabila kitadiberitahu bahwa teman A tidak memakan es krim yang diberikan temanB (padahal kita tahu dia suka), maka akan ada efek “kaget”. Kasus keduamemuat lebih banyak informasi karena suatu kejadian yang seharusnya tidakmungkin, terjadi. Hal ini dikuantifikasi dengan persamaan Shannon En-tropy 2.16.

4 Untuk banyak kasus.

Page 29: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

30 2 Fondasi Matematis

S(x) = −N∑i=1

p(xi)log(p(xi)) (2.16)

Mari kita ambil contoh dari Bishop [8]. Misalkan sebuah random variablex memiliki 8 kemungkinan kejadian yang kemungkinannya sama (yaitu 1

8 ).Entropy untuk kasus ini adalah (log dalam basis 2) diberikan oleh

S = −81

8log(

1

8) = 3 (2.17)

Sekarang mari kita ambil contoh dari [13]. Misalkan sebuah random vari-able x memiliki 8 kemungkinan kejadian {a, b, c, d, ..., h} dengan peluang

12 ,

14 ,

18 ,

116 ,

164 ,

164 ,

164 ,

164

Maka entropy-nya adalah 2. Dari contoh ini, kita tahu bahwa distribusi yanguniform memiliki entropy yang lebih besar dibanding distribusi yang tidakuniform. Banyaknya informasi sebanding dengan penurunan nilai entropy.

Seperti yang telah diceritakan sebelumnya, event yang memiliki “efekkaget” memiliki banyak informasi. Dari sisi information transmission, da-pat diinterpretasikan kita dapat mengirimkan data sebuah distribusi denganjumlah bit lebih sedikit untuk distribusi yang uniform. Distribusi yang mem-berikan nilai entropy maksimal adalah distribusi Gaussian [8]. Nilai entropybertambah seiring variance distribusi bertambah. Dari sisi fisika, kamu dapatmempelajari entropy pada statistical mechanics (microstate, macrostate).

2.7.2 Relative Entropy dan Mutual Information

Kami harap kamu masih ingat materi bab 1, karena materi bagian ini jugamenyinggung kembali materi tersebut. Misalkan kita mempunyai data denganprobability density function q(x). Sebuah learning machine mengaproksimasidata tersebut dengan probability density function p(x). Ingat! Machine learn-ing adalah pendekatan (approximation). Ketika kita melakukan aproksimasi,seringkali aproksimasi yang dilakukan tidaklah tepat seperti pada Gambar 2.5.

Tentunya kita ingin tahu seberapa bagus aproksimasi kita, untuk men-gukurnya terdapat sebuah perhitungan yang bernama Kullback-LeiblerDivergence (KL-divergence). Secara konseptual, dirumuskan sebagai per-samaan 2.18. Perlu diperhatikan KL(q||p) 6= KL(p||q) (kecuali p = q).

KL(q||p) = −∫q(x)log

(q(x)

p(x)

)dx (2.18)

Persamaan 2.18 dapat diminimalkan jika dan hanya jika q(x) = p(x). Kitadapat menganggap KL-divergence sebagai ukuran seberapa jauh aproksimasidan distribusi populasi. Akan tetapi, kita tidak mengetahui q(x). Karena itu,kita harus mengaproksimasi KL-divergence. Misalkan kita diberikan train-ing data x = {x1, x2, ...xn} yang kita asumsikan diambil (drawn) dari suatudistribusi q(x). Lalu kita membuat learning machine p(x | w). Ekspektasi

Page 30: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

2.8 Matriks 31

Gambar 2.5. Information source vs learning machine

terhadap q(x) dapat diaproksimasi dengan menggunakan data sampel ini, se-hingga menjadi persamaan 2.19 [8].

KL(q||p) ≈ 1

N

N∑i=1

(−log(p(xi | w)) + log(q(xi))) (2.19)

KL-divergence disebut juga sebagai relative entropy5. Dari sisi pemros-esan informasi, KL-divergence dapat diinterpretasikan sebagai berapa infor-masi tambahan rata-rata untuk mengirimkan data distribusi dengan meng-gunakan fungsi aproksimasi dibanding menggunakan distribusi sebenarnya,seberapa pengurangan ketidakyakinan terhadap posterior seiring diberikan-nya data observasi yang baru. Dengan kata lain, seiring diberikan obser-vasi yang baru, kita semakin yakin terhadap nilai posterior (semakinbanyak jumlah sampel yang kita miliki maka model lebih dapat dipercaya).

2.8 Matriks

Subbab ini adalah pengingat untuk operasi perjumlahan, pengurangan, per-kalian, dan transpose matriks karena banyak digunakan di buku ini. Diberikan

5 kamu dapat mencoba library entropy di scipy (python) untuk mendapat gam-baran lebih detilhttps://docs.scipy.org/doc/scipy/reference/generated/scipy

.stats.entropy.html

Page 31: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

32 2 Fondasi Matematis

dua buah matriks U dan V. U dan V dapat dijumlahkan jika dan hanya jikadimensi kedua matriks itu sama. Perjumlahan matriks dinotasikan denganU + V = C. Matriks C memiliki dimensi yang sama dengan U dan V. Nilaielemen baris ke-i dan kolom ke-j (Ci,j) dihitung sebagai penjumlahan nilaielemen matriks U dan V pada baris dan kolom yang bersesuaian, sepertidiilustrasikan pada persamaan 2.20. Pengurangan dua buah matriks dilakukanserupa.

Ci,j = Ui,j + Vi,j (2.20)

Dua buah matriks U dan V dapat dikalikan jika U memiliki kolom se-banyak baris pada V. Misalkan matriks U berdimensi N ×M dan V berdi-mensi M×O, maka kedua matriks tersebut dapat dikalikan dan menghasilkanmatriks C dengan dimensi N × O (dimensi baris U dan kolom V), dimanatiap elemen pada matriks C dihitung dengan persamaan 2.21 (operasi antaravektor baris dan vektor kolom).

Cx,y =

M∑i=1

Ux,i + Vi,y (2.21)

Selain perkalian antar dua buah matriks, sebuah matriks juga dapat dikalikandengan skalar, dinotasikan dengan aU. Hasil perkalian adalah sebuah matriksdengan dimensi yang sama dengan U, dimana tiap elemen dikalikan dengannilai skalar.

(aU)i,j = a×Ui,j (2.22)

Suatu matriks U berdimensi N ×M apabila di transpose menghasilkanmatriks UT berdimensi M×N , dimana elemen ke-i, j pada matriks UT adalahelemen ke-j, i pada matriks U, seperti diilustraiskan pada persamaan 2.21.

UTi,j = Uj,i (2.23)

Ada satu istilah lagi yang perlu kamu ketahui yaitu tensor. Tensor adalahgeneralisasi untuk vektor (1 dimensi) dan matriks (2 dimensi) yang memilikiNdimensi. Tensor sering digunakan untuk notasi pada artificial neural network.Tetapi demi kemudahan pengertian, penulis menggunakan notasi matriks.

2.9 Bacaan Lanjutan

Untuk lebih mengerti, silahkan membaca buku statistical mechanis oleh Hi-toshi Nishimori [14], buku probabilitas dan statistika oleh Walpole et al. [15]atau Brian Caffo [10], buku aljabar linear oleh Gilbert Strang [16] dan bukustatistical learning theory oleh James et al. [17].

Page 32: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

2.9 Bacaan Lanjutan 33

Soal Latihan

2.1. KL-divergenceCari tahu lebih lanjut apa itu Kullback-Leibler (KL) Divergence. Apa hubun-gan KL-divergence dengan utility function? Pada kasus apa saja kita dapatmenggunakan KL-divergence sebagai utility function?

2.2. Utility FunctionSelain utility function yang telah disebutkan, sebutkan dan jelaskan utilityfunction lainnya!

2.3. Gaussian Mixture Model

(a) Sebutkan algoritma-algoritma machine learning yang (in a sense) bisamengaproksimasi Gaussian Mixture Model !

(b) Apa yang begitu spesial pada GMM sehingga algoritma machine learingmencoba mengaproksimasi GMM?

Page 33: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

3

Data Analytics

“Hiding within those mounds ofdata is knowledge that couldchange the life of a patient, orchange the world”

Atul Butte

Bab ini memuat penjelasan tahapan-tahapan umum untuk analisis data,serta beberapa karakteristik tipe data. Materi pada bab ini dapat dianggapsebagai kerangka berpikir (framework) atau langkah kerja. Karena buku inihanya bersifat pengantar, materi yang disampaikan mungkin kurang lengkap.Penulis menyarankan pembaca untuk membaca buku oleh Witten et al. [18]dan Jeff Leek [19].

3.1 Pengenalan Data Analytics

Secara umum, subbab ini adalah ringkasan dari buku Jeff Leek [19]. Un-tuk detailnya, kamu dapat membaca buku tersebut secara langsung. Penulismerekomendasikan buku tersebut karena ringkas dan mudah dipahami bahkanoleh pemula.

Kita tahu di dunia ini ada banyak masalah. Masalah adalah ketika tujuanyang diinginkan tidak tercapai (current state bukanlah desired state). Agarcurrent state menjadi desired state, kita melakukan kegiatan yang disebutpenyelesaian masalah (problem solving). Tiap bidang (domain) mendefinisikanpermasalahan secara berbeda. Oleh karena itu, mengetahui teknik machinelearning tanpa mengetahui domain aplikasi adalah sesuatu yang kurang baik(semacam buta). Kamu memiliki ilmu, tetapi tidak tahu ilmunya mau di-gunakan untuk apa. Contohnya, bidang keilmuan pemrosesan bahasa alami(natural language processing) menggunakan machine learning untuk mengk-lasifikasikan teks; bidang keilmuan pemrosesan suara menggunakan machine

Page 34: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

36 3 Data Analytics

learning untuk mentranskripsikan suara manusia menjadi teks. Tiap bidangmerepresentasikan permasalahan ke dalam formulasi yang berbeda. Bisa jadibentuk komputasi (representasi) pada bidang satu berbeda dengan bidanglainnya. Hal ini perlu kamu ingat karena interpretasi representasi sangatbergantung pada konteks permasalahan (domain). Buku ini adalah penge-nalan teknik yang bersifat umum.

Seperti yang sudah dijelaskan pada bab-bab sebelumnya. Machine learn-ing adalah inferensi berdasarkan data. Raw data atau data mentah adalahsekumpulan fakta (record, event) yang kemungkinan besar tidak memberikanpenjelasan apapun. Sama halnya dengan kebanyakan data di dunia nyata, rawdata bersifat tidak rapih, misalnya mengandung missing value atau ada datayang tidak memiliki label padahal data lainnya memiliki label (ingat kem-bali materi bab 1). Agar mampu menganalisis raw data menggunakan teknikmachine learning, pertama-tama kita harus merapikan data sesuai denganformat yang kita inginkan (dataset). Setelah itu, kita menggunakan teknik-teknik yang ada untuk menemukan pola-pola yang ada di data. Dalam komu-nitas peneliti basis data, dipercaya bahwa data memiliki sangat banyak relasiyang mungkin tidak bisa dihitung. Teknik machine learning hanya mampumengeksplorasi sebagian relasi yang banyak itu. Lalu, kita analisis informasiyang kita dapatkan menjadi pengetahuan yang digunakan untuk memecahkanpermasalahan atau membuat keputusan.

Setelah kita menganalisis data dan mendapatkan pengetahuan baru, penge-tahuan yang kita temukan dari data pada umumnya dipresentasikan (konfer-ensi, rapat, dsb). Hal umum yang dipaparkan saat presentasi, yaitu:

1. Performance measure. Seberapa “bagus” model/ metode yang kamu buat/ajukan, dibandingkan menggunakan teknik-teknik yang sudah ada. Per-formance measure biasa disajikan dalam bentuk tabel. Perhatikan, men-gatakan model/metode kamu “lebih bagus” adalah suatu hal subjektif,untuk itu gunakanlah metode kuantitatif, seperti p-value dalam statis-tik (hypothesis testing1) untuk mengatakan bahwa memang metode kamulebih baik (berbeda) dari baseline.

2. Tren. Bagaimana pola-pola umum yang ada di data, sesuai dengan tujuananalisis (permasalahan). Biasa disajikan dalam bentuk teks, kurva, ataugrafik.

3. Outlier. Sajikan data-data yang “jarang” atau tidak sesuai dengan trenyang ada. Apa beda sifat data outlier ini dibanding data pada tren?Kamu harus menganalisis hal ini untuk meningkatkan performance mea-sure pada penelitian/analisis mendatang. Apakah outlier ini penting un-tuk diurus atau bisa dipandang sebelah mata tanpa membahayakan kepu-tusan/sistem? Tidak jarang kamu mendapat inspirasi untuk meningkatkan

1 https://onlinecourses.science.psu.edu/statprogram/node/138

Page 35: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

3.2 Nilai Atribut dan Transformasi 37

id outlook temperature humidity windy play (class)

1 sunny hot high false no2 sunny hot high true no3 overcast hot high false yes4 rainy mild high false yes5 rainy cool normal false yes6 rainy cool normal true no7 overcast cool normal true yes8 sunny mild high false no9 sunny cool normal false yes10 rainy mild normal false yes11 sunny mild normal true yes12 overcast mild high true yes13 overcast hot normal false yes14 rainy mild high true no

Tabel 3.1. Contoh dataset play tennis (UCI machine learning repository)

kinerja sistem setelah menganalisis outlier.

Langkah kerja yang dijelaskan ini adalah pekerjaan rutin data scientist.Penulis ingin menekankan sekali lagi, bahwa memahami machine learningsaja tidak cukup, kamu harus memahami domain permasalahan agarmampu melakukan analisis dengan tepat. Terdapat banyak hal yang hanyamampu kamu pahami dari menganalisis data, apabila kamu mengerti domainaplikasi.

3.2 Nilai Atribut dan Transformasi

Perhatikan Tabel 3.1 yang merupakan contoh dataset pada machine learning.Dataset adalah kumpulan data. Seorang anak ingin bermain tenis, tetapikeputusannya untuk bermain tenis (play) tergantung pada empat variabel{outlook, temperature, humidity, windy}. Keempat variabel ini disebut fitur.Setiap fitur memiliki atribut nilai dengan tipe data dan range tertentu.Keputusan untuk bermain (play) disebut sebagai label atau kelas (class).Pada bab 1 kamu telah diperkenalkan supervised learning dan unsupervisedlearning. Pada supervised learning, kita ingin mengklasifikasikan apakah seo-rang anak akan bermain atau tidak, diberikan fitur-fitur yang memuat kondisiobservasi. Pada unsupervised learning, informasi kolom play tidak diberikan,kita harus mengelompokkan data tersebut sesuai dengan fitur-fiturnya (con-toh lebih nyata diberikan pada bab 4).

Dari segi data statistik, terdapat beberapa tipe atribut [20]:

1. Nominal. Nilai atribut bertipe nominal tersusun atas simbol-simbol yangberbeda, yaitu suatu himpunan terbatas. Sebagai contoh, fitur outlook

Page 36: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

38 3 Data Analytics

pada Tabel 3.1 memiliki tipe data nominal yaitu nilainya tersusun olehhimpunan {sunny, overcast, rainy}. Pada tipe nominal, tidak ada urutanataupun jarak antar atribut. Tipe ini sering juga disebut kategorial atauenumerasi. Secara umum, tipe output pada supervised learning adalahdata nominal.

2. Ordinal. Nilai ordinal memiliki urutan, sebagai contoh 4 > 2 > 1. Tetapijarak antar suatu tipe dan nilai lainnya tidak harus selalu sama, seperti4−2 6= 2−1. Atribut ordinal kadang disebut sebagai numerik atau kon-tinu.

3. Interval. Tipe interval memiliki urutan dan range nilai yang sama. Seba-gai contoh 1 − 5, 6 − 10, dst. Kita dapat mentransformasikan/ mengkon-versi nilai numerik menjadi nominal dengan cara merubahnya menjadiinterval terlebih dahulu. Lalu, kita dapat memberikan nama (simbol) un-tuk masing-masing interval. Misalkan nilai numerik dengan range 1− 100dibagi menjadi 5 kategori dengan masing-masing interval adalah {1 −20, 21 − 40, . . . , 81 − 100}. Setiap interval kita beri nama, misal interval81− 100 diberi nama nilai A, interval 61− 80 diberi nama nilai B.

4. Ratio. Tipe ratio (rasio) didefinisikan sebagai perbandingan antara suatunilai dengan nilai lainnya, misalkan massa jenis (fisika). Pada tipe ratioterdapat absolute zero (semacam ground truth) yang menjadi acuan, danabsolute zero ini memiliki makna tertentu.

Secara umum, data pada machine learning adalah nominal atau numerik(ordinal). Variabel yang kita prediksi yaitu play disebut kelas/class/label.Untuk setiap baris pada Tabel 3.1, baris kumpulan nilai variabel non-kelasdisebut vektor fitur/feature vector . Contohnya pada Tabel 3.1 id = 4,feature vector -nya adalah {outlook=rainy, temperature=mild, humidity=high,windy=false}. Feature vector adalah representasi dari suatu observasi/data.Pada machine learning, kita melakukan operasi terhadap data pada represen-tasi feature vector -nya. Kami serahkan pada pembaca untuk mencari contohdataset dengan tipe numerik sebagai pekerjaan rumah2.

3.3 Ruang Konsep

Dengan data yang diberikan, kita ingin melakukan generalisasi aturan/ kon-sep yang sesuai dengan data. Hal ini disebut sebagai inductive learning. Carapaling sederhana untuk inductive learning adalah mengenumerasi seluruh ke-mungkinan kombinasi nilai sebagai rule, kemudian mengeleminasi rule yangtidak cocok dengan contoh. Metode ini disebut list-then-eleminate. Silahkan

2 https://www.cs.waikato.ac.nz/ml/weka/datasets.html

Page 37: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

3.4 Linear Separability 39

baca buku Tom Mitchell [4] untuk penjelasakn lebih rinci. Kemungkinan kom-binasi nilai ini disebut sebagai ruang konsep (concept space). Sebagai contohpada Tabel 3.1 himpunan nilai masing-masing atribut yaitu:

• outlook = {sunny, overcast, rainy}• temperature = {hot,mild, cold}• humidity = {high, normal}• windy = {true, false}• play = {yes, no}

sehingga terdapat 3×3×2×2×2 = 72 kemungkinan kombinasi. Tentunya kitatidak mungkin mengenumerasi seluruh kemungkinan kombinasi nilai karenasecara praktikal, atribut yang digunakan banyak. Terlebih lagi, apabila men-genumerasi kombinasi atribut bertipe numerik.

Ada algoritma lain yang mendaftar “seluruh kemungkinan kombinasi”bernama candidate-elemination algorithm yang lebih efisien dibanding list-then-eliminate. Akan tetapi, algoritma ini computationally expensive secarapraktikal, dalam artian memiliki kompleksitas yang besar dan tidak bisamenyelesaikan permasalahan nyata. Kamu dapat membaca algoritma inipada buku Tom Mitchell [4] juga. Selain inductive learning, kita juga dapatmelakukan deductive learning yaitu melakukan inferensi dari hal general men-jadi lebih spesifik. Walau demikian, secara praktis kita sebenarnya melakukaninductive learning.

3.4 Linear Separability

id humidity windy swim (class)

1 high high yes2 normal normal no

Tabel 3.2. Contoh dataset linearly separable

Perhatikan Tabel 3.2. Data pada tabel tersebut kita sebut linearly sepa-rable . Sederhananya, untuk suatu nilai tertentu, fitur hanya berkorespondensidengan kelas tertentu. Ambil contoh pada Tabel 3.2, saat humidity=high makaswim=yes. Secara “geometris”, bila kita proyeksikan feature vector ke suaturuang dimensi, memisahkan kelas satu dan kelas lainnya dapat diperoleh den-gan cara menciptakan garis linier (linear line – secara lebih umum, menggu-nakan hyperplane3). Ilustrasi dapat dilihat pada Gambar 3.1. Sementara padaTabel 3.1, bila kita hanya melihat fitur humidity saja, ketika humidity=highbisa jadi play=yes atau play=no. Kasus ini disebut non-linearly separable.

3 https://en.wikipedia.org/wiki/Hyperplane

Page 38: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

40 3 Data Analytics

Hidup kita tentu akan mudah apabila seluruh data bersifat linearly separable,sayangnya kebanyakan data yang ada bersifat non-linearly separable.

Gambar 3.1. Linearly vs Non-Linearly Separable

Untuk memudahkan proses pada data non-linearly separable, kita pertama-tama mentransformasikan data menjadi linearly-separable. Kita dapat meng-gunakan teknik transformasi data menggunakan kernel function seperti radialbasis function4. Pada umumnya, kernel function mentransformasi data men-jadi lebih tinggi (semacam menambah fitur). Misal dari data yang memilikidua fitur, ditransformasi menjadi memiliki tiga fitur. Akan tetapi, hal initidak praktikal untuk banyak kasus (dijelaskan pada bab 11). Cara lainnyaadalah memisahkan data menggunakan model non-linear, contoh: artificialneural network. Hal ini penting dipahami karena data yang bersifat linearlyseparable mudah dipisahkan satu sama lain sehingga mudah untuk melakukanclassification atau clustering.

3.5 Seleksi Fitur

Pada subbab sebelumnya, telah dijelaskan bahwa kita dapat mentransformasidata non-linearly separable menjadi linearly separable dengan cara menam-bah dimensi data. Pada bab ini, penulis akan menjelaskan justru kebalikan-nya! Pada permasalahan praktis, kita seringkali menggunakan banyak fitur(computationally expensive). Kita ingin menyederhanakan fitur-fitur yang di-gunakan, misalkan dengan memilih subset fitur awal, atas dasar beberapaalasan [19, 4]5:

1. Menyederhanakan data/model agar lebih mudah dianalisis.

4 Silakan baca teknik transformasi lebih lanjut pada literatur lain.5 https://en.wikipedia.org/wiki/Feature_selection

Page 39: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

3.6 Classification, Association, Clustering 41

2. Mengurangi waktu training (mengurangi kompleksitas).3. Menghindari curse of dimensionality. Hal ini dijelaskan lebih lanjut pada

bab 12.4. Menghapus fitur yang tidak informatif.5. Meningkatkan generalisasi dengan mengurangi overfitting.

Salah satu contoh cara seleksi fitur adalah menghapus atribut yang memi-liki variance bernilai 0. Berdasarkan information theory atau entropy, fiturini tidak memiliki nilai informasi yang tinggi. Dengan kata lain, atribut yangtidak dapat membedakan satu kelas dan lain bersifat tidak informatif. Kamudapat membaca beberapa contoh algoritma seleksi fitur pada library sklearn6.

3.6 Classification, Association, Clustering

Pada supervsied learning, kita memprediksi kelas berdasarkan feature vectoryang merepresentasikan suatu instans (data/observasi). Feature vector bisadiibaratkan sebagai sifat-sifat atau keadaan yang diasosiasikan dengan kelas.Pada supervised learning, setiap feature vector berkorespondisi dengan kelastertentu. Mencari kelas yang berkorespondensi terhadap suatu input dise-but klasifikasi (classification). Contoh klasifikasi adalah mengkategorikangambar buah (e.g. apel, jeruk, dsb). Sementara itu, apabila kita ingin mencarihubungan antara satu atribut dan atribut lainnya, disebut association. Se-bagai contoh pada Tabel 3.1, apabila outlook = sunny, maka sebagian besarhumidity = high. Di lain pihak, pada unsupervised learning tidak ada ke-las yang berkorespondensi; kita mengelompokkan data dengan sifat-sifat yangmirip, disebut clustering . Contoh clustering adalah pengelompokkan barangdi supermarket. Perlu kamu catat bahwa unsupervised learning 6= clustering.Clustering adalah salah satu task pada unsupervised learning.

Pada Tabel 3.1, hanya ada dua kelas, klasifikasi data ini disebut binaryclassification . Apabila kelas klasifikasi lebih dari dua, disebut multi-classclassification/multi-label classification . Mohon bedakan antara multi-class classification dan multi-level/hierarchical classification. Padamulti-level/hierarchical classification, pertama-tama kita melakukan klasi-fikasi untuk suatu kelas generik, lalu dilanjutkan mengklasifikan data ke kelasyang lebih spesifik. Contoh multi-level classification adalah kingdom (biologi),pertama diklasifikasikan ke kingdom animalia, lalu lebih spesifiknya ke phylumVertebrata, dst. Multi-class/multi-label classification hanya proses klasifikasike dalam banyak “kelas” tanpa tinjauan hirarkis. Klasifikasi yang telah dise-butkan sebelumnya disebut juga sebagai hard classification, artinya apabiladata diklasifikasikan ke kelas tertentu, maka tidak mungkin data berada dikelas lainnya (ya atau tidak). Selain hard classification, ada juga yang dise-but sebagai soft classification, yaitu mengklasifikasikan data ke kelas-kelas

6 http://scikit-learn.org/stable/modules/feature_selection.html

Page 40: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

42 3 Data Analytics

tertentu berdasarkan probabilitas (fuzzy). Misalkan data X memiliki 70%probabilitas sebagai kelas A dan 30% sebagai kelas B.

3.7 Mengukur Kinerja

Pada bab 1, sudah dijelaskan bahwa kita harus mengukur kinerja model den-gan cara yang kuantitatif. Salah satu contoh utility function yaitu squarederror function (dijelaskan kemudian pada bab 5). Selain error function,kamu juga dapat membandingkan kinerja dengan menggunakan fungsi lainnyaseperti akurasi, presisi, recall, F1-measure, BLEU [21], ROUGE [22], intra-cluster similarity, dsb. Masing-masing utility function mengukur hal yangberbeda. Perlu kamu ketahui bahwa memilih ukuran kinerja tergantung padadomain permasalahan. Misalkan pada translasi otomatis, peneliti menggu-nakan ukuran BLEU; pada peringkasan dokumen, menggunakan ROUGE.Sementara itu, pada information retrival/sistem temu balik informasi meng-gunaan presisi, recall, F1-measure, atau mean average precision (MAP). Padadomain klasifikasi gambar, menggunakan akurasi. Masing-masing utility func-tion dapat memiliki cara mencapai titik optimal yang berbeda. Kamu harusmengerti domain permasalahan untuk mengerti cara mencapai titik optimal.Sebagai pengantar, diktat ini tidak dapat membahas seluruh domain. Dengandemikian, kamu harus membaca lebih lanjut literatur spesifik domain, misalbuku pemrosesan bahasa alami atau sistem temu balik informasi, dsb. Seba-gai contoh, untuk permasalahan klasifikasi, akurasi sering digunakan. Akurasididefinisikan pada persamaan 3.1

akurasi =#input diklasifikasikan dengan benar

banyaknya data(3.1)

3.8 Evaluasi Model

Ada beberapa hal yang perlu kamu catat tentang proses evaluasi suatu modelpembelajaran mesin:

1. Data splitting. Seperti yang sudah dijelaskan pada subbab 1.5, padaumumnya kita memiliki training, validation/development, dan testingdata. Mesin dilatih menggunakan training data, saat proses training,performance measure diukur berdasarkan kemampuan mengenali/ men-generalisasi validation data. Perlu diketahui, performance measure diukurmenggunakan validation data untuk menghindari overfitting dan under-fitting. Setelah selesai dilatih, maka model hasil pembelajaran dievaluasidengan testing data. Training, validation, dan testing data tersusun olehdata yang independen satu sama lain (tidak beririsan) untuk memastikanmodel yang dihasilkan memiliki generalisasi cukup baik.

Page 41: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

3.8 Evaluasi Model 43

2. Overfitting dan Underfitting. Overfitting adalah keadaan ketika modelmemiliki kinerja baik hanya untuk training data/seen examples tetapitidak memiliki kinerja baik untuk unseen examples. Underftting adalahkeadaan ketika model memiliki kinerja buruk baik untuk training datadan unseen examples. Hal ini akan dibahas lebih detil pada subbab 5.7.

3. Cross validation. Cross validation adalah teknik untuk menganalisisapakah suatu model memiliki generalisasi yang baik (mampu memilikikinerja yang baik pada unseen examples). Seperti yang kamu ketahui,kita dapat membagi data menjadi training, validation, dan testing data.Saat proses training, kita latih model dengan training data serta dievalu-asi menggunakan validation data. Teknik cross validation bekerja denganprinsip yang sama, yaitu membagi sampel asli menjadi beberapa subsam-pel dengan partisi sebanyak K (K-fold). Ilustrasi diberikan oleh Gam-bar 3.2. Persegi panjang melambangkan suatu instans. Saat proses train-ing, kita bagi data menjadi training data dan test data (i.e., validationdata). Hal ini diulang sebanyak K kali. Kita evaluasi kemampuan gener-alisasi model dengan merata-ratakan kinerja pada tiap iterasi. Setelah itu,model dengan kinerja terbaik (pada iterasi teretentu) digunakan lebih lan-jut untuk proses testing atau dipakai secara praktis. Perlu diperhatikan,setiap subsampel sebaiknya memiliki distribusi yang sama dengan sampelaslinya (keseluruhan sampel); i.e., pada contoh, proporsi warna biru danmerah adalah sama tiap partisi tiap iterasi. Konsep tersebut lebih dikenaldengan stratified sampling7.

Gambar 3.2. Ilustrasi 3-fold cross validation

7 https://en.wikipedia.org/wiki/Stratified_sampling

Page 42: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

44 3 Data Analytics

3.9 Kategori Jenis Algoritma

Algoritma pembelajaran mesin dapat dibagi menjadi beberapa kategori. Darisudut pandang apakah algoritma memiliki parameter yang harus dioptimasi,dapat dibagi menjadi8:

1. Parametrik. Pada kelompok ini, kita mereduksi permasalahan sebagaioptimisasi parameter. Kita mengasumsikan permasalahan dapat dilam-bangkan oleh fungsi dengan bentuk tertentu (e.g., linear, polinomial, dsb).Contoh kelompok ini adalah model linear.

2. Non parametrik. Pada kelompok ini, kita tidak mengasumsikan per-masalahan dapat dilambangkan oleh fungsi dengan bentuk tertentu. Con-toh kelompok ini adalah Naive Bayes, decision tree (ID3) dan K-NearestNeighbors.

Dari sudut pandang lainnya, jenis algoritma dapat dibagi menjadi:

1. Model linear, contoh regresi linear, regresi logistik, support vector ma-chine.

2. Model probabilistik, contoh Naive Bayes, hidden markov model.3. Model non-linear, yaitu (typically) artificial neural network.

Selain kedua skema pengkategorian ini, terdapat skema pengkategorian lain(silahkan eksplorasi sendiri).

3.10 Tahapan Analisis

Bagian ini adalah ringkasan bab ini. Untuk menganalisis data, terdapatlangkah yang perlu kamu perhatikan

1. Memutuskan tujuan analisis data (defining goal)2. Mendapatkan data3. Merapihkan data4. Merepresentasikan data sebagai feature vector5. Melakukan transformasi dan/atau feature selection (mengurasi dimensi

feature vector)6. Melatih model (training)7. Melakukan testing dan analisis model baik secara kuantitatif dan kuali-

tatif8. Menyajikan data (presentasi)

8 Artificial Neural Network dapat dikategorikan ke dalam keduanya.

Page 43: Bagian I Pengetahuan Dasar - wiragotama.github.io · Sebagai contoh, manusia tahu bahwa cara meng-gunakan pensil dan pulpen sama, walaupun saat kita belum pernah menggu-nakan pulpen

3.10 Tahapan Analisis 45

Soal Latihan

3.1. Konversi atributSebutkan dan jelaskan macam-macam cara untuk mengkonversi atribut! Se-bagai contoh, numerik-nominal dan nominal-numerik.

3.2. Transformasi dataSebutkan dan jelaskan macam-macam cara transformasi data (e.g. merubahnon-linearly separable menjadi linearly separable)

3.3. Seleksi fiturBacalah algoritma seleksi fitur pada library sklearn. Jelaskan alasan (ratio-nale) dibalik penggunaan tiap algoritma yang ada!

3.4. Inductive LearningJelaskanlah algoritma list-then-eliminate dan candidate-elimination!