CategoriesData Science

Perbedaan Antara categorical_crossentropy dengan sparse_categorical_crossentropy

Apa itu loss function?

Dalam konteks optimization algorithm seperti yang digunakan dalam Convolutional Neural Network (CNN), Loss function adalah fungsi yang digunakan untuk menghitung kandidat sebuah solusi, misalnya weight dalam neural network. Loss function juga sering disebut dengan istilah objective function atau optimization score function.

Loss function merupakan satu dari 3 parameter yang harus ditentukan saat pembuatan model, misalnya model untuk CNN.

model.compile(loss='categorical_crossentropy',
              optimizer='adam', 
              metrics=['accuracy'])

Apa perbedaan antara categorical_crossentropy dengan sparse_categorical_crossentropy?

categorical_crossentropy dan sparse_categorical_crossentropy sering kita lihat digunakan saat melakukan klasifikasi dengan banyak kelas (multiclass classification). Lalu apa perbedaannya?

Jawaban singkatnya adalah:

  • Jika kita menggunakan one-hot encoder dalam menyimpan label, maka gunakan categorical_crossentropy, misalnya data label anda berbentuk
[[1,0,0],
 [0,1,0],
 [0,0,1],]
  • Jika kita menggunakan integer dalam menyimpan label, maka gunakan sparse_categorical_crossentropy, misalnya data label anda berbentuk
[1,
 2,
 3,]

Saya sebelumnya telah membuat dua versi program CNN. Program yang pertama menggunakan categorical_crossentropy, yang kedua menggunakan sparse_categorical_crossentropy. Bila tertarik, silahkan membukanya tautan berikut ini:

Tulisan ini merupakan terjemahan bebas dengan sedikit modifikasi dari artikel ini.

Leave a Reply

Your email address will not be published. Required fields are marked *