RSS
Facebook
Twitter

Sunday, January 26, 2014

Kuliah Machine Learning : Active Learning

Active Learning
·      Apa itu Active Learning
Active Learning (kadang-kadang disebut “query learning” atau “optimal experimental design” dalam literature statistik) adalah bagian dari pembelajaran mesin atau lebih umum adalah kecerdasan buatan. Active learning merupakan kasus khusus dari semi-supervised learning dimana algoritma dapat secara interaktif melakukan proses query berdasarkan data-data yang ada untuk mendapatkan output yang diinginkan pada titik-titik data baru.

Hipotesis utama adalah bahwa jika algoritma pembelajaran diperbolehkan untuk memilih data dari mana algoritma pembelajaran ini belajar sehinnga algoritma pembelajaran dapat menjadi lebih efektif dengan pelatihan yang lebih sedikit. Dimana dengan pertimbangan agar sebuah sistem pembelajaran terawasi  dapat menghasilkan kinerja yang baik, algoritma pembelajaran harus sering dilatih pada ratusan bahkan ribuan kasus berlabel.

Kadang-kadang pelabelan data hanya sedikit atau tanpa biaya, seperti “spam’ yang menandai pesan-pesan email yang tidak diinginkan, atau rating film yang mungkin kita berikan melalui sosial media. Sistem pembelajaran menggunakan tanda dan rating tersebut untuk melakukan penyaringan pada junk email atau untuk menyarankan film yang mungkin akan kita sukai.

Dalam kasus diatas, anda tentu saja pemberian label dilakukan dengan sedikit biaya. Tapi dalam beberapa kasus, pemberian label itu sangat sulit, memakan waktu, atau mahal mendapatkannya. Beberapa contohnya yaitu :
       1. Pengenalan Suara
Untuk pelabelan pidato dengan akurat dan jelas, membutuhkan waktu yang sangat banyak dan dibutuhkan seorang penerjemah yang terlatih. Dalam beberapa laporan, dipaparkan bahwa untuk melakukan pelabelan pada sebuah pidato, dibutuhkan waktu sepuluh kali lebih lama daripada waktu dari pidato itu sendiri (sebagai contoh, satu menit pidato membutuhkan sepuluh menit waktu pelabelan).
        2. Klasifikasi dan Penyaringan
Agar sebuah algoritma pembelajaran dapat mengklasifikasi dokumen (misalnya, artikel atau halaman web) atau jenis lain dari media (misalnya, gambar, audio, dan video file) mengharuskan pengguna melakukan pelabelan masing-masing dokumen dan media file dengan label tertentu, seperti “relevan” atau “tidak relevan”.  Akan sangat membosankan dan bahkan berlebihan untuk membubuhi ribuan kasus tersebut.

Active learning akan aktif berusaha untuk mengatasi kesulitan pelabelan dengan meminta query dalam bentuk contoh  tak berlabel untuk kemudian diberi label oleh database management system. Dengan cara ini, active learning  bertujuan untuk mencapai akurasi tinggi dengan hanya menggunakan beberapa label yang memungkinkan, sehingga meminimalkan biaya memperoleh data berlabel.

·      Active Learner
Active learner mengumpulkan informasi dengan menanyakan pertanyaan dan menerima tanggapan. Kemudian hasilnya adalah sebuah klasifikasi atau model sesuai dengan tugas yang diberikan kepada active learner ini. Active learner berbeda dengan passive learner dimana passive learner hanya menerima data   atau informasi dan kemudian membuat klasifikasi atau model. Sebuah analogi passive learner seperti seorang mahasiswa yang mengumpulkan informasi dengan duduk dan mendengarkan seorang guru sedangkan active learner adalah mahasiswa yang mengajukan pertanyaan-pertanyaan ke guru, mendengarkan jawaban dan mengajukan pertanyaan-pertanyaan lebih lanjut berdasarkan tanggapan guru. Dengan ini memungkinkan active learner melakukan lebih baik daripada passive learner. Perbedaan utama antara active learner dan passive learner adalah kemampuan mengajukan pertanyaan berdasarkan permintaan dan tanggapan sebelumnya.

·      Pendekatan Umum untuk Active Learning
Kunci utama dari pendekatan active learning ini adalah dengan menetapkan satuan model M dan kualitas model M (atau dapat disamakan juga dengan kerugian model (Loss(M)). Dengan menetapkan satuan model dan kualitas model tersebut, maka kita dapat menyelesaikan tugas atau kasus dengan efektif.

     Ketika kita ingin menanyakan query potensial, q, maka kita perlu menilai kerugian model dari model berikutnya, MI. Model MI adalah model original M yang telah dilengkapi dengan query q dan respon x. Karena kita tidak mengetahui respon x yang sebenarnya dari query potensial, maka kita perlu melakukan perata-rataan dan agregasi. Salah satu caranya yaitu dengan mempertahankan distribusi kemungkinan respon ke setiap query. Dengan begitu, maka kita dapat memperhitungkan kerugian model setelah kita menanyakan query, dimana kita telah menduga kemungkinan respon dari query tersebut. Jika kita menggunakan definisi ini pada algoritma active learning, maka kita akan bisa mendapatkan query yang menghasilkan kerugian model yang minimal.

     Dalam statistika, alternatif standar untuk meminimalisir kerugian model adalah dengan menimalisir kerugian maksimum. Dengan kata lain, kita menganggap terjadinya skenario terburuk, yaitu dimana respon x merupakan respon dengan kerugian model tertinggi. Jika kita menggunakan definisi ini pada algoritma active learning, maka kita akan bisa mendapatkan query yang menghasilkan kerugian model maksimal yang minimal (minimax).

Kedua skema perata-rataan dan agregasi ini sangat berguna. Dalam pengaplikasiannya, pemakaian kedua skema ini akan disesuaikan dengan tugas atau kasus pembelajaran yang dihadapi. Kesimpulannya dari pendekatan umum active learning adalah, pertama kita memilih skema model dan kerugian model yang sesuai dengan tugas atau kasus yang dihadapi, kemudian kita juga memilih metode perhitungan potensial kerugian model dari query potensial. Untuk setiap query potensial, kita kemudian memperhitungkan kerugian model yang dapat terjadi, dan setelah itu kita dapat menanyakan query dengan potensi kerugian model terkecil.

·      Contoh Active Learning
Terdapat beberapa cara active learner untuk dapat mengahasilkan query, dan juga terdapat beberapa cara untuk menentukan data atau instansi yang paling informatif.

Pada Gambar 4, siklus active learning yang digunakan adalah siklus active learning berbasis pool. Active learner akan memulai dengan data yang telah terlabel dengan jumlah yang sedikit (L), kemudian active learner akan meminta pelabelan pada satu atau beberapa data lainnya, memperhitungkan dan mempelajari hasil query, kemudian memperbaharui pengetahuannya untuk memilih query yang akan ditanyakan berikutnya. Setelah query telah ditetapkan, maka biasanya tidak akan ada penambahan asumsi pada algoritma pembelajaran. Data baru yang telah diberi label akan dimasukkan ke bagian data terlabel (L).

Gambar 5 menampilkan ilustrasi active learning berbasis pool yang mudah untuk divisualisasikan. Pada gambar ini terdapat sekumpulan data yang dibagi menjadi dua bentuk. Gambar 5(a) menunjukkan sebuah pool dengan sekumpulan data yang berjumlah 400 dan dibagi dua menjadi 200 untuk setiap bentuknya. Data-data ini belum diberi label (U). Gambar 5(b) merupakan ilustrasi algoritma pembelajaran tradisional dimana algoritma pembelajarannya adalah dengan memilih 30 data secara acak dari pool yang kemudian dilabelkan. Garis pada gambar menunjukkan hasil dari algoritma pembelajaran dengan pemilihan 30 data secara acak yang diberi label (L). Dapat dilihat bahwa data yang diberi label terletak jauh dari nilai nol pada sumbu horizontal. Hasilnya adalah algoritma pembelajaran ini memiliki tingkat akurasi 70% untuk pelabelan data-data yang belum diberi label (U). Gambar 5(c) menunjukkan algoritma pembelajaran dengan menggunakan active learning. Active learner menggunakan cara sampling ketidakpastian (uncertainty sampling) untuk focus pada data-data yang terletak paling dekat dengan batas penentuan antara kedua bentuk data. Dengan begitu, maka active learner dapat melakukan pelabelan pada data-data yang belum diberi label (U) dengan akurat. Hasilnya adalah, active learner menghindari permintaan untuk melakukan pelabelan yang berlebihan ataupun pelabelan pada data yang tidak relevan, dan berhasil mencapai tingkat akurasi 90% dengan jumlah data yang diberi label tidak mencapai 30 data.

Salah satu contoh active learning yang diaplikasikan pada kasus nyata adalah klasifikasi teks. Pada kasus ini, algoritma pembelajaran harus dapat membedakan dokumen mengenai baseball dan hockey dari 20 perusahaan berita dengan jumlah dokumen mencapai 2.000 buah dokumen yang dibagi menjadi dua kelas tersebut. Logaritma active learning biasanya dievaluasi dengan menggunakan kurva garis, yang mengukur fungsi esensial atau penting (misalnya akurasi, presisi, dll.) dari data-data baru yang telah diberi label (L). Gambar 6 menunjukkan kurva dari 100 data pertama yang diberi label menggunakan dua buah algoritma pembelajaran, yaitu dengan algoritma pembelajaran tradisional (pemilihan data yang belum dilabel secara acak) dan  algoritma pembelajaran active learning menggunakan cara sampling ketidakpastian. Setelah melakukan pelabelan pada 30 data, akurasi algoritma pembelajaran menggunakan active learning dengan cara sampling ketidakpastian mencapai 81%, sedangkan algoritma pembelajaran tradisional hanya memiliki tingkat akurasi 73%. Dapat dilihat pada gambar bahwa active learning menguasai kurva untuk semua titik. Kita dapat menyimpulkan bahwa algoritma pembelajaran active learning lebih baik dan akurat dari algoritma pembelajaran lainnya (misalnya algoritma pembelajaran tradisional dengan pemilihan data yang belum dilabel secara acak) apabila algoritma pembelajaran active learning ini menguasai kurva untuk semua titik.

·      Kesimpulan
Tujuan dari machine learning adalah mengekstrak pola dari data-data yang ada kemudian dapat digunakan untuk meneruskan pemahaman ilmiah, membuat proses menjadi otomatis, membantu tugas-tugas, dan lebih banyak lagi. Namun, banyak mesin bergantung pada data dimana mengumpulkan data biasanya mahal dan memakan waktu. Dengan adanya active learning dari sebuah mesin, dapat digunakan untuk mengurangi data yang harus dikumpulkan, sehingga dapat meningkatkan efisiensi waktu dan biaya.

Active learning merupakan daerah untuk perkembangan penelitian dalam machine learning, dimana didorong oleh kenyataan bahwa data semakin mudah atau murah tetapi maha untuk dilakukan pelabelan. Active learning dapat merumuskan dan memahami beberapa data yang diberikan, kemudian dapat menghasilkan kesimpulan dan memberi label untuk semua data yang diberikan dengan membaca pola tertentu.
Sumber :