Lompat ke konten Lompat ke sidebar Lompat ke footer

Mengenal 6 Jenis Loss Function pada Machine Learning

Loss function merupakan salah satu komponen penting dari machine learning. Loss bermakna kesalahan prediksi oleh algoritma. Sedangkan cara menghitung loss tersebut disebut dengan loss function.

Mengenal 6 Jenis Loss Function pada Machine Learning

Di artikel ini kita akan belajar mengenai pengertian dan jenis-jenis loss function yang digunakan pada machine learning khususnya neural network atau jaringan saraf tiruan.

Daftar Isi

Pengertian Loss Function

Loss function adalah sebuah fungsi yang digunakan untuk menghitung perbedaan antara keluaran yang dibuat oleh algoritma saat ini dengan keluaran yang diharapkan. 

Metode ini akan mengevaluasi seberapa baik algoritma dalam memodelkan data dan menghasilkan keluaran yang tepat. Evaluasi akan diproses menggunakan formula matematika tertentu.

Jika prediksi model mengandung banyak kesalahan, loss function akan menghasilkan angka yang lebih tinggi. Sebaliknya jika model sudah cukup bagus, maka loss function akan memberikan nilai yang lebih rendah.

Loss function sangat erat kaitannya dengan akurasi model yang ada pada algoritma deep learning seperti neural network.

Saat kita mengubah bagian dari algoritma untuk mencoba dan meningkatkan model, loss function berguna untuk memberi tahu apakah modifikasi tersebut membawa pengaruh yang lebih baik. Caranya dengan melihat seberapa besar nilai loss function yang dihasilkan. Semakin kecil maka semakin baik.

Jenis-jenis Loss Function

Terdapat beberapa cara untuk menghitung loss. Namun, secara umum loss function dapat dikelompokkan menjadi 2, yakni untuk tugas klasifikasi dan regresi.

  • Klasifikasi - yaitu memprediksi label, dengan mengidentifikasi kategori mana yang dimiliki suatu objek berdasarkan parameter yang berbeda.
  • Regresi - yaitu memprediksi output yang berkelanjutan, dengan menemukan korelasi antara variabel dependen dan independen.

Berikut ini adalah jenis-jenis loss function untuk tugas klasifikasi dan regresi.

1. Cross Entropy

Cross Entropy adalah loss function yang banyak digunakan pada tugas klasifikasi. Cross Entropy mengukur perbedaan antara dua distribusi probabilitas untuk variabel acak tertentu atau serangkaian peristiwa. 

Cross Entropy digunakan saat menyesuaikan bobot model selama training. Tujuannya adalah untuk meminimalkan loss, yaitu semakin kecil loss semakin baik modelnya. Model yang sempurna memiliki cross-entropy loss 0. Metode ini biasanya berfungsi untuk klasifikasi multi-kelas dan multi-label.

Cross-entropy dapat dihitung menggunakan probabilitas kejadian dari P dan Q, sebagai berikut:

rumus cross entropy

Dimana H() adalah fungsi cross-entropy, P merupakan distribusi target dan Q adalah perkiraan distribusi target.

Ada 3 jenis Cross Entropy, yakni:

  • Binary Cross Entropy - digunakan untuk tugas biner
  • Categorical Cross Entropy - digunakan untuk tugas biner dan multiclass. Jenis Cross Entropy ini membutuhkan label untuk dikodekan sebagai kategori. Sebagai contoh;one-hot-encoding untuk 3 kelas akan menggunakan representasi ini: [0, 1, 0], [1,0,0]…)
  • Sparse Cross Entropy - digunakan untuk tugas biner dan multiclass. Jenis Cross Entropy ini membutuhkan label berupa bilangan bulat; 0 atau 1 atau n

2. Log Loss

Log Loss, merupakan Binary Cross Entropy. Loss function jenis ini mengukur kinerja model klasifikasi, di mana outputnya adalah probabilitas dengan nilai antara 0 dan 1.

Saat probabilitas yang diprediksi semakin jauh dari label sebenarnya, Log loss akan meningkat. Model yang sempurna akan memiliki Log Loss 0.

Pada gambar di atas, kita dapat melihat bahwa ketika probabilitas prediksi mendekati 1, Log Loss berkurang. Sebaliknya, kita juga melihat bahwa ketika probabilitas yang diprediksi menurun, Log Loss meningkat dengan cepat.

Berikut adalah formula dari log loss

rumus log loss

3. Hinge Loss

Hinge adalah loss function yang digunakan untuk tugas-tugas klasifikasi. Jenis fungsi loss ini menggabungkan margin dari batas klasifikasi dalam menentukan nilai loss.

Hinge loss memberi penalti pada sampel yang salah klasifikasi. Bahkan meskipun sampel diklasifikasikan dengan benar, masih dimungkinkan dikenakan penalti jika margin dari decision boundary (batas keputusan) tidak cukup besar.

Hinge loss ini sebagian besar digunakan untuk menghitung loss pada algoritma SVM.

Adapun formula dari Hinge loss adalah:

rumus hinge loss

4. Mean Square Error Loss

Mean Square Error juga dikenal sebagai L2 regularization dan digunakan untuk tugas-tugas tegresi. Loss function ini digunakan untuk mengetahui seberapa dekat garis regresi dengan sekumpulan titik data.

Mean Square Error menghitung perbedaan kuadrat antara output saat ini dan output yang diharapkan dibagi dengan jumlah output. 

Mean Square Error loss cenderung lebih sensitif terhadap outlier karena formulanya menggunakan selisih kuadrat.

Berikut adalah formula atau rumus dari Mean Square Error Loss:

rumus Mean Square Error loss

5. Mean Absolute Error Loss

Mean Absolute Error Loss dikenal juga sebagai L1 regularization dan digunakan untuk tugas regresi. Function loss ini menghitung rata-rata kuadrat kesalahan antara data berlabel dan data yang diprediksi.

Selisih absolut antara output saat ini dan output yang diharapkan kemudian dibagi dengan jumlah output. Tujuannya adalah untuk meminimalkan perbedaan absolut ini.

Mean Absolute Error tidak sensitif terhadap outlier karena didasarkan pada nilai absolut, tidak seperti Mean Square Error.

Untuk menghitung Mean Absolute Error, kita perlu mengambil nilai selisih antara prediksi model dan label output yang sebenarnya. Selanjutnya terapkan fungsi absolut ke nilai tersebut, dan kemudian buat perhitungan rata-rata untuk seluruh kumpulan data.

Adapun formula dari Mean Absolute Error Loss adalah sebagai berikut:

rumus Mean Absolute Error Loss

6. Huber Loss

Huber Loss merupakan kombinasi dari Mean Absolute Error (MAE) dan Mean Square Error (MSE). Perbedaannya adalah adanya parameter tambahan yang disebut delta (δ).

Delta adalah hyperparameter untuk menentukan rentang MAE dan MSE secara iteratif (berulang) untuk memastikan nilai delta yang benar.

Nilai delta ini nantinya dipakai untuk mengendalikan kapan kita harus beralih dari satu fungsi ke fungsi lainnya.

Untuk nilai loss yang lebih kecil dari delta, kita beralih menggunakan MSE. Sedangkan untuk nilai loss yang lebih besar dari delta, kita gunakan Mean Absolute Error.

rumus huber loss

Penutup

Demikianlah artikel seputar 6 jenis loss function yang bisa kita gunakan untuk menghitung nilai kesalahan klasifikasi dan regresi pada algoritma machine learning. Semoga bermanfaat.

Apabila Anda suka dengan artikel serupa, Anda bisa mengunjungi rubrik Deep Learning dan Machine Learning. Jangan lupa kunjungi juga artikel lainnya mengenai "Algoritma Feedforward Neural Network"

Salam!

Referensi:

Trivusi
Trivusi Ikatlah ilmu dengan menulis. Menebar manfaat dengan berbagi :)

Posting Komentar untuk "Mengenal 6 Jenis Loss Function pada Machine Learning"