Back to 1
Author @mujirin Verifier - Public Public AI enabled
Back to 1 Verify Mark as read Debunk me Versions Exports locked Locked
Log in to access more pages. Create an account or log in to continue reading more pages.
Log in

Pendahuluan

Pembelajaran mesin sering diperkenalkan melalui hasil yang tampak mengesankan: sistem yang mengenali wajah, menyaring surel spam, menerjemahkan teks, memprediksi harga rumah, atau membantu dokter membaca citra medis. Namun, di balik hasil tersebut selalu ada pertanyaan yang lebih mendasar: dari mana model belajar, apa yang sebenarnya dipelajari, dan seberapa jauh hasilnya boleh dipercaya?

Buku ini ditulis untuk menjawab pertanyaan itu secara perlahan dan dapat diperiksa.

Dalam buku ini, pembelajaran mesin dipahami sebagai cabang ilmu komputasi dan statistika yang membuat sistem belajar pola dari data untuk melakukan prediksi atau keputusan pada kasus baru. Definisi klasik dari Tom Mitchell menyatakan bahwa suatu program dikatakan belajar dari pengalaman E terhadap tugas T dan ukuran kinerja P jika kinerjanya pada T, diukur dengan P, meningkat berkat pengalaman E (Mitchell, 1997). Definisi ini penting karena mengingatkan kita bahwa “belajar” dalam pembelajaran mesin bukanlah belajar seperti manusia memahami dunia secara penuh. Yang dimaksud adalah peningkatan kinerja terukur pada tugas tertentu berdasarkan data tertentu.

Misalnya, jika kita membuat model untuk memprediksi harga rumah, maka:

  • pengalaman adalah data rumah yang pernah diamati;
  • tugas adalah memprediksi harga rumah baru;
  • ukuran kinerja dapat berupa rata-rata selisih antara harga prediksi dan harga sebenarnya.

Model tidak “mengerti” rumah seperti manusia memahami lokasi, kenyamanan, sejarah kawasan, atau negosiasi pasar. Model hanya menemukan keteraturan dalam data yang diberikan kepadanya. Karena itu, pertanyaan utama buku ini bukan sekadar “bagaimana membuat model yang akurat?”, melainkan:

Bagaimana kita mengetahui bahwa model bekerja dengan alasan yang masuk akal, pada data yang tepat, dengan evaluasi yang jujur, dan dalam batas penerapan yang jelas?

Mengapa pembelajaran mesin perlu dapat diperiksa?

Dalam praktik, model pembelajaran mesin jarang gagal karena satu alasan tunggal. Kadang model gagal karena datanya tidak mewakili keadaan nyata. Kadang karena model terlalu menyesuaikan diri terhadap data latih. Kadang karena evaluasi dilakukan dengan cara yang membuat hasil terlihat terlalu bagus. Kadang pula model bekerja baik secara numerik, tetapi tidak layak digunakan karena konsekuensi kesalahannya terlalu besar.

Bayangkan sebuah model klasifikasi untuk membantu menilai apakah pengajuan pinjaman berisiko tinggi atau rendah. Jika model tampak memiliki akurasi tinggi, kita belum boleh langsung puas. Kita perlu bertanya: data latihnya berasal dari periode ekonomi seperti apa? Apakah kelompok tertentu kurang terwakili? Apakah fitur yang digunakan tersedia saat keputusan nyata dibuat? Apakah kesalahan menolak pemohon yang layak lebih berbahaya daripada menyetujui pemohon yang berisiko? Apakah model hanya mengulang pola historis yang mungkin sudah bias?

Pertanyaan-pertanyaan seperti ini adalah bagian dari pembelajaran mesin yang dapat diperiksa.

Dalam buku ini, dapat diperiksa berarti bahwa proses pemodelan dapat ditelusuri oleh orang lain secara masuk akal. Pemeriksaan itu mencakup data yang digunakan, asumsi yang dibuat, metode pelatihan, pilihan hiperparameter, cara validasi, metrik evaluasi, interpretasi hasil, dan batas penerapan. Gagasan dokumentasi dataset dan model juga berkembang dalam literatur modern, misalnya melalui Datasheets for Datasets untuk mendokumentasikan asal, komposisi, dan penggunaan dataset (Gebru et al., 2021), serta Model Cards untuk melaporkan tujuan, kinerja, batas, dan pertimbangan etis model (Mitchell et al., 2019).

Perhatikan bahwa “dapat diperiksa” tidak sama dengan “sempurna”. Model yang dapat diperiksa masih dapat salah. Namun, ketika model salah, kita memiliki jejak yang cukup jelas untuk memahami kemungkinan penyebabnya. Itulah perbedaan antara eksperimen yang dapat dipertanggungjawabkan dan sekadar percobaan acak yang kebetulan memberi angka bagus.

Dari data ke prediksi

Untuk memulai dari prinsip pertama, kita perlu memahami tiga unsur dasar: data, model, dan prediksi.

Data adalah catatan observasi. Dalam pembelajaran mesin, satu observasi biasanya disebut contoh, sampel, atau instance. Setiap contoh memiliki sejumlah informasi yang disebut fitur. Jika kita memiliki data rumah, fitur dapat berupa luas bangunan, jumlah kamar, umur bangunan, dan jarak ke pusat kota. Jika tugasnya adalah memprediksi harga, maka harga yang ingin diprediksi disebut label atau target.

Contoh sederhana:

Luas rumah Jumlah kamar Jarak ke pusat kota Harga
80 m² 3 5 km 900 juta
120 m² 4 8 km 1,2 miliar
60 m² 2 3 km 750 juta

Dalam tabel ini, luas rumah, jumlah kamar, dan jarak adalah fitur. Harga adalah label. Jika model dilatih untuk memprediksi harga dari fitur, maka tugasnya disebut regresi, yaitu tugas memprediksi nilai numerik. Jika labelnya berupa kategori, misalnya “spam” atau “bukan spam”, maka tugasnya disebut klasifikasi.

Model adalah aturan matematis atau komputasional yang mengubah fitur menjadi prediksi. Pada regresi harga rumah, model dapat berupa rumus linear sederhana. Pada klasifikasi spam, model dapat berupa fungsi yang memberi skor kemungkinan bahwa sebuah surel adalah spam. Dalam notasi yang akan dipakai lebih formal pada bab-bab berikutnya, kita sering menulis model sebagai:

\[ \hat{y} = f_\theta(x) \]

Di sini, \(x\) adalah fitur, \(\hat{y}\) adalah prediksi, \(f\) adalah fungsi prediksi, dan \(\theta\) adalah parameter model. Parameter adalah nilai internal yang dipelajari dari data. Pada regresi linear, parameter dapat berupa koefisien yang menentukan seberapa besar pengaruh setiap fitur terhadap prediksi. Pada model yang lebih kompleks, parameter dapat berjumlah sangat banyak.

Buku ini akan berkali-kali menekankan perbedaan antara pola yang benar-benar berguna dan pola yang hanya kebetulan muncul dalam data latih. Perbedaan ini adalah jantung dari konsep generalisasi. Sebuah model dikatakan melakukan generalisasi dengan baik jika kinerjanya tetap baik pada data baru yang relevan, bukan hanya pada data yang dipakai untuk melatihnya. Literatur pembelajaran statistik menempatkan generalisasi sebagai persoalan utama: model dipilih bukan hanya untuk cocok dengan data yang sudah dilihat, tetapi untuk memiliki galat prediksi yang rendah pada observasi baru dari proses data yang sama atau cukup serupa (Hastie, Tibshirani, & Friedman, 2009).

Data latih, data uji, dan kejujuran evaluasi

Salah satu kebiasaan paling penting dalam pembelajaran mesin adalah memisahkan data menjadi bagian yang digunakan untuk melatih model dan bagian yang digunakan untuk menguji model. Data latih adalah data yang boleh digunakan model untuk belajar. Data uji adalah data yang disimpan untuk memperkirakan kinerja model pada kasus baru.

Mengapa pemisahan ini perlu? Karena model dapat terlihat sangat baik pada data yang sudah pernah dilihat. Jika mahasiswa menghafal jawaban latihan, ia mungkin mendapat nilai sempurna pada soal yang sama, tetapi belum tentu memahami materi. Demikian pula, model dapat menghafal atau menyesuaikan diri terlalu kuat terhadap data latih. Gejala ini disebut overfitting.

Sebaliknya, jika model terlalu sederhana sehingga gagal menangkap pola utama, kita menyebutnya underfitting. Misalnya, jika hubungan antara dosis obat dan respons pasien berbentuk melengkung, tetapi kita memaksakan model garis lurus yang terlalu sederhana, model mungkin gagal baik pada data latih maupun data baru.

Dalam praktik, pemisahan data tidak selalu cukup. Jika kita mencoba banyak model, banyak transformasi fitur, dan banyak hiperparameter, lalu memilih yang paling bagus pada data uji, maka data uji secara tidak langsung telah ikut memengaruhi pemilihan model. Hasil evaluasi dapat menjadi terlalu optimistis. Karena itu, alur kerja yang lebih hati-hati biasanya membedakan data latih, data validasi, dan data uji, atau memakai teknik seperti cross-validation untuk memilih model dengan lebih adil. Prinsip-prinsip validasi dan pemilihan model seperti ini dibahas luas dalam buku teks pembelajaran mesin dan pemodelan prediktif terapan (Kuhn & Johnson, 2013).

Contoh sederhana dapat memperjelas masalah ini. Misalkan kita punya 1.000 data pelanggan untuk memprediksi apakah pelanggan akan berhenti berlangganan. Jika semua data digunakan untuk melatih model, lalu model dievaluasi pada data yang sama, angka akurasi yang diperoleh tidak menjawab pertanyaan penting: apakah model akan bekerja pada pelanggan bulan depan? Untuk menjawab pertanyaan itu, kita perlu menahan sebagian data sebagai simulasi kasus baru.

Fungsi kerugian: cara model mengetahui kesalahannya

Model tidak belajar dari kata “bagus” atau “buruk” secara abstrak. Model membutuhkan ukuran formal tentang kesalahan. Ukuran ini disebut fungsi kerugian.

Fungsi kerugian menerima prediksi dan jawaban benar, lalu menghasilkan angka yang menyatakan seberapa buruk prediksi tersebut. Untuk regresi, contoh fungsi kerugian adalah kuadrat galat, yaitu selisih antara prediksi dan nilai benar yang dikuadratkan. Jika harga rumah sebenarnya 900 juta dan model memprediksi 850 juta, galatnya 50 juta. Dengan kuadrat galat, kesalahan besar diberi hukuman lebih besar daripada kesalahan kecil.

Untuk klasifikasi probabilistik, salah satu fungsi kerugian yang umum adalah log-loss, yang memberi hukuman besar ketika model sangat yakin tetapi salah. Misalnya, jika model mengatakan peluang suatu surel adalah spam sebesar 0,99, tetapi ternyata bukan spam, maka kesalahannya dianggap serius. Fungsi kerugian seperti ini menghubungkan prediksi probabilistik dengan proses optimisasi model, sebagaimana dibahas dalam kerangka pembelajaran statistik dan pengenalan pola (Bishop, 2006).

Fungsi kerugian penting karena ia membentuk perilaku model. Jika kita memilih fungsi kerugian yang tidak sesuai dengan tujuan aplikasi, model dapat mengoptimalkan hal yang salah. Pada prediksi permintaan barang, kesalahan meremehkan permintaan mungkin lebih mahal daripada kesalahan melebihkan permintaan. Pada sistem medis, kesalahan melewatkan pasien berisiko tinggi mungkin jauh lebih berbahaya daripada memberi peringatan tambahan kepada pasien berisiko rendah. Karena itu, evaluasi model harus selalu dikaitkan dengan konsekuensi nyata dari kesalahan.

Asumsi: bagian yang sering tersembunyi

Setiap metode pembelajaran mesin membawa asumsi. Asumsi adalah kondisi yang dianggap benar atau cukup mendekati benar agar metode bekerja dengan baik. Asumsi tidak selalu ditulis secara eksplisit dalam kode, tetapi tetap memengaruhi hasil.

Regresi linear, misalnya, mengasumsikan bahwa hubungan antara fitur dan target dapat didekati secara linear dalam parameter model. Ini tidak berarti dunia harus benar-benar linear. Artinya, untuk tujuan prediksi dan pada rentang data tertentu, pendekatan linear dianggap cukup berguna. Jika harga rumah naik tajam hanya setelah luas melewati ambang tertentu, model linear sederhana mungkin kurang sesuai kecuali fitur ditransformasi.

Metode berbasis tetangga terdekat mengasumsikan bahwa contoh yang dekat dalam ruang fitur cenderung memiliki label atau target yang mirip. Asumsi ini masuk akal jika ukuran jarak yang digunakan memang mencerminkan kemiripan bermakna. Namun, jika fitur memiliki skala berbeda—misalnya pendapatan dalam jutaan rupiah dan umur dalam puluhan tahun—jarak dapat didominasi oleh fitur tertentu kecuali dilakukan penskalaan.

Pohon keputusan mengasumsikan bahwa keputusan dapat dibangun dari pemisahan bertahap pada fitur. Model ini mudah dibaca, tetapi dapat sangat sensitif terhadap perubahan kecil pada data. Ensembel seperti random forest dan boosting mencoba mengurangi kelemahan ini dengan menggabungkan banyak model, tetapi biasanya mengorbankan sebagian interpretabilitas dan menambah biaya komputasi.

Buku ini tidak akan memperlakukan algoritma sebagai kotak hitam yang cukup dipanggil dari pustaka perangkat lunak. Setiap metode akan dibaca melalui empat pertanyaan:

  1. Apa bentuk modelnya?
  2. Apa yang dioptimalkan?
  3. Asumsi apa yang membuatnya masuk akal?
  4. Bagaimana kita mengetahui batas penerapannya?

Pertanyaan-pertanyaan ini akan muncul berulang kali karena itulah kebiasaan berpikir yang membuat pembelajaran mesin dapat diperiksa.

Angka evaluasi tidak pernah berdiri sendiri

Dalam pembelajaran mesin, kita sering melihat angka seperti akurasi 95%, RMSE 12, atau ROC-AUC 0,91. Angka-angka ini berguna, tetapi tidak pernah cukup tanpa konteks.

Metrik evaluasi adalah ukuran kinerja model. Untuk regresi, metrik dapat berupa MAE, MSE, RMSE, atau \(R^2\). Untuk klasifikasi, metrik dapat berupa akurasi, presisi, recall, F1-score, ROC-AUC, atau PR-AUC. Setiap metrik menjawab pertanyaan yang berbeda.

Misalnya, pada deteksi penyakit langka, akurasi bisa menyesatkan. Jika hanya 1 dari 1.000 orang memiliki penyakit, model yang selalu memprediksi “tidak sakit” akan memiliki akurasi 99,9%, tetapi sama sekali tidak berguna untuk menemukan pasien sakit. Dalam kasus seperti ini, recall, presisi, dan analisis ambang keputusan menjadi jauh lebih penting.

Contoh lain: pada prediksi harga, RMSE memberi hukuman besar pada kesalahan ekstrem karena galat dikuadratkan sebelum dirata-ratakan. Jika aplikasi sangat sensitif terhadap kesalahan besar, RMSE dapat sesuai. Namun, jika kita ingin ukuran yang lebih mudah ditafsirkan sebagai rata-rata besar kesalahan absolut, MAE mungkin lebih komunikatif. Tidak ada metrik yang selalu terbaik untuk semua tujuan.

Karena itu, evaluasi yang baik bukan hanya melaporkan angka. Evaluasi yang baik menjelaskan:

  • data apa yang digunakan;
  • bagaimana data dipisahkan;
  • metrik apa yang dipilih;
  • mengapa metrik itu sesuai;
  • jenis kesalahan apa yang paling berisiko;
  • apakah kinerja model stabil pada kelompok, waktu, atau kondisi yang berbeda.

Prediksi bukan kausalitas

Salah satu batas penting pembelajaran mesin adalah perbedaan antara prediksi dan kausalitas. Prediksi bertanya: “Jika saya melihat fitur ini, nilai atau kelas apa yang mungkin terjadi?” Kausalitas bertanya: “Jika saya mengubah suatu faktor, apakah hasilnya akan berubah karena faktor itu?”

Model dapat memprediksi dengan baik tanpa memahami sebab-akibat. Misalnya, model mungkin menemukan bahwa orang yang membawa payung lebih sering berada pada hari hujan. Dari pola itu, model dapat memprediksi kemungkinan hujan berdasarkan keberadaan payung. Namun, membawa payung tidak menyebabkan hujan. Jika kita memaksa semua orang membawa payung, cuaca tidak berubah.

Dalam konteks bisnis, model mungkin menemukan bahwa pelanggan yang menerima banyak panggilan dari layanan pelanggan lebih sering berhenti berlangganan. Tetapi panggilan itu mungkin bukan penyebab pelanggan berhenti; justru pelanggan yang sudah bermasalah lebih sering menghubungi layanan pelanggan. Jika perusahaan menyimpulkan bahwa mengurangi panggilan akan mengurangi pelanggan berhenti, kesimpulan itu dapat keliru.

Buku ini terutama membahas pembelajaran mesin untuk prediksi dan evaluasinya. Namun, pada bab-bab akhir kita akan membahas batas klaim model dan perbedaan dengan inferensi kausal. Sikap hati-hati ini penting agar model tidak digunakan untuk membuat pernyataan yang lebih kuat daripada yang didukung oleh data.

Apa yang akan dibangun dalam buku ini

Buku ini bergerak dari dasar menuju praktik yang dapat diaudit. Bab pertama memperkenalkan apa yang dipelajari oleh model. Bab-bab berikutnya membangun pemahaman tentang data, sampel, populasi, notasi matematika, dan probabilitas. Setelah itu, kita masuk ke alur kerja pemodelan, fungsi kerugian, optimisasi, regresi, klasifikasi, metode berbasis kemiripan, pohon keputusan, ensembel, bias-variansi, regularisasi, validasi, evaluasi, kalibrasi, interpretabilitas, pergeseran distribusi, kausalitas, dan etika.

Urutan ini disengaja. Banyak pembaca ingin segera belajar algoritma, tetapi algoritma tanpa pemahaman data dan evaluasi mudah menyesatkan. Sebaliknya, jika kita memahami bagaimana data dikumpulkan, bagaimana model dilatih, bagaimana kesalahan diukur, dan bagaimana hasil diuji, maka algoritma menjadi lebih mudah dipahami sebagai alat, bukan sebagai sihir.

Di akhir buku, tujuan kita bukan hanya mampu menjalankan kode pembelajaran mesin. Tujuan yang lebih penting adalah mampu menulis laporan seperti ini:

Model ini dilatih pada data tertentu, dengan fitur tertentu, untuk memprediksi target tertentu. Data dipisahkan dengan prosedur tertentu untuk menghindari kebocoran. Model dipilih berdasarkan validasi yang adil. Kinerjanya dievaluasi menggunakan metrik yang sesuai dengan tujuan aplikasi. Hasilnya berlaku terutama untuk populasi dan kondisi yang mirip dengan data pelatihan. Model tidak boleh digunakan di luar batas berikut tanpa evaluasi ulang.

Jika Anda dapat membuat pernyataan seperti itu dengan jujur dan rinci, Anda sedang bergerak menuju pembelajaran mesin yang dapat diperiksa.

Sikap belajar yang dianjurkan

Saat membaca buku ini, jangan hanya bertanya, “rumusnya apa?” atau “algoritmanya apa?” Tanyakan juga:

  • data apa yang dibutuhkan;
  • asumsi apa yang dibuat;
  • kesalahan apa yang sedang diminimalkan;
  • metrik apa yang digunakan;
  • apakah evaluasinya adil;
  • kapan model ini gagal;
  • siapa yang terdampak jika model salah.

Pertanyaan-pertanyaan ini mungkin terasa lambat pada awalnya. Namun, dalam praktik profesional, pertanyaan seperti inilah yang membedakan model yang hanya tampak bagus di notebook eksperimen dari model yang dapat dipertanggungjawabkan.

Pembelajaran mesin yang baik bukan hanya soal membuat prediksi. Pembelajaran mesin yang baik adalah kemampuan menghubungkan data, metode, evaluasi, dan batas klaim secara jernih. Itulah perjalanan buku ini.

References

Bishop, C. M. (2006). Pattern Recognition and Machine Learning. Springer.

Gebru, T., Morgenstern, J., Vecchione, B., Vaughan, J. W., Wallach, H., Daumé III, H., & Crawford, K. (2021). Datasheets for datasets. Communications of the ACM, 64(12), 86–92. https://doi.org/10.1145/3458723

Hastie, T., Tibshirani, R., & Friedman, J. (2009). The Elements of Statistical Learning: Data Mining, Inference, and Prediction (2nd ed.). Springer.

Kuhn, M., & Johnson, K. (2013). Applied Predictive Modeling. Springer.

Mitchell, M., Wu, S., Zaldivar, A., Barnes, P., Vasserman, L., Hutchinson, B., Spitzer, E., Raji, I. D., & Gebru, T. (2019). Model cards for model reporting. In Proceedings of the Conference on Fairness, Accountability, and Transparency (pp. 220–229). Association for Computing Machinery. https://doi.org/10.1145/3287560.3287596

Mitchell, T. M. (1997). Machine Learning. McGraw-Hill.

τ TheoryTrace