Apa itu loss function dalam machine learning?
Loss function mengukur seberapa salah prediksi model dalam satu angka. Fungsi ini membandingkan prediksi dengan nilai yang benar, lalu mengembalikan 0 untuk jawaban sempurna dan nilai yang lebih besar untuk jawaban yang lebih buruk. Melatih model berarti menyesuaikan parameternya supaya rata-rata loss pada data training sekecil mungkin.
Loss adalah satu-satunya sinyal yang dilihat optimizer, jadi pilihan loss menentukan apa yang dipedulikan model saat belajar. Model regresi biasanya memakai mean squared error atau mean absolute error. Model klasifikasi memakai binary cross-entropy atau categorical cross-entropy, dan model bahasa dilatih dengan cross-entropy atas token berikutnya. Tugas khusus menambahkan loss sendiri, seperti focal loss untuk object detection atau contrastive loss untuk embedding.
Ide utama
- Loss function mengubah selisih antara prediksi dan kebenaran menjadi satu angka.
- Training menyesuaikan parameter untuk meminimalkan rata-rata loss pada data.
- MSE menguadratkan error, sehingga error besar dan outlier mendominasinya.
- Cross-entropy adalah −log dari probabilitas yang diberikan ke kelas yang benar.
- Prediksi yang yakin tetapi salah mendapat loss cross-entropy yang sangat besar.
- Gradient dari loss memberi tahu tiap weight ke arah mana harus bergerak.
Pertanyaan umum
Kenapa tidak langsung melatih model dengan akurasi?
Akurasi berubah secara melompat: perubahan kecil pada weight biasanya tidak mengubah satu prediksi pun, sehingga gradient-nya nol hampir di semua tempat. Gradient descent tidak mendapat arah dari situ. Cross-entropy berubah secara halus mengikuti setiap probabilitas, dan menurunkannya cenderung menaikkan akurasi.
Kapan MAE lebih baik daripada MSE?
Pakai MAE kalau data punya outlier yang tidak boleh mendominasi training. Meminimalkan MSE memprediksi rata-rata target, sedangkan meminimalkan MAE memprediksi median, yang nyaris tidak bergeser karena outlier. Huber loss berperilaku seperti MSE untuk error kecil dan seperti MAE untuk error besar.
Loss function apa yang cocok untuk kelas yang tidak seimbang?
Weighted cross-entropy mengalikan loss tiap kelas dengan sebuah bobot, sering kali berbanding terbalik dengan seberapa umum kelas itu. Focal loss mengecilkan loss pada contoh yang sudah dijawab benar oleh model, sehingga training berfokus pada contoh yang langka dan sulit. Focal loss diperkenalkan untuk object detection, tempat jumlah kotak latar belakang jauh melebihi objek.
Kenapa training loss turun sementara validation loss naik?
Model sedang overfitting: ia menghafal detail contoh training yang tidak berlaku pada data baru. Perbaikan yang umum adalah menghentikan training di validation loss terendah, menambahkan regularization seperti weight decay atau dropout, serta mengumpulkan lebih banyak data atau memakai data augmentation.
Penjelasan terkait
- Gradient Descent · Optimasi dengan mengikuti kemiringan ke bawah
- Backpropagation · Cara network belajar dari kesalahannya
- Klasifikasi vs Regresi · Dua jenis prediksi dan kapan memakai masing-masing
- Softmax, Logit, dan Temperature · Mengubah skor mentah menjadi probabilitas
- Entropy dan Cross-Entropy · Mengukur kejutan, ketidakpastian, dan kualitas prediksi
- Regularization · Dropout, L1, dan L2 agar model tetap jujur
Referensi
- Goodfellow, Bengio & Courville (2016), "Deep Learning", section 6.2.1: Cost Functions
- Li et al. (2018), "Visualizing the Loss Landscape of Neural Nets"
- Szegedy et al. (2016), "Rethinking the Inception Architecture for Computer Vision" (label smoothing)
- Lin et al. (2017), "Focal Loss for Dense Object Detection"
Terakhir diperbarui