Generalisasi: Bahaya Overfitting

Modul ini berfokus pada generalisasi. Untuk mengembangkan beberapa intuisi tentang konsep ini, Anda akan melihat tiga gambar. Anggaplah bahwa setiap titik dalam gambar ini mewakili posisi pohon di hutan. Kedua warna memiliki arti sebagai berikut:

  • Titik biru menandakan pohon yang sakit.
  • Titik oranye menandakan pohon yang sehat.

Setelah memahami penjelasan tersebut, lihatlah Gambar 1.

Gambar ini berisi sekitar 50 titik, setengahnya berwarna biru dan setengah lainnya oranye. Titik berwarna oranye kebanyakan berada di kuadran barat daya, meski beberapa titik sedikit tergelincir ke dalam tiga kuadran lainnya. Titik berwarna biru kebanyakan berada di kuadran timur laut, tetapi beberapa titik juga tersebar ke kuadran lain.

Gambar 1. Pohon yang sakit (biru) dan sehat (oranye).

Dapatkah Anda bayangkan model yang baik untuk memprediksi pohon yang sakit atau sehat berikutnya? Luangkan waktu sebentar untuk membayangkan busur imajiner yang membagi antara titik biru dan titik oranye, atau membayangkan Anda menyatukan tumpukan oranye atau biru. Kemudian, lihat Gambar 2, yang menunjukkan cara model machine learning tertentu memisahkan pohon yang sakit dari pohon yang sehat. Perlu diperhatikan bahwa model ini menghasilkan kerugian yang sangat rendah.

 

Meski menghasilkan kerugian yang rendah, tetapi tetap merupakan model yang buruk?

Gambar 3 menunjukkan hal yang terjadi saat kita menambahkan data baru ke model. Hasilnya, model tersebut sangat tidak sesuai dengan data baru. Perhatikan bahwa model tersebut salah mengategorikan banyak data baru.

Ilustrasi yang sama seperti Gambar 2, namun dengan sekitar 100 titik tambahan. Banyak titik baru jatuh jauh di luar model yang diprediksi.

Gambar 3. Model berfungsi dengan buruk saat memprediksi data baru.

Model yang ditampilkan pada Gambar 2 dan 3 mengalami overfitting keunikan data yang dilatihnya. Model yang overfitting memiliki kerugian yang rendah selama pelatihan tetapi berfungsi dengan buruk saat memprediksi data baru. Jika model sangat sesuai dengan sampel saat ini, bagaimana kita bisa merasa yakin model akan membuat prediksi yang baik pada data baru? Seperti yang akan Anda lihat nanti, overfitting disebabkan oleh pembuatan model yang lebih kompleks dari yang diperlukan. Penekanan mendasar machine learning adalah kemampuan dalam menyesuaikan data kita dengan baik, serta menyesuaikan data sesederhana mungkin.

Tujuan machine learning adalah memprediksi data baru yang diambil dari distribusi probabilitas yang benar (tersembunyi) dengan baik. Sayangnya, model tidak dapat mengetahui apa yang sesungguhnya terjadi; model hanya dapat mengambil sampel dari kumpulan data pelatihan. Jika model sangat sesuai dengan contoh saat ini, bagaimana Anda bisa meyakini bahwa model juga akan membuat prediksi yang baik pada contoh yang belum pernah dilihat?

William dari Ockham, seorang biarawan dan filsuf di abad ke-14, menyukai kesederhanaan. Dia percaya bahwa para ilmuwan harus lebih memilih rumus atau teori yang lebih sederhana dibanding yang lebih kompleks. Untuk menerapkan prinsip pisau Ockham dalam istilah machine learning:

Semakin kompleks model ML, semakin besar kemungkinan munculnya hasil empiris yang baik selain karena keunikan sampel.

Di zaman modern ini, kita telah memformalkan prinsip pisau Ockham ke dalam bidang teori pembelajaran statistik dan teori pembelajaran komputasi. Bidang ini telah mengembangkan batas generalisasi-- sebuah deskripsi statistik tentang kemampuan model dalam menggeneralisasi data baru berdasarkan faktor seperti:

  • kompleksitas model
  • performa model pada data pelatihan

Meski analisis teori memberikan jaminan formal berdasarkan asumsi yang ideal, dalam praktiknya, model bisa sulit untuk diterapkan. Kursus Singkat Machine Learning berfokus pada evaluasi empiris untuk menilai kemampuan model dalam menggeneralisasi data baru.

Model machine learning bertujuan untuk membuat prediksi yang baik pada data baru yang sebelumnya tidak terlihat. Namun, jika Anda membuat model dari kumpulan data, bagaimana cara Anda mendapatkan data yang sebelumnya tidak terlihat? Salah satu caranya adalah dengan membagi kumpulan data Anda menjadi dua subset:

  • set pelatihan—subset untuk melatih model.
  • set pengujian—subset untuk menguji model.

Pada umumnya, performa yang baik pada set pengujian adalah indikator yang berguna dari performa yang baik pada data baru, dengan asumsi bahwa:

  • Set pengujian cukup besar.
  • Anda tidak curang dengan menggunakan set pengujian yang sama berulang kali.

Petunjuk ML

Tiga generalisasi panduan asumsi dasar berikut:

  • Kita mengambil contoh d.i.i (terdistribusi secara identik dan independen) secara acak dari distribusi. Dengan kata lain, contoh tidak saling memengaruhi. (Penjelasan alternatif: d.i.i (terdistribusi secara identik dan independen) adalah cara untuk mengacu pada variabel yang tidak beraturan.)
  • Distribusi ini bersifat tetap; yaitu distribusi tidak berubah dalam kumpulan data.
  • Kita mengambil contoh dari partisi dari distribusi yang sama.

Dalam praktiknya, terkadang kita melanggar asumsi ini. Misalnya:

  • Pertimbangkan model yang memilih iklan untuk ditampilkan. Asumsi d.i.i (terdistribusi secara identik dan independen) akan dilanggar jika model mendasarkan pilihan iklannya, sebagian, pada iklan apa yang sebelumnya dilihat oleh pengguna.
  • Pertimbangkan kumpulan data yang berisi informasi penjualan retail selama satu tahun. Konten yang dibeli pengguna berubah setiap musim, yang akan melanggar stasioneritas.

Saat kita menemukan bahwa salah satu dari tiga asumsi dasar dilanggar, kita harus memerhatikan metrik dengan cermat.