Classifying MNIST DataSet – Pendahuluan

Lesson Classifying MNIST Dataset Pendahuluan akan memperkenalkan apa itu MNIST dataset dan tahapan apa yang akan digunakan dalam membuat model untuk melakukan klasifikasi data MNIST.

Ya, akhirnya, setelah berbagai lesson pendahuluan tentang teori seputar machine learning, akhirnya kita mulai coding. Namun sebelum memulai coding, mari kita bahas sedikit mengenai MNIST.

Mengapa MNIST

MNIST Classification adalah hello world untuk machine learning. Tujuan dari MNIST Classfication adalah menggunakan input gambar, dan menentukan angka pada gambar tersebut.

MNIST dataset terdiri dari 70000 images dari angka yang ditulis dengan tangan. Dataset ini cocok digunakan untuk course, karena data cukup besar dan data sudah di preprocessing, sudah terbagi menjadi data training dan test.

mnist dataset
Contoh MNIST Dataset, source: wikipedia

Selain itu MNIST adalah visual problem, kita dapat melihat data, dan kita juga tahu apa yang diharapkan. Oleh karena itu problem lebih mudah didefinisikan dan dipahami.

Dataset ini didevelop oleh Yan LeCun, Corinna Cortes dan Christoper Burges. Yan LeCun adalah Kepala Facebook AI Research.

Pemahaman Data MNIST

Data MNIST adalah kumpulan image angka dari 0 s/d 9, maka akan ada 10 class yaitu dari 0 s/d 9.

Setiap gambar berukuran 28 x 28 pixels = 784, komputer akan melihatnya sebagai matrix 28 x 28. Contoh, komputer akan melihat angka 7 dari MNIST dataset seperti pada gambar dibawah.

contoh mnist data

Pendekatan yang dilakukan adalah mentransformasi matrix diatas menjadi matrix 784 x 1. Jadi untuk setiap image, kita akan memiliki 784 input. Dengan kata lain, setiap pixel akan digunakan sebagai input. Setiap pixel menunjukan intesitas warna, 0 = putih, 1 = hitam.

Untuk course, kita akan gunakan 2 hidden layer, dimana sudah tingkat akurasinya sudah cukup baik.

Lalu kita gunakan activation function softmax untuk menghasilkan output. Seperti sudah dipelajari, softmax akan menentukan probabilitas dari output.

Output akan ada 10 label, yaitu 0 s/d 9. Dan akan dibandingkan dengan data target. Baik data target ataupun output menggunakan one-hot encoding.

Contoh dari output adalah [0.1, 0, 0, 0.2, 0, 0, 0, 0, 0.7, 0] , menunjukan model 70% yakin ini adalah angka 8 (delapan)

Contoh data target, digit 0 adalah [1, 0, 0, 0, 0, 0, 0, 0, 0, 0] dan 5 adalah [0, 0, 0, 0, 0, 1, 0, 0, 0, 0]

Nah, setelah kita paham seperti apa data MNIST dan bagaimana kita akan menanganinya, mari kita mulai coding pada lesson berikutnya.

Sharing is caring: