Algoritme pembelajaran mesin dapat mengetahui cara melakukan tugas penting dengan menggeneralisasi dari contoh. Ini sering kali layak dan hemat biaya jika pemrograman manual tidak. Dengan semakin banyaknya data yang tersedia, masalah yang lebih ambisius dapat ditangani. Hasilnya, pembelajaran mesin banyak digunakan di bidang komputer dan bidang lainnya. Namun, mengembangkan aplikasi pembelajaran mesin yang sukses membutuhkan sejumlah besar “seni hitam” yang sulit ditemukan di buku teks.
Baru-baru ini saya membaca makalah teknis yang luar biasa oleh Profesor Pedro Domingos dari Universitas Washington berjudul “Beberapa Hal Berguna untuk Diketahui tentang Pembelajaran Mesin.” Artikel ini merangkum 12 pelajaran utama yang telah dipelajari oleh peneliti dan praktisi machine learning termasuk kendala yang harus dihindari, masalah penting untuk difokuskan, dan jawaban atas pertanyaan umum. Saya ingin membagikan pelajaran ini di artikel ini karena sangat berguna saat memikirkan cara mengatasi masalah machine learning Anda berikutnya.
1 – Pembelajaran = Representasi + Evaluasi + Optimasi
Semua algoritme pembelajaran mesin umumnya terdiri dari kombinasi hanya 3 komponen:
Representasi: Pengklasifikasi harus direpresentasikan dalam beberapa bahasa formal yang dapat ditangani komputer. Sebaliknya, memilih representasi untuk pelajar sama saja dengan memilih himpunan pengklasifikasi yang mungkin dapat dipelajari. Himpunan ini disebut ruang hipotesis pelajar. Jika pengklasifikasi tidak berada dalam ruang hipotesis, pengklasifikasi tidak dapat dipelajari. Pertanyaan terkait adalah bagaimana merepresentasikan input, yaitu fitur apa yang digunakan.
Evaluasi: Fungsi evaluasi diperlukan untuk membedakan pengklasifikasi yang baik dari yang buruk. Fungsi evaluasi yang digunakan secara internal oleh algoritme mungkin berbeda dari yang eksternal yang kita inginkan agar pengklasifikasi dioptimalkan, untuk kemudahan pengoptimalan dan karena masalah yang dibahas di bagian selanjutnya.
Optimasi: Akhirnya, kita membutuhkan metode untuk mencari di antara pengklasifikasi dalam bahasa tersebut untuk mendapatkan skor tertinggi. Pilihan teknik pengoptimalan adalah kunci efisiensi pelajar, dan juga membantu menentukan pengklasifikasi yang dihasilkan jika fungsi evaluasi memiliki lebih dari satu optimal. Merupakan hal yang umum bagi pelajar baru untuk mulai menggunakan pengoptimal siap pakai, yang kemudian diganti dengan yang dirancang khusus.
2 – Generalisasi yang Penting
Sasaran dasar machine learning adalah untuk menggeneralisasi di luar contoh dalam set pelatihan. Ini karena, tidak peduli berapa banyak data yang kita miliki, sangat kecil kemungkinannya kita akan melihat contoh persisnya lagi pada waktu pengujian. Berkinerja baik di set pelatihan itu mudah. Kesalahan paling umum di antara pemula machine learning adalah menguji data pelatihan dan mendapatkan ilusi kesuksesan. Jika pengklasifikasi yang dipilih kemudian diuji pada data baru, seringkali tidak lebih baik daripada menebak secara acak. Jadi, jika Anda mempekerjakan seseorang untuk membuat pengklasifikasi, pastikan untuk menyimpan sebagian datanya untuk Anda sendiri dan menguji pengklasifikasi yang mereka berikan kepada Anda. Sebaliknya, jika Anda telah dipekerjakan untuk membuat pengklasifikasi, sisihkan beberapa data dari awal, dan gunakan hanya untuk menguji pengklasifikasi yang Anda pilih di akhir, diikuti dengan mempelajari pengklasifikasi akhir Anda pada keseluruhan data.
3 – Data Saja Tidak Cukup
Generalisasi menjadi tujuan memiliki konsekuensi besar lainnya: data saja tidak cukup, tidak peduli berapa banyak yang Anda miliki.
Ini sepertinya berita yang agak menyedihkan. Lalu bagaimana kita bisa berharap untuk mempelajari sesuatu? Untungnya, fungsi yang ingin kita pelajari di dunia nyata tidak diambil secara seragam dari himpunan semua fungsi yang memungkinkan secara matematis! Faktanya, asumsi yang sangat umum – seperti kelancaran, contoh serupa yang memiliki kelas serupa, dependensi terbatas, atau kompleksitas terbatas – sering kali cukup untuk dilakukan dengan sangat baik, dan inilah sebagian besar alasan mengapa machine learning begitu sukses. Seperti deduksi, induksi (apa yang dilakukan peserta didik) adalah pengungkit pengetahuan: ia mengubah sejumlah kecil pengetahuan masukan menjadi sejumlah besar pengetahuan keluaran. Induksi adalah pengungkit yang jauh lebih kuat daripada deduksi, membutuhkan lebih sedikit pengetahuan masukan untuk menghasilkan hasil yang berguna, tetapi masih membutuhkan lebih dari nol pengetahuan masukan untuk bekerja. Dan, seperti halnya tuas lainnya, semakin banyak kita memasukkan, semakin banyak kita bisa keluar.
Dalam retrospeksi, kebutuhan akan pengetahuan dalam pembelajaran seharusnya tidak mengherankan. Pembelajaran mesin bukanlah sihir; itu tidak bisa mendapatkan sesuatu dari ketiadaan. Apa yang dilakukannya adalah mendapatkan lebih banyak dengan lebih sedikit. Pemrograman, seperti semua teknik lainnya, membutuhkan banyak pekerjaan: kita harus membangun semuanya dari awal. Belajar selengkapnya disini seperti bertani, yang memungkinkan alam melakukan sebagian besar pekerjaan. Petani menggabungkan benih dengan nutrisi untuk bercocok tanam. Peserta didik menggabungkan pengetahuan dengan data untuk mengembangkan program.