Anda di halaman 1dari 5

Artificial Neural Network

Gambaran umum Artificial Neural Network Artificial Neural Network (ANN/jaringan saraf buatan) berupaya untuk meniru sistem jaringan saraf manusia yang memiliki kemampuan untuk mengingat, menghitung, mengeneralisasi, dan adaptasi. ANN bisa digunakan untuk menyelesaikan pekerjaan seperti pengenalan pola, prediksi, klasifikasi, dan optimasi. Contoh nyatanya antara lain peramalan curah hujan, peramalan jumlah penjualan, klasifikasi batik, dan pengenalan wajah manusia. Jenis-jenis ANN antara lain back-propagation (feed forward), recurrent network, self organizing map, Bayesian networks, dan lain-lain. Neuron Dalam ANN, neuron adalah unit pemroses informasi. Model neuron ditunjukkan pada Gambar 1. Elemen-elemen dari model neuron adalah: 1. Synapsis, yaitu penghubung antara data input dengan neuron. Synapsis memiliki bobot. Synapsis i yang menghubungkan antara signal xi dengan neuron j memiliki bobot wji. Selain bobot yang berkaitan dengan data input, terdapat juga bobot w0 atau bj, yang berkaitan dengan data input bernilai 1 yang disebut bias. Bias bj berfungsi untuk menaikkan atau menurunkan penjumlahan input, tergantung nilainya positif atau negatif. 2. Penjumlah, yaitu unit yang menjumlahkan semua signal input berbobot. Penjumlahan ini adalah suatu kombinasi linier. 3. Fungsi aktivasi, yaitu fungsi yang membatasi nilai output suatu neuron.
x1 x2
x3
wj2 wj3

w j1

v j = w ji xi
i =0 m

.) (
yj

w jm

wj0

xm x0 =1

Neuron j dinyatakan secara matematis sbb: u j = w ji x j


i =1 m

dan

y j = ( u j + b j )

dengan x1, x2, , xm adalah signal input dan wj1, wj2, , wjm adalah bobot dari tiap synapsis j, uj adalah kombinasi linier dari signal-signal input, bj adalah bias, (.) adalah fungsi aktivasi, dan yj adalah signal output dari neuron j. Pemakaian bias memberi pengaruh terhadap output neuron sebagai berikut:
v j = u j +b j
m

atau v j = w ji x j
i =0

dan

y j = (v j ) .

Jadi, ditambahkan satu synapsis untuk mengakomodasi bias bj dengan x0=+1 dan bobot synapsis wj0=bj. Fungsi Aktivasi Syarat dari fungsi aktivasi adalah nonlinear, saturate (memiliki output dengan nilai minimum dan maksimum), dan kontinyu. Beberapa contoh fungsi aktivasi (lihat Gambar 2) adalah: 1. Fungsi threshold
( v ) =
1 if 0 if v 0 v <0

2. Fungsi linear piecewise

1 1, v 2 1 1 1 ( v ) = v + , < v < 2 2 2 1 0, v 2
3. Fungsi sigmoid

( v ) =

1 1 + e av

Single layer perceptron

Perceptron adalah bentuk desain neural network yang paling sederhana yang digunakan untuk mengelompokkan data yang terdiri dari dua kelas yang terpisah secara linier (diajukan oleh Rosenblatt). Perceptron terdiri atas sebuah neuron dengan synapsis dan bias yang nilainya bisa diatur untuk mendapatkan solusi yang tepat. Rosenblatt membuktikan bahwa, jika data yang digunakan untuk mentraining perseptron diambil secara random dari himpunan data dengan dua kelas yang terpisah secara linier, algoritma perceptron akan mencapai konvergensi (didapat solusi) yang memisahkan dua kelas tersebut setelah sekian iterasi. Perceptron dengan satu neuron terbatas untuk menyelesaikan kasus klasifikasi dua kelas saja. Dengan menambah jumlah neuron, diharapkan bisa menyelesaikan masalah klasifikasi untuk data yang terdiri dari multi kelas, tetapi terbatas pada kasus yang linear. Pembejaran (learning) Tujuan dari proses learning adalah menemukan bobot w dan bias b, sehingga ANN secara tepat dapat menghasilkan output [-1,+1] untuk setiap data training yang dimasukkan. Beberapa algoritma learning bisa digunakan untuk mentraining suatu network. Pada subbab ini dibahas metode optimasi untuk mendapatkan nilai w dan b yang optimal pada kasus single layer perceptron. Salah satu cara untuk melatih perceptron adalah dengan menginisialisasi nilai w dan b dengan nilai random, lalu secara iteratif memperbarui nilainya untuk setiap data training jika nilai outputnya tidak sesuai dengan output yang diinginkan. Proses tersebut diulang sampai ditemukan nilai w dan b yang menghasilkan output yang tepat untuk semua data training. Perceptron Dengan menggunakan perceptron rule, update Wt untuk setiap input Xt dilakukan dengan perhitungan berikut: Wt+1=Wt+ Wt dengan Wt= (dt-yt)Xt dt adalah output dari input data Xt, yt adalah output perceptron dari input data Xt, adalah learning rate, suatu bilangan positif. Dengan bernilai positif diharapkan selisih antara d dan y makin lama makin kecil. Algoritma perceptron Xti=[xt1, xt2, xt3, , xtm]; input data training. Ada t data training. Setiap input pada data training ke t terdiri dari m komponen. dt { 1}; output sebenarnya dari setiap data training ke-t. Misal adalah n buah data training, maka nilai d adalah d1, d2, , dn adalah learning rate yt=g(Xti); ouput perceptron dari setiap data training ke-t. g() adalah fungsi aktivasi.

Wti=[b, wt1, wt2, wt3, , wtm]; Vektor bobot dan bias untuk data training ke-t. 1. Lakukan inisialisasi vektor bobot Wt=[0, 0, ,0] 2. Lakukan perhitungan berikut untuk semua data training, mulai dari t=1, 2, , n sampai dengan konvergen (nilai vektor bobot menghasilkan output perceptron sama dengan output yang diinginkan). Jika dengan sekali iterasi, belum konvergen, dilakukan komputasi untuk iterasi berikutnya. 1. Hitung yt=g(Xti)=sgn(Wti * Xti) dimana sgn(.) adalah fungsi signum. Semua nilai di atas 0 diberi nilai +1, dan semua nilai kurang dari sama dengan 0 diberi nilai -1. 2. Jika dt yt, update Wt dengan rumus berikut: Wt+1=Wt + ( dt-yt) Xt Contoh: Lakukan pembelajaran dengan algoritma perceptron untuk data training sebagai berikut: AND problem x x d 1 2 1 1 1 -1 1 -1 1 -1 -1 -1 -1 -1 Meskipun percetron rule bisa digunakan untuk menemukan bobot dan bias secara tepat untuk memisahkan obyek dari dua kelas, tapi ini hanya berlaku untuk kasus yang linier. Untuk menyelesaikan kasus yang tidak linier bisa digunakan delta rule dengan menggunakan metode gradient descent.

Anda mungkin juga menyukai