Artificial neural network (jaringan saraf tiruan) merupakan salah satu algoritme Machine Learning berdasarkan cara kerja neuron atau saraf pada otak manusia. Sebuah neural network sederhana terdiri bagian-bagian yang saling terhubung. Secara garis besar, komponen neural network adalah sebagai berikut:
- Input: ai
- Bias: a0*w0,j atau bisa juga b
- Bobot input: wi,j
- Fungsi input: input = ∑wi,j * ai
- Fungsi aktivasi: f(input)
- Output: hasil dari fungsi aktivasi
Gambar 1. Model untuk sebuah neuron dalam neural networks (Sumber: [1]) |
Fungsi aktivasi g dapat berupa macam-macam fungsi, contohnya fungsi threshold, fungsi logistik (sigmoid), atau fungsi tanh. Fungsi threshold selalu menghasilkan nilai 0 atau 1 sedangkan fungsi logistik didefinisikan sebagai f(z) = 1/(1+exp(-z)). Fungsi tanh(z) = (exp(z) - exp(-z))/(exp(z) + exp(-z)). Perhatikan bahwa exp(x) = e^x di mana e adalah bilangan Euler bernilai kira-kira 2.718.
Kegunaan bias adalah untuk memindahkan kurva atau garis ke atas dan ke bawah supaya lebih cocok dengan data. Bias dapat dianalogikan seperti konstanta dalam fungsi linear f(x) = ax + b. Tanpa konstanta b, fungsi linear tersebuat akan selalu melalui titik (0, 0) [2].
Feed-forward Network vs. Recurrent Network
Feed-forward network hanya mempunyai hubungan dalam satu arah sehingga menghasilkan directed acyclic graph. Sementara itu, pada recurrent network, terdapat loop di mana output dimasukkan sebagai inputnya lagi. Multilayer neural network yang akan diimplementasi pada post ini merupakan feed-forward network.Pada feed-forward network, bagian-bagian tersusun dalam layer di mana setiap bagian menerima input dari layer sebelumnya. Sebuah jaringan yang inputnya langsung dipetakan ke output disebut sebagai single-layer neural network. Jika ada sebuah layer tersembunyi (hidden layer) atau lebih hidden layer, jaringan tersebut disebut sebagai multilayer neural network. Bagian dua akan membahas penjelasan mengenai multilayer feed-forward neural network.
Referensi:
[1] Russell, S. J. et al. 2010. Artificial Intelligence: A Modern Approach.
[2] http://stackoverflow.com/questions/2480650/role-of-bias-in-neural-networks
Comments
Post a Comment