Supervised learning adalah salah satu cabang dari machine learning (ML) dan artificial intelligence (AI), di mana sebuah algoritma komputer dilatih menggunakan data masukan yang sudah diberi label (output yang sudah diketahui). Tujuan pelatihannya adalah agar model bisa memahami pola dan hubungan antara data masukan dan label output, sehingga nantinya bisa memberikan hasil pelabelan yang akurat saat menerima data baru yang belum pernah dilihat sebelumnya.
Dalam supervised learning, fokus utamanya adalah memahami data dalam konteks pertanyaan tertentu. Metode ini cocok digunakan untuk masalah regression dan classification, seperti menentukan kategori sebuah artikel berita atau memprediksi jumlah penjualan di masa depan. Banyak organisasi memanfaatkan supervised learning dalam proses seperti deteksi anomali, deteksi penipuan, klasifikasi gambar, penilaian risiko, dan penyaringan spam.
Kebalikan dari supervised learning adalah unsupervised learning, di mana algoritma diberi data yang belum diberi label dan ditugaskan untuk menemukan pola atau kemiripan secara mandiri—penjelasan lebih detailnya dibahas di bagian bawah.
Bagaimana cara kerja supervised learning?
Sama seperti algoritma machine learning lainnya, supervised learning berjalan berdasarkan proses pelatihan. Dalam tahap pelatihan ini, sistem diberikan kumpulan data yang sudah diberi label, sehingga sistem tahu output apa yang berkaitan dengan setiap input tertentu. Setelah itu, model yang sudah terlatih akan diuji menggunakan data uji. Data uji ini sebenarnya sudah punya label, tapi label tersebut tidak diperlihatkan ke algoritma. Tujuannya adalah untuk mengukur seberapa akurat model memprediksi data yang dianggap “baru”.
- Menentukan jenis data pelatihan yang akan digunakan.
- Mengumpulkan data pelatihan yang sudah diberi label.
- Membagi data tersebut menjadi data set pelatihan, pengujian, dan validasi.
- Menentukan algoritma yang akan digunakan untuk membangun model ML.
- Menjalankan algoritma dengan data pelatihan.
- Mengevaluasi akurasi model dengan berbagai metrik seperti skor F1 dan log loss. Jika prediksinya tepat, berarti modelnya akurat.
- Melakukan pemantauan rutin terhadap performa model dan memperbaruinya jika diperlukan. Bisa jadi model perlu dilatih ulang dengan data baru agar tetap relevan dan akurat.
Contohnya, kita bisa melatih sebuah algoritma untuk mengenali gambar kucing dan anjing dengan memberinya banyak contoh gambar yang sudah diberi label (kucing atau anjing). Data pelatihan ini merupakan bagian dari kumpulan gambar yang lebih besar. Setelah dilatih, model seharusnya bisa menebak apakah gambar baru menunjukkan seekor kucing atau anjing. Untuk menguji ketepatannya, kita bisa memasukkan gambar-gambar lain dan melihat apakah model bisa memprediksi dengan benar.
Bagaimana cara kerja supervised learning di neural network?
Dalam algoritma neural network, proses supervised learning ditingkatkan dengan mengukur terus-menerus output yang dihasilkan model, lalu menyempurnakan sistem agar prediksinya makin mendekati hasil yang diinginkan. Akurasi model sangat bergantung pada dua hal: ketersediaan data yang sudah diberi label, dan algoritma yang digunakan. Selain itu, ada beberapa faktor penting lain yang ikut memengaruhi prosesnya:
- Data pelatihan harus bersih dan seimbang. Data yang buruk atau duplikat bisa bikin AI salah paham. Karena itu, data scientist harus ekstra hati-hati saat memilih data untuk pelatihan.
- Keragaman data sangat menentukan kemampuan AI dalam menghadapi kasus baru. Kalau data latihnya kurang bervariasi, model bisa jadi gak mampu memberi jawaban yang andal di dunia nyata.
- Anehnya, akurasi yang sangat tinggi bukan selalu kabar baik. Bisa jadi model mengalami *overfitting*, yaitu terlalu fokus pada data pelatihan dan gagal menghadapi skenario baru. Untuk mencegah ini, data uji harus berbeda dari data pelatihan, supaya model benar-benar menggeneralisasi dan gak sekadar “ngafal”.
- Algoritma juga menentukan seberapa baik data bisa dimanfaatkan. Misalnya, algoritma deep learning bisa dilatih untuk mengekstraksi miliaran parameter dari data dan mencapai akurasi luar biasa tinggi—seperti yang ditunjukkan oleh OpenAI dengan GPT-4.
Jenis-jenis Supervised Learning
Selain neural network, ada banyak algoritma supervised learning lainnya. Umumnya, algoritma ini menghasilkan dua jenis output utama: classification (klasifikasi) dan regression (regresi).
Model Klasifikasi
Algoritma klasifikasi bertujuan mengelompokkan data masukan ke dalam beberapa kategori atau kelas tertentu, berdasarkan data berlabel yang digunakan saat pelatihan. Misalnya, algoritma ini bisa digunakan untuk klasifikasi biner seperti membedakan gambar kucing dan anjing, menyaring email menjadi spam atau bukan, hingga mengkategorikan feedback pelanggan sebagai positif atau negatif.
Beberapa contoh teknik klasifikasi dalam ML antara lain:
- Decision tree membagi data ke dalam dua kategori dari struktur pohon, mulai dari batang, ke cabang, hingga daun—membentuk subkategori dari kategori utama.
- Logistic regression menganalisis variabel bebas untuk menentukan hasil biner (dua kemungkinan output).
- *Random forest* adalah kumpulan dari beberapa decision tree yang menggabungkan hasil dari banyak “prediktor”. Lebih baik dalam generalisasi, meskipun agak sulit diinterpretasi dibanding decision tree biasa.
- Support vector machine mencari garis pemisah antar kelas dalam data, dengan memaksimalkan jarak antara setiap kelas. Algoritma ini cocok digunakan untuk membandingkan performa finansial, nilai, atau potensi keuntungan investasi.
- *Naive Bayes* adalah algoritma klasifikasi yang populer, terutama untuk tugas klasifikasi teks atau pengolahan data dalam jumlah besar.
Model Regresi
Berbeda dari klasifikasi, model regresi bertugas memprediksi nilai numerik dari hubungan antara input dan output. Contohnya, algoritma regresi bisa digunakan untuk memprediksi harga properti berdasarkan kode pos, tingkat klik iklan berdasarkan waktu, atau estimasi harga yang bersedia dibayar pelanggan berdasarkan usia mereka.
Beberapa algoritma regresi yang umum digunakan dalam supervised learning antara lain:
- *Bayesian logic* menganalisis model statistik dengan mempertimbangkan pengetahuan sebelumnya mengenai parameter model atau struktur model itu sendiri.
- Linear regression memprediksi nilai satu variabel berdasarkan variabel lainnya.
- *Nonlinear regression* digunakan ketika hubungan antar data tidak linier. Contohnya, tren data yang berbentuk kurva atau melengkung.
- *Regression tree* adalah decision tree yang output-nya berupa nilai kontinu (bukan kategori).
- *Polynomial regression* digunakan untuk memodelkan hubungan kompleks antara input dan output, dengan memasangkan persamaan polinomial ke data.
Saat memilih algoritma supervised learning, ada beberapa hal yang perlu dipertimbangkan. Pertama adalah bias dan variance yang bisa muncul. Kita harus mencari keseimbangan agar model tidak terlalu kaku, tapi juga tidak terlalu fleksibel. Selain itu, kompleksitas model, heterogenitas data, akurasi, duplikasi, dan apakah datanya linier atau tidak juga harus diperhatikan sebelum memilih algoritma.
Supervised vs. Unsupervised Learning
Perbedaan utama antara supervised dan unsupervised learning terletak pada cara algoritma belajar dari data.
Dalam unsupervised learning, algoritma dilatih menggunakan data tanpa label. Tidak seperti supervised learning yang tahu output-nya, di sini algoritma harus menemukan pola atau kemiripan dari data itu sendiri tanpa tahu hasil akhir yang benar. Artinya, algoritma bebas mengeksplorasi data untuk menemukan insight atau pola menarik yang mungkin tidak disadari manusia.
Unsupervised learning biasanya dipakai untuk clustering (mengelompokkan data berdasarkan kemiripan) dan association (mencari aturan yang menjelaskan hubungan antar data).
Karena model ML ini bekerja sendiri untuk menemukan pola, hasil klasifikasinya bisa berbeda dengan supervised learning. Contohnya, jika kita punya gambar kucing dan anjing, model unsupervised mungkin bisa membedakan ciri-ciri antar keduanya, tapi tidak tahu mana yang kucing dan mana yang anjing—karena tidak pernah diajarkan sebelumnya.
Namun, perlu dicatat bahwa kedua pendekatan ini punya kelebihan masing-masing dan sering digunakan bersama untuk hasil yang optimal. Misalnya, unsupervised learning bisa membantu memproses data awal atau mengidentifikasi fitur penting yang nantinya digunakan oleh model supervised learning.
Kelebihan dan Keterbatasan Supervised Learning
Model supervised learning punya beberapa keunggulan dibanding pendekatan unsupervised, meskipun tetap ada batasannya juga. Berikut ini beberapa kelebihannya:
- Model lebih mudah dimengerti manusia karena dasar pengambilan keputusannya dibuat oleh manusia.
- Kriteria performa bisa dioptimalkan berkat masukan dari pelatihan yang terarah.
- Dapat digunakan untuk tugas klasifikasi maupun regresi.
- Pengguna bisa menentukan jumlah kelas dalam data pelatihan.
- Model dapat menghasilkan output prediktif berdasarkan pengalaman sebelumnya.
- Kelas pada data diberi label secara eksplisit.
- Sangat cocok untuk masalah dengan hasil yang jelas dan target variabel yang terdefinisi dengan baik, karena datanya sudah lengkap dengan input dan labelnya.
Tapi, supervised learning juga punya keterbatasan:
- Kalau pakai pendekatan retrieval-based, model supervised bisa kesulitan menghadapi data baru. Misalnya, kalau model cuma mengenali kucing dan anjing, lalu dikasih gambar zebra, dia mungkin akan “memaksa” memasukkannya ke salah satu kategori yang ada. Sebaliknya, kalau pakai AI generatif (unsupervised), model memang gak tahu itu zebra, tapi bisa mendeteksi bahwa ini objek berbeda dan perlu kategori baru.
- Model ini biasanya butuh banyak data berlabel agar bisa mencapai performa yang baik. Sayangnya, data berlabel gak selalu tersedia. Unsupervised learning gak punya masalah ini karena bisa jalan dengan data tak berlabel.
- Model supervised butuh waktu untuk dilatih sebelum bisa digunakan.
- Model ini gak bisa belajar sendiri. Perlu campur tangan manusia untuk validasi output-nya.
Semisupervised Learning
Kalau kita butuh supervised learning tapi kekurangan data berkualitas, maka pendekatan semisupervised learning bisa jadi pilihan yang pas. Model ini berada di tengah-tengah antara supervised dan unsupervised: dia bisa menerima data yang sebagian sudah diberi label dan sebagian lagi belum.
Berikut adalah beberapa manfaat utama semisupervised learning:
- Sangat berguna saat kita punya banyak data yang belum diberi label, dan memberi label semuanya terlalu mahal atau rumit. Semisupervised learning akan mencari hubungan antar data (seperti unsupervised learning), lalu menggunakan data berlabel untuk menandai sisanya. Setelah itu, model akan dilatih berdasarkan label-label baru ini.
- Bisa memberikan hasil yang akurat dan cocok untuk banyak kasus nyata, terutama ketika data berlabel sangat sedikit. Sebagai aturan umum, kalau setidaknya 25% dari data sudah dilabeli, maka semisupervised learning sudah bisa diterapkan. Contohnya adalah facial recognition: dari jutaan foto wajah, sistem bisa mengelompokkan wajah yang mirip, lalu hanya perlu satu foto berlabel untuk memberi identitas pada kelompok tersebut.
Contoh dan Use Case Utama dari Supervised Learning
Supervised learning punya banyak penerapan nyata di berbagai bidang industri. Salah satu contohnya adalah pengelompokan berita. Misalnya, kita ingin mengklasifikasikan setiap artikel berita ke dalam kategori tertentu seperti bisnis, keuangan, teknologi, atau olahraga. Untuk tugas seperti ini, model supervised learning sangat cocok.
Caranya, manusia akan memberikan contoh artikel-artikel berita lengkap dengan label kategorinya. Model akan belajar dari data tersebut dan mencari tahu ciri-ciri khas dari setiap kategori. Setelah pelatihan selesai, model akan bisa menebak kategori dari artikel baru hanya dengan melihat isi beritanya.
Tapi, bisa jadi pendekatan klasifikasi berdasarkan kategori tetap tidak cukup fleksibel. Misalnya, ada berita yang membahas teknologi untuk perubahan iklim, atau masalah ketenagakerjaan di industri tertentu. Dengan milyaran artikel berita yang ada, mengklasifikasikan semuanya ke dalam hanya 40–50 kategori bisa terasa terlalu menyederhanakan. Solusi yang lebih baik bisa jadi adalah mengelompokkan berita berdasarkan kemiripan kontennya—bukan kategorinya. Jadi, pendekatannya lebih ke clustering, di mana artikel-artikel yang mirip dikumpulkan dalam satu grup tanpa harus memberi nama kategori tertentu.
Beberapa use case lain dari supervised learning yang juga umum digunakan antara lain:
- Analisis prediktif. Predictive analytics sering banget digunakan dalam supervised learning. Model dilatih menggunakan data historis yang sudah diketahui hasilnya, lalu digunakan untuk memprediksi data baru yang belum pernah dilihat sebelumnya.
- Analisis regresi. Dalam regresi, model supervised learning memprediksi nilai kontinu berdasarkan satu atau lebih variabel input. Contoh realnya termasuk memprediksi harga saham, atau menghitung estimasi gaji berdasarkan sejumlah faktor.
- Tugas klasifikasi. Ini salah satu fungsi utama dari supervised learning. Model akan memprediksi ke kategori mana data baru termasuk, berdasarkan kategori-kategori yang sudah ditentukan sebelumnya. Contohnya adalah deteksi spam di email, klasifikasi gambar, dan pengenalan objek.
- Deteksi penipuan dan manajemen risiko. Di industri keuangan, supervised learning digunakan untuk manajemen portofolio, deteksi penipuan, dan manajemen risiko. Contohnya, bank menggunakan model ini untuk mendeteksi aktivitas mencurigakan atau transaksi online yang perlu investigasi lebih lanjut.
- Rekomendasi yang dipersonalisasi. Platform e-commerce dan layanan streaming memanfaatkan supervised learning untuk memberikan rekomendasi yang relevan bagi pengguna, berdasarkan riwayat interaksi dan preferensi mereka.
- Aplikasi di bidang kesehatan. Supervised learning digunakan untuk diagnosis penyakit, prediksi hasil perawatan pasien, dan rekomendasi rencana pengobatan yang dipersonalisasi berdasarkan data medis pasien.
- Kendaraan otonom. Dalam industri otomotif, supervised learning digunakan untuk berbagai fitur kendaraan tanpa pengemudi. Data dari komunikasi antar kendaraan dan infrastruktur dianalisis untuk mengevaluasi kondisi jalan, pola lalu lintas, dan potensi bahaya.
- Pengenalan suara. Supervised learning juga dipakai untuk mengenali dan memahami suara manusia, termasuk aspek grammar, struktur kalimat, dan sinyal audio. Asisten virtual seperti Siri dan Alexa, serta layanan transkripsi otomatis, menggunakan teknologi ini.
- Analisis sentimen pelanggan. Banyak organisasi menggunakan algoritma supervised ML untuk mengekstrak informasi penting dari data pelanggan dalam jumlah besar—misalnya konteks, emosi, dan maksud dari percakapan. Hal ini membantu bisnis memahami pelanggan mereka dengan lebih baik dan meningkatkan upaya engagement terhadap merek.
- Penilaian skor kredit. Supervised learning digunakan untuk menilai kelayakan kredit pemohon pinjaman. Model dilatih menggunakan data historis yang sudah diberi label, seperti riwayat kredit, pendapatan, status pekerjaan, dan faktor-faktor relevan lainnya.
Pelajari juga perbandingan antara supervised, unsupervised, semisupervised, dan reinforcement learning. Selain itu, jelajahi berbagai jenis algoritma AI dan cara kerjanya.