Lesson Machine learning objective function akan membahas apa itu objective function dan tipenya.
Sebelumnya mari kita pahami konsep baru, yaitu target. Target adalah nilai yang dituju oleh model. Jadi tujuannya adalah membuat model yang menghasilkan output sedekat mungkin dengan nilai target.
Objective function adalah cara mengukur seberapa baik model menghasilkan output yang tepat terhadap target. Objective function dapat dibagi menjadi 2 type:
- loss, untuk supervised machine learning (fokus dari course ini). Sering disebut juga cost function. Makin rendah nilai loss function, akurasi model dalam prediksi makin tinggi.
- reward, untuk reinforcement machine learning, makin tinggi reward makin baik sebuah model. (tidak dibahas pada course ini).
Loss function dapat dibagi dua:
L2-norm loss, digunakan untuk regression. Pada dasarnya adalah jarak dari origin (0). Jadi makin kecil perbedaan antara output dan target, makin kecil nilai loss, berarti prediks makin akurat.
Cross-entropy loss, digunakan untuk classification. Untuk lebih jelas kita gunakan contoh, klasifikasi hewan seperti berikut:
- Gambar kucing, matrix target adalah [1, 0, 0], angka 1 menunjukan ini adalah kucing, 0 menunjukan bukan anjing dan bukan kuda.
- Gambar anjing, matrix target adalah [0, 1, 0]
- Gambar kuda, matrix target adalah [0, 0, 0]
Tabel dibawah adalah contoh model sedang memprediksi gambar anjing dan kuda.
| y=> prediksi, t= target | Cross-entropy | |
| Anjing | y = [0.4, 0.4, 0.2] t = [0, 1, 0] | -0 * ln 0.4 – 1 * ln 0.4 – 0 ln 0.2 = 0.92 => -1 * ln 0.4 => model tidak yakin ini kucing atau anjing. |
| Kuda | y = [0.1, 0.2, 0.7] t = [0, 0, 1] | -0 * ln 0.1 – 0 * ln 0.2 – 1 * ln 0.7 = 0.36 => -1 * ln 0.7 => model yakin 70% ini adalah kuda. |