Dari dua jenis cara membuat Jaringan Syaraf Tiruan (JST), cara pembuatan dengan command window sebaiknya dilakukan jika Anda ingin membuat JST dengan beberapa hidden layer karea cara GUI (dengan nntool) tidak menyertakan hidden layer di dalamnya.
Sesuai dengan namanya, JST bermaksud membuat sistem yang mirip syaraf biologis dengan suatu algoritma (ingat, syaraf tiruan dengan “y”, bukan saraf, itu lain lagi artinya J ). Jika kita punya data masukan dengan keluaran tertentu maka kita dapat mengajarkan ke JST sehingga apabila ada masukan yang berbeda, sistem akan mampu memprediksi keluarannya berdasarkan aturan yang dipelajari lewat mekanisme learning/training.
Misal kita ingin mengajari JST pemangkatan. Tentu saja jika pemangkatan tidak perlu dengan JST, hard computing pun bisa. Tapi ini kita jadikan percobaan karena mudah dalam memverifikasikan hasilnya. Kenyataan di lapangan terkadang kita tidak menjumpai kasus yang memiliki formula matematis dalam menghitungnya misalnya tanda tangan, kita tidak dapat membuat formula matematis suatu tanda tangan.
Buat suatu input = [1 2 3 4 5 6 7 8 9 10]; dan output = [1 4 9 16 25 36 49 64 81 100]; yang merupakan pangkat dari input. Untuk membuat JST dengan katakanlah dua hidden layer dengan masing-masing layer memiliki 30 neuron. Banyak istilah asing ya .. emang bikin pusing, neuron itu merupakan analogi yang dalam hal ini fungsi alih yang fungsinya meneruskan sinyal atau sebaliknya mematikan sinyal. Saatnya meramu JST, misal kita butuh neuron input sebanyak data masukan, 10 buah dan keluaran 10 buah.

Sengaja nih saya gunakan image, biar Anda belajar dengan mengetik langsung (tidak copy – paste). Baris pertama bermaksud mendefinisikan matriks masukan, dilanjutkan dengan keluarannya. Karena keluaran (diistilahkan dengan target) didefinisikan maka JST yang kita buat masuk kategori Supervised Learning (pembelajaran terpandu). Baris ketiga bermaksud membuat suatu jaringan syaraf tiruan dengan dua buah hidden layer, masing-masing 30 neurons dan input dengan 10 neurons. Sebenarnya parameternya ada banyak (lihat baris keempat), goal, epoch, dan lain-lain. Sebaiknya lihat help pada matlab dengan mengetik help newff. Di akhir script, JST yang kita buat akan melakukan proses learning.

Perhatikan gambar di atas, tampak dua buah hidden layer. Apakah hasilnya akurat? Tentu saja tidak, saya dan siswa-siswa saya terkadang berkali-kali meramu JST sehingga dihasilkan hasil yang optimal. Untuk mengujinya, lakukan perintah “sim”.

Lihat simulasi yang terakhir, ngaco kan? Masak 3 kwadrat = 61? Tambahkan jumlah Neuron di lapis tersembunyi (Hidden Layer). Menurut riset di jurnal-jurnal, hidden layer yang optimal itu satu saja, perlu diingat, makin banyak hidden layer, proses menjadi sangat lambat dan terkadang komputer Anda tidak sanggup memprosesnya sehingga muncul pesan “Out of Memory “. Coba ramu lagi, Cao ..

Rahmadya Trias Handayanto
Update: 26 Nov 2015
Ada yg bertanya jumlah hidden yang terbaik, apa patokannya. Referensi yg jelas-jelas mengatakan bahwa jumlah hidden optimal satu saja cukup adalah karangan Laurent Fausett judulnya: Fundamental of Neural Network: Architecture, Algorithms, and Applications, hal 299.

Sementara kalo mau tau alasan detilnya mengapa harus ada hidden layer, baca bukunya Hagan (Neural network Design). Katanya untuk mengatasi problem logika XOR yang bikin JST sempat mengalami masa suram krn ga bisa menyelesaikannya.
Update: 31 Juli 2018
Berkembangnya piranti hardware saat ini memungkinkan JST untuk memproses jumlah neuron dan hidden layer yang lebih banyak. Akibatnya, dalam perkembangannya JST dioptimalkan dengan menambah jumlah neuron dan hidden layer. Istilah JST dengan jumlah hidden layer yang banyak dikategorikan sebagai deep learning. Saat ini deep learning banyak diriset. Jadi JST dengan jumlah hidden layer lebih dari satu belum tentu tidak optimal. Beberapa trik diperlukan, salah satunya adalah memodifikasi fungsi transfer.