implementasi jaringan saraf tiruan

Implementasi Jaringan Saraf Tiruan Dalam 4 Baris Kode

Perhatikan kode implementasi jaringan saraf tiruan di bawah:

Yups, Implementasi Jaringan Saraf Tiruan kini tidaklah sulit lagi. Cukup dengan empat baris di atas kita telah membuat melatih dan mengevaluasi jaringan saraf tiruan dengan sebuah hidden layer (Multi Layer Perceptron)

Scikit-learn merilis fitur MLPClassifier ini sejak di versi 0.18. Saya salah seorang yang termasuk menunggu fitur ini rilis saat itu. Karena sebelumnya, untuk implementasi jaringan saraf tiruan saya menggunakan Theano atau coding dari scratch untuk membuat jaringan saraf tiruan. Meskipun ini hanya sebuah fungsi library, tapi menurut saya fungsi ini sudah cukup bagus untuk kasus-kasus sederhana.

Kode diatas adalah potongan program dari repositori klasifikasi data Iris saya. Tentu saja ketika penggunaannya kita masih harus melengkapi dengan fungsi untuk me-load data, pre-proses, dan sebagainya.

Penjelasan Program

Baris 1: kita mengimport fungsi MLPClassifier

Baris 2: kita membuat sebuah objek MLPClassifier yang saya beri nama “mlp”. Lalu saya tentukan hidden_layer_size bernilai (10) yang artinya saya menambahkan sebuah hidden layer dengan 10 neuron. Lalu kita mengatur solver atau algoritma optimasi yang akan digunakan, di atas saya menggunakan ‘sgd’, singkatan dari Stochastic Gradient Descent (Baca artikel sebelumnya tentang Backpropagation). Saya juga mengatur learning rate bernilai 0.01. Dan terakhir saya memberi nilai 500 untuk parameter maksimum iterasi. MLPCLassifier memiliki early stopping algorithm yang menghentikan iterasi ketika proses training tidak membaik jadi tidak selalu berhenti di banyak epoch.

Baris 3: Latih model dengan data train

Baris 4: Evaluasi model dengan data tes

That’s it! dan kita juga bisa menggunakan MLPClassifer untuk “Deep Learning” sederhana, alias JST dengan jumlah layer yang banyak. Kita hanya perlu mengubah bagian hidden_layer_sizes. Misalnya kita atur hidden_layer_sizes=(10,10,10) artinya kita membuat 3 hidden layer dengan masing-masing 10 neuron.

source image: Flickr

About the author

Rian Adam

View all posts

Leave a Reply