Tuesday, August 19, 2014

Neural Network lanjutan (2)

Komponen NN.
Terdapat banyak struktur NN, tetapi kesemuanya mempunyai komponen yang hampir sama. Gambar berikut memperlihatkan struktur ideal NN.

Seperti terlihat pada gambar, struktur NN mirip dengan struktur otak manusia diatas. Informasi (sebagai input) dikirim ke neuron melalui suatu pembobotan input. Input ini diproses oleh suatu fungsi propagation yang menaikan nilai bobot input. Hasilnya kemudian dibandingkan dengan threshold oleh activation function.  Jika input melampaui threshold, maka neutron akan diaktifkan, jika sebaliknya maka neutron akan inhibit. Jika diaktifkan, neuron akan mengirim output melalui pembobotan output ke neuron lainnya, dan seterusnya.
Dalam NN, neuron dikelompokan dalam layer, yang disebut neuron layer. Biasanya setiap neuron dari sebuah layer dihubungkan ke semua neuron yang ada di layer belakang maupun depannya (kecuali input dan output).  Informasi yang dikirim dalam sebuah NN, dipropagasi layer – per – layer mulai dari input hingga output tanpa atau melalui satu atau lebih hidden layers.  Bergantung pada algoritma yang digunakan, informasi juga dapat dipropagasi ke arah belakang (backpropagation). Gambar berikut menunjukan NN dengan tiga neuron layers.

Perlu dicatat bahwa gambar ini bukan merupakan struktur umum dari NN. Ada NN yang tidak mempunyai hidden layer, atau ada juga NN yang layer-nya berbentuk matriks.
Jenis NN.
Terdapat beberapa jenis NN, yang dibedakan berdasarkan type, algoritma, learning methode maupun activation function, yang digunakan.
  • Type NN, yaitu yang berkaitan dengan koneksi antar neuron. Ada 2 type, yaitu feedforward dan feedback. Feedforward type merupakan type NN dimana neuron pada suatu layer hanya bisa berkoneksi dengan  neuron yang berada pada layer yang berbeda. Sedangkan feedback type merupakan type NN dimana neuron pada suatu layer bisa berkoneksi dengan neuron  pada layer lainnya dan juga dengan neuron  pada layer yang sama.
  • Algoritma, yaitu algoritma matematis yang digunakan NN untuk melakukan proses belajar. Ada beberapa jenis algoritma yang biasa digunakan, yaitu : (1) Backpropagation, merupakan suatu algoritma belajar (learning algorithm) yang digunakan oleh NN pada metode supervised. Salah satu bentuknya adalah delta learning rule. (2) Delta learning rule, merupakan algoritma belajar (learning algorithm) yang digunakan oleh NN pada metode supervised, dimana perubahan weight diperoleh dari hasil perkalian antara input, error dan learning rate. (3) Forwardpropagation, merupakan algoritma dimana output neuron hanya dipropagasi pada satu arah dari input ke output. (4) Hebb learning rule, merupakan algoritma yang digunakan dengan supervised learning, khususnya pada perceptron, dimana perubahan weight diperoleh dari perkalian input, output dan learning rate. (5) Simulated annealing, merupakan tipe khusus dari learning algorithm, khususnya untuk NN tipe feedback.
  • Metoda (learning methode), ada dua macam, yaitu : (1) Supervised learning, dimana ada target outputnya, sehingga error dihitung dari output hasil perhitungan dikurangi dengan target output. (2) Unsupervised learning, merupakan metode khusus dimana tidak ada target outputnya, contohnya adalah pada selforganizing neural nets seperti Kohonen Feature Map.
  • Fungsi aktivasi (activation function), merupakan fungsi matematis yang digunakan untuk mendapatkan output neuron dari nilai inputnya. Disebut aktivasi karena output akan bernilai jika melampaui nilai threshold-nya. Beberapa fungsi aktivasi yang sering digunakan, yaitu : hard limiter, signum activation dan sigmoid activation.
Beikut adalah beberapa jenis NN yang biasa digunakan.
(1) Perceptron.
Pertama kali diperkenalkan oleh F. Rosenblatt pada tahun 1958. Umumnya hanya digunakan untuk operasi logic sederhana seperti AND atau OR, tidak untuk operasi logic yang agak kompleks seperti XOR.

  • Type : feedforward.
  • Neuron layer : 1 input layer, 1 output layer.
  • Activation function : hard limiter.
  • Learning methode : supervised.
  • Learning algorithm : hebb learning rule.
  • Penggunaan: simple logical operations, pattern classification.
(2) Multi-layer-perception.
Diperkenalkan oleh M. Minsky dan S. Papert pada tahun 1969, merupakan pengembangan dari Perceptron dan mempunyai satu atau lebih hidden layers yang terletak antara input dan output layers.  Multi-layer-perceptron dapat digunakan untuk operasi logik termasuk yang kompleks seperti XOR.

  • Type : feedforward.
  • Neuron layers : 1 input layer, 1 atau lebih hidden layers dan 1 output layer.
  • Activation function : hard limiter/sigmoid.
  • Learning methode : supervised.
  • Learning algorithm : delta learning rule atau backpropagation (paling banyak digunakan).
  • Penggunaan : complex logical operations, patten classification.
(3) Backpropagation Net.
Diperkenalkan oleh G.E. Hinton, E. Rumelhart dan R.J. Williams pada tahun 1986, merupakan tipe yang paling baik (powerfull).

  • Type : feedforward.
  • Neuron layers : 1 input layer, 1 atau lebih hidden layers dan 1 output layer.
  • Activation function : sigmoid.
  • Learning methode : supervised.
  • Learning algorithm : backpropagation.
  • Penggunaannya : complex logical operations, patten classification, speech analysis.
(4) Hopfield Net.
Diperkenalkan oleh ahli fisika J.J. Hopfield tahun 1982 dan menjadi tipe NN yang disebut “thermodynamical models”. Terdiri dari sekumpulan neurons, tidak ada perbedaan antara input dan output neurons.

  • Type : feedback.
  • Neuron layers : 1 matrix.
  • Activation function : signum/hard limiter.
  • Learning method : unsupervised.
  • Learning algorithm : delta learning rule/simulated annealing (paling banyak digunakan).
  • Penggunaannya : patten association, optimization problems.
(5) Kohonen Feature Map.
Diperkenalkan oleh Teuvo Kohonen (University of Helsinki) tahun 1982.

  • Type : Feedforward/Feedback.
  • Neuron layers : 1 input layer, 1 map layer.
  • Activation function : sigmoid.
  • Learning methode : unsupervised.
  • Learning algorithm : selforganization.
  • Penggunaanya : patten association, optimization problems, simulation.
Berikut adalah 2 buah contoh NN sederhana (forward propagation dan backpropagation) yang saya buat dengan menggunakan Macro pada microsoft excel. Hasilnya memang belum memuaskan, hal ini disebabkan oleh jumlah data yang digunakan tidak terlalu banyak dan strukturnya juga sangat sederhana.

No comments:

Post a Comment