Overfitting: Kompleksitas model

Unit sebelumnya memperkenalkan model berikut, yang banyak melakukan kesalahan kategori pohon di set pengujian:

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

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

Gambar 17. Model garis lurus yang melakukan pekerjaan dengan baik
            memisahkan pohon yang sakit dari pohon yang sehat.
Gambar 17. Model yang jauh lebih sederhana.

Model sederhana dapat melakukan generalisasi dengan lebih baik daripada model yang kompleks pada data baru. Yaitu, model sederhana membuat prediksi yang lebih baik pada set pengujian daripada model yang kompleks.

Kesederhanaan telah lama mengalahkan kerumitan. Bahkan, preferensi untuk kesederhanaan berasal dari Yunani kuno. Berabad-abad kemudian, seorang friar abad keempat belas bernama William dari Occam meresmikan preferensi kesederhanaan dalam filosofi yang dikenal sebagai Occam's pisau cukur. Filosofi ini tetap menjadi prinsip dasar yang penting bagi banyak ilmu, termasuk machine learning tertentu.

Latihan: Menguji pemahaman Anda

Anda sedang mengembangkan persamaan fisika. Manakah di antara rumus berikut lebih dekat dengan Pisau Cukur Occam?
Formula dengan tiga variabel.
Tiga variabel lebih cocok untuk Occam daripada dua belas variabel.
Formula dengan dua belas variabel.
Dua belas variabel tampaknya terlalu rumit, bukan? Dua rumus fisika paling terkenal sepanjang masa (F=ma dan E=mc2) masing-masing hanya melibatkan tiga variabel.
Anda berada di project machine learning baru, dan akan memilih fitur pertama. Berapa banyak fitur yang sebaiknya Anda pilih?
Pilih 1–3 fitur yang tampaknya memiliki kemampuan prediksi yang kuat.
Sebaiknya pipeline pengumpulan data Anda memulai dengan hanya satu atau dua fitur. Hal ini akan membantu Anda mengonfirmasi bahwa model ML berfungsi sebagaimana mestinya. Juga, ketika Anda membangun {i>baseline<i} dari beberapa fitur, Anda akan merasa membuat kemajuan!
Pilih 4–6 fitur yang tampaknya memiliki kemampuan prediksi yang kuat.
Anda mungkin akhirnya menggunakan banyak fitur ini, tetapi akan lebih baik untuk mulailah dengan lebih sedikit. Lebih sedikit fitur biasanya berarti lebih sedikit hal yang tidak diperlukan widget tampilan jam.
Pilih fitur sebanyak mungkin, agar Anda dapat mulai mengamati fitur fitur memiliki kemampuan prediksi terkuat.
Mulai dengan yang lebih kecil. Setiap fitur baru menambahkan dimensi baru ke pelatihan Anda {i>dataset<i} aslinya. Saat dimensialitas meningkat, volume ruang meningkat begitu cepat sehingga data pelatihan yang tersedia menjadi renggang. Tujuan semakin jarang data Anda, maka semakin sulit bagi model untuk mempelajari hubungan antara fitur yang benar-benar penting dan label. Fenomena ini disebut "kutukan dimensi".

Regularisasi

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

  • Paskan data dengan baik.
  • Menyesuaikan data sesederhana mungkin.

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

Kehilangan dan kompleksitas

Sejauh ini, materi ini telah menyarankan bahwa satu-satunya tujuan ketika pelatihan adalah untuk meminimalkan kerugian; yaitu:

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

Seperti yang Anda lihat, model yang hanya berfokus untuk meminimalkan kerugian cenderung overfit. Algoritma pengoptimalan pelatihan yang lebih baik meminimalkan beberapa kombinasi kerugian dan kompleksitas:

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

Sayangnya, kerugian dan kompleksitas biasanya berbanding terbalik. Sebagai kompleksitas meningkat, kerugian menurun. Ketika kompleksitas menurun, kerugian akan meningkat. Anda harus menemukan jalan tengah yang wajar di mana model itu bagus prediksi pada data pelatihan dan data di dunia nyata. Dengan begitu, model Anda harus menemukan kompromi yang wajar antara kerugian dan kompleksitas.

Apakah kompleksitas itu?

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

Latihan: Periksa intuisi Anda

Sejauh ini, kita kurang memahami apa yang dimaksud dengan kompleksitas alamat IP internalnya. Manakah di antara ide-ide berikut ini yang menurut Anda masuk akal metrik kompleksitas ini?
Kompleksitas adalah fungsi dari bobot model.
Ya, ini adalah salah satu cara untuk mengukur beberapa model kompleksitas performa yang signifikan. Metrik ini disebut Regularisasi L1.
Kompleksitas adalah fungsi dari kuadrat bobot model.
Ya, Anda dapat mengukur beberapa model kompleksitasnya dengan cara seperti ini. Metrik ini disebut Regularisasi L2.
Kompleksitas adalah fungsi dari bias semua fitur dalam model transformer.
Bias tidak mengukur kompleksitas.