Cost Function

Karena buku tulisnya sedang menghilang entah kemana, jadi nyatetnya di sini aja ^,^

Cost function, atau Loss Function, atau disebut juga Error Function adalah fungsi (atau function) yang digunakan untuk mengetahui seberapa besar perbedaan hasil prediksi (predicted output) yang dihasilkan oleh model matematika dibandingkan output sesungguhnya (actual output).

Jadi setiap kali ingin mengevaluasi algoritma prediksi (yang didevelop sendiri maupun yang sudah ada seperti Regresi Linear, Regresi Logistik, dsb), dapat dilakukan dengan salah satu fungsi Cost Function.

Setidaknya ada dua jenis permasalahan yang kemudian evaluasinya dapat ditentukan dengan nilai Cost Function:

a) Permasalahan Regresi (dimana data yang digunakan adalah data kontinyu, misalnya data harga, income, umur, dll)

  1. Mean Error (ME)
  2. Mean Squared Error (MSE)
  3. Mean Absolute Error (MAE)
  4. Root Mean Squared Error (RMSE)
  5. dll

b) Permasalahan Klasifikasi (dimana data yang digunakan bukan data yang bersifat kontinyu, misalkan bilangan biner ‘true’ atau ‘false’, bilangan yang menunjukkan kelompok tertentu seperti kelompok 1, 2, 3 dst, dsb)

  1. Confusion Matrix, dan dilanjutkan dengan Precision & Recall-untuk klasifikasi multi-class (link) atau ROC (Receiver Operating Characteristics)-untuk klasifikasi biner
  2. Square Loss
  3. Exponential Loss
  4. Logistic Loss
  5. dll, bisa direfer ke link wikipedia di bawah.

Luaran dari Cost function berupa angka desimal yang menunjukkan perbedaan antara hasil prediksi dengan actual outputnya (kadang disebut juga target output) seperti yang dijelaskan di atas. Semakin besar nilai Cost functionnya, maka semakin besar pula biaya (atau cost), atau loss, atau error dari model yang digunakan.

Idealnya, nilai Cost Function dari sebuah model adalah nol (0), yang artinya predicted output sama dengan actual output. Namun, kenyataannya banyak faktor yang menyebabkan kondisi ideal ini sulit untuk ditemukan, misalnya data yang terdistorsi oleh noise, informasi yang tidak lengkap, dan lain sebagainya. Maka dari itu yang dilakukan kemudian adalah meminimalisasi cost/loss/error, di mana bila hasil Cost Function semakin mendekati nilai nol maka model akan memiliki performa yang semakin baik dalam melakukan prediksi ke depannya.

Jadi nilai Cost Function dapat digunakan sebagai indikator seberapa baik performa sebuah model prediktor.

Di Machine Learning, klo udah ngomongin optimalisasi Cost Function..paling sering ditemui istilah atau metode “Gradient Descent“. Sederhananya, metode ini digunakan untuk mencari nilai parameter (atau koefisien) dari suatu fungsi yang dapat meminimalkan nilai Cost Function-nya.

Referensi:

  1. Loss Function (Wikipedia Link)
  2. Loss Function for Classification (Wikipedia Link)
  3. Cost Function is No Rocket Science! (Link)

Leave a comment