Overfitting: Kompleksitas model

Unit sebelumnya memperkenalkan model berikut, yang salah mengategorikan banyak pohon dalam set pengujian:

Gambar 16. Gambar yang sama dengan Gambar 13. Ini adalah bentuk kompleks yang salah mengategorikan banyak pohon.
Gambar 16. Model kompleks yang berperilaku tidak semestinya dari unit sebelumnya.

Model sebelumnya berisi banyak bentuk kompleks. Apakah model yang lebih sederhana akan menangani data baru dengan lebih baik? Misalkan Anda mengganti model kompleks dengan model yang sangat sederhana--garis lurus.

Gambar 17. Model garis lurus yang sangat baik
            dalam memisahkan pohon yang sakit dari pohon yang sehat.
Gambar 17. Model yang jauh lebih sederhana.

Model sederhana lebih umum daripada model kompleks pada data baru. Artinya, model sederhana membuat prediksi yang lebih baik pada set pengujian daripada model kompleks.

Kesederhanaan telah mengalahkan kompleksitas sejak lama. Faktanya, preferensi untuk kesederhanaan sudah ada sejak zaman Yunani kuno. Berabad-abad kemudian, seorang biarawan abad keempat belas bernama William of Occam memformalkan preferensi kepada kesederhanaan dalam filosofi yang dikenal sebagai pisau cukur Occam. Filosofi ini tetap menjadi prinsip dasar yang penting dari banyak ilmu, termasuk machine learning.

Latihan: Periksa pemahaman Anda

Anda sedang mengembangkan persamaan fisika. Manakah dari formula berikut yang lebih sesuai dengan Occam's Razor?
Formula dengan tiga variabel.
Tiga variabel lebih sesuai dengan Occam daripada dua belas variabel.
Formula dengan dua belas variabel.
Dua belas variabel tampaknya terlalu rumit, bukan? Dua formula fisika paling terkenal sepanjang masa (F=ma dan E=mc2) masing-masing hanya melibatkan tiga variabel.
Anda sedang mengerjakan project machine learning baru, dan akan memilih fitur pertama. Berapa banyak fitur yang harus Anda pilih?
Pilih 1–3 fitur yang tampaknya memiliki kekuatan prediktif yang kuat.
Sebaiknya pipeline pengumpulan data Anda dimulai dengan hanya satu atau dua fitur. Hal ini akan membantu Anda mengonfirmasi bahwa model ML berfungsi sebagaimana mestinya. Selain itu, saat membuat dasar pengukuran dari beberapa fitur, Anda akan merasa telah membuat progres.
Pilih 4–6 fitur yang tampaknya memiliki kekuatan prediktif yang kuat.
Anda mungkin pada akhirnya akan menggunakan banyak fitur ini, tetapi sebaiknya mulailah dengan lebih sedikit. Lebih sedikit fitur biasanya berarti lebih sedikit kerumitan yang tidak perlu.
Pilih sebanyak mungkin fitur, sehingga Anda dapat mulai mengamati fitur mana yang memiliki kekuatan prediktif terkuat.
Mulai dari yang lebih kecil. Setiap fitur baru akan menambahkan dimensi baru ke set data pelatihan Anda. Saat dimensi meningkat, volume ruang meningkat begitu cepat sehingga data pelatihan yang tersedia menjadi jarang. Makin sedikit data Anda, makin sulit bagi model untuk mempelajari hubungan antara fitur yang benar-benar penting dan label. Fenomena ini disebut "kutukan dimensi".

Regularisasi

Model machine learning harus memenuhi dua sasaran yang bertentangan secara bersamaan:

  • Cocok dengan data.
  • Sesuaikan data sesederhana mungkin.

Salah satu pendekatan untuk menjaga model tetap sederhana adalah dengan menghukum model yang kompleks; yaitu, memaksa model menjadi lebih sederhana selama pelatihan. Menghukum model kompleks adalah salah satu bentuk regularisasi.

Kerugian dan kompleksitas

Sejauh ini, kursus ini telah menyarankan bahwa satu-satunya sasaran saat pelatihan adalah meminimalkan kerugian; yaitu:

$$\text{minimize(loss)}$$

Seperti yang telah Anda lihat, model yang hanya berfokus pada meminimalkan kerugian cenderung mengalami overfitting. Algoritma pengoptimalan pelatihan yang lebih baik meminimalkan beberapa kombinasi kerugian dan kompleksitas:

$$\text{minimize(loss + complexity)}$$

Sayangnya, kerugian dan kompleksitas biasanya memiliki hubungan terbalik. Seiring kompleksitas meningkat, kerugian menurun. Seiring dengan menurunnya kompleksitas, kerugian akan meningkat. Anda harus menemukan jalan tengah yang wajar saat model membuat prediksi yang baik pada data pelatihan dan data dunia nyata. Artinya, model Anda harus menemukan kompromi yang wajar antara kerugian dan kompleksitas.

Apa yang dimaksud dengan kompleksitas?

Anda telah melihat beberapa cara untuk mengukur kerugian. Bagaimana Anda akan mengukur kompleksitas? Mulai eksplorasi Anda melalui latihan berikut:

Latihan: Periksa intuisi Anda

Sejauh ini, kita masih cukup samar tentang apa sebenarnya kompleksitas. Manakah dari ide berikut yang menurut Anda akan menjadi metrik kompleksitas yang wajar?
Kompleksitas adalah fungsi dari bobot model.
Ya, ini adalah salah satu cara untuk mengukur kompleksitas beberapa model. Metrik ini disebut regularisasi 1.
Kompleksitas adalah fungsi dari kuadrat bobot model.
Ya, Anda dapat mengukur kompleksitas beberapa model dengan cara ini. Metrik ini disebut regularisasi 2.
Kompleksitas adalah fungsi dari bias semua fitur dalam model.
Bias tidak mengukur kompleksitas.