L1 vs L2: kenapa hanya satu yang membuat weight tepat nol
Regularization L1 dan L2 sama-sama mengecilkan weight model, angka yang dipelajarinya untuk setiap feature input. Hanya L1 yang mematikan feature sepenuhnya, dan penyebabnya adalah sebuah sudut.
2 menit baca · Lensa ML
- Setiap weight menentukan seberapa besar pengaruh feature-nya. Loss mengukur seberapa buruk model cocok dengan data training. Regularization mengurangi overfitting, yaitu ketika model menghafal data training dan gagal pada data baru. Caranya dengan menambahkan penalti ke loss: biaya ekstra untuk weight yang besar. L2, yang juga disebut ridge, memberi penalti pada jumlah kuadrat weight. L1, yang juga disebut lasso, memberi penalti pada jumlah nilai absolut weight. Penalti yang sama bisa dibaca sebagai batas seberapa besar weight boleh tumbuh. Dengan dua weight, batas itu berupa bentuk: belah ketupat untuk L1, lingkaran untuk L2.
- Setiap oval adalah kontur loss. Semua titik pada satu oval punya loss yang sama, seperti garis pada peta yang menghubungkan titik-titik setinggi. Titik putih adalah best fit tanpa penalti, dan oval membesar seiring loss naik. Model berhenti di tempat oval terkecil pertama kali menyentuh bentuk itu. Titik tersebut punya loss terendah di antara weight yang diizinkan.
- Sudut-sudut belah ketupat berada di sumbu, dan oval yang membesar sering mencapai sudut sebelum menyentuh sisi mana pun. Di sudut, satu weight tepat bernilai 0. Di panel kiri, oval bertemu sudut atas, jadi w₁ = 0. Lingkaran tidak punya sudut. Tepinya melengkung halus, jadi oval menyentuhnya di tempat kedua weight mengecil, tetapi tidak nol. Di panel kanan, w₁ bernilai 0,35.
Intinya
Pakai L1 kalau kamu ingin model hanya menyimpan sedikit feature, karena weight nol menghapus feature-nya dari model. Pakai L2 kalau kamu ingin mempertahankan semua feature, masing-masing dengan weight lebih kecil. Elastic net menggabungkan kedua penalti kalau kamu ingin sedikit dari keduanya.
Pelajari lebih dalam · interaktif
Regularization
Geser kekuatan penalti dan lihat weight mencapai nol satu per satu.
Buka penjelasan interaktif