Epoch, Iteration, dan Stop Condition

Perkembangan Soft-computing menciptakan istilah-istilah baru yang sebelumnya belum pernah ada. Hal ini terjadi karena soft computing mengadopsi istilah-istilah lain. Sebagai contoh dalam algoritma genetika, istilah-istilah mutasi, kromosom, dan istilah-istilah yang berasal dari teori genetik dan evolusi menjadi istilah dalam ilmu komputer. Bahkan algoritma yang sudah sejak lama digunakan sudah bergeser ke arah metode. Metode lebih general dibanding algoritma yang lebih spesifik dan penerapan khusus. Jika Anda perhatikan algoritma genetika, beberapa tulisan menulisnya dalam bahasa Inggris dengan Genetic Algorithms dengan tambahan “s” di belakang algoritma. Hal ini karena algoritma genetika melibatkan beberapa algoritma seperti roulette wheel, encoding ke bits string dan sebaliknya (decoding), dan lain-lain. Namun beberapa buku tidak menambahkan “s” di belakang algoritma (Genetic Algorithm) dengan anggapan bahwa algoritma genetika adalah satu metode.

Beberapa rekan menanyakan istilah terkenal dalam machine learning yaitu “Epoch”. Banyak yang mengartikannya dengan iterasi. Tetapi mengapa tidak mengambil istilah iterasi saja? Jawabannya berasal dari training artificial neural network. Salah satu metode training, yaitu propagasi balik (backpropagation), menggunakan istilah epoch karena ketika melakukan satu kali iterasi dilakukan dengan rambatan balik. Untuk gampangnya, misalnya satu iterasi melibatkan proses a-b-c-d, maka epoch dalam satu “iterasi”-nya (dengan istilah satu kali epoch) melibatkan a-b-c-d-c-b-a. Dua iterasi: a-b-c-d-a-b-c-d, sementara dua epoch: a-b-c-d-c-b-a-b-c-d-c-b-a. Atau gampangnya iterasi itu epoch tanpa rambatan balik (hanya maju saja).

Beberapa rekan juga menanyakan metode yang cocok untuk stop condition. Untuk iterasi, sejak dulu kita sudah mengenal dengan error atau delta error. Jika error antara satu iterasi dengan iterasi berikutnya cukup kecil maka proses perhitungan berhenti. Error yang saat ini sering digunakan adalah Mean Square Error. Silahkan gunakan metode lain, misalnya Gradient Descent dengan prinsip kemiringan. Kemiringan diambil dari posisi saat ini dibanding epoch maupun iterasi sebelumnya. Jika masih besar selisihnya berarti masih miring. Ibaratnya kendaraan beroda jika masih miring masih bergerak turun, sementara jika sudah tidak begitu miring jalanan-nya, kendaraan itu bergerak perlahan, dan walaupun belum berhenti, dalam komputasi sudah dihentikan demi efisiensi. Untuk prakteknya perhatikan grafik hasil pelatihan jaringan syaraf tiruan di akhir prosesnya. Teringat saya ketika presentasi hasil penelitian di kampus. Karena reviewer adalah doktor dari FAI mempertanyakan mengapa perlu “pelatihan” karena buang-buang waktu dan biaya (dikiranya pelatihan JST itu: pelatihan/kursus/workshop).

Iklan