Modul 4: Loss Function

Menilai Seberapa "Bodoh" Model Kita Saat Ini

📉 Mengapa Kita Butuh "Kerugian"?

Tujuan utama Neural Network adalah membuat prediksi yang akurat. Tapi saat pertama kali dijalankan (inisialisasi), bobot-bobot ($W$) diisi secara acak. Jadi, prediksinya pasti salah besar (ngawur).

Untuk memperbaiki diri, model harus tahu seberapa salah dia. Nilai kesalahan ini disebut Loss atau Cost.

📏 Jenis-Jenis Loss Function

Tergantung masalahnya, cara kita menghitung error berbeda-beda.

1. Mean Squared Error (MSE)
Untuk Regresi (Angka)

Kita menghitung selisih kuadrat antara prediksi dan target.

$$ L = \frac{1}{2} (\hat{y} - y)^2 $$

Kenapa dikuadratkan? Agar error negatif (-5) dan positif (5) tidak saling meniadakan, dan agar error besar dihukum lebih berat.

2. Binary Cross-Entropy
Untuk Klasifikasi (Ya/Tidak)

Rumusnya terlihat agak menyeramkan, tapi efektif untuk probabilitas.

$$ L = - [y \log(\hat{y}) + (1 - y) \log(1 - \hat{y})] $$

Jika target $y=1$ tapi prediksi $\hat{y} \approx 0$, nilai Log-nya akan meledak (Loss sangat besar). Ini memaksa model untuk sangat yakin.

🏔️ Cost Function (J)

Loss ($L$) adalah error untuk satu data saja. Tapi kita punya ribuan data latih. Rata-rata dari semua Loss disebut Cost Function ($J$).

$$ J(W, b) = \frac{1}{m} \sum_{i=1}^{m} L(\hat{y}^{(i)}, y^{(i)}) $$
Visualisasi Error Surface
Bobot (W) Cost (J) Start (Error Tinggi) Global Minimum

Kita ingin bola merah turun ke titik hijau (Lembah Minimum).

Bagaimana Cara Turun Gunung?

Kita sudah tahu kita ada di puncak gunung (error tinggi). Tapi jalan mana yang harus kita ambil untuk turun ke lembah? Kita tidak bisa melihat (karena dimensinya jutaan). Kita hanya bisa meraba kemiringan tanah. Inilah yang akan kita bahas di modul pamungkas: Backpropagation & Gradient Descent.