Jaringan syaraf tiruan (JST) atau Artificial Neural Network (ANN) adalah suatu model matematik atau komputasi untuk mensimulasikan struktur dan fungsi dari jaringan syaraf dalam otak.
Terdiri dari:
- Node atau unit pemroses (penjumlah dan fungsi aktivasi)
- weight/ bobot yang dapat diatur
- Masukan dan Keluaran
- Sifat : Adatif
- Mampu belajar
- Nonlinear
Biological Neural Network
Jaringan Syaraf Tiruan (JST)
Model Neuron Tanpa bias
Model Neuron dengan bias
Neuron Sederhana
Model Matematis
X=input/masukan i= banyaknya input
W=bobot/weight
Keluaran Penjumlah
n = sigma pi.wi
(Jumlah semua Input(pi) dikali bobot (wi)
Output/Keluaran Neuron:
a = f(n);
f=fungsi aktivasi
Fungsi Aktivasi
Beberapa fungsi aktivasi [a=f(n)]
- Hardlimit function
- Linear Function
a = n
- Sigmoid Function
a = 1 /( 1 + e^-n )
Kegunaan Aktivasi
- Untuk pengambilan keputusan biasanya digunakan Hardlimit
- Untuk pengenalan pola/jaringan back propagation biasanya digunakan sigmoid
- Untuk prediksi/aproksimasi linear
biasanya digunakan linear
Model McCulloch and Pitts
Neuron menghitung jumlah bobot dari setiap sinyal input dan membandingkan hasilnya dengan nilai bias/threshold, b. Jika input bersih kurang dari threshold, output neuron adalah -1. Tetapi, jika input bersih lebih besar dari atau sama dengan threshold, neuron diaktifkan dan outputnya ditetapkan +1 (McCulloch and Pitts, 1943).
Fungsi aktivasi ini disebut Fungsi tanda (Sign Function). Sehingga output aktual dari neuron dapat ditunjukkan dengan:
Perceptron
- Perceptron (Rosenblatt, 1958): JST training yang sederhana dipakaikan prosedur algoritma training yang pertama kali. Terdiri dari neuron tunggal dengan bobot synaptic yang diatur dan hard limiter.
- Operasinya didasarkan pada model neuron McCulloch dan Pitts.
- Jumlah input yang telah diboboti dipakaikan kepada hard limiter: menghasilkan output +1 jika input positif dan -1 jika negatif à mengklasifikasikan output ke dalam dua area A1 dan A2.
Proses Belajar
Target = Nilai yang diinginkan, Output = Nilai keluar dari neuron
Proses compare (membandingkan) antara output dengan target,jika terjadi perbedaan maka weight/bobot diatur sampai nilai output = (mendekati) nilai target.
Proses Belajar
Analog
- Target = apa yang anda inginkan
- Input/masukan = Kekurangan dan kelebihan/potensi anda
- Bobot = seberapa besar usaha anda
- Output = hasil dari potensi and kelemahan dikalikan dengan usaha terhadap potensi or kelemahan
- Error = Kesalahan/Introspeksi diri = perkuat potensi or/and lemahkan kekurangan
Proses Belajar
Proses Belajar jika masukan positif
Untuk masukan positif penambahan bobot menyebabkan peningkatan keluaran.
Proses Belajar jika masukan negatif
Untuk masukan negatif penambahan bobot menyebabkan penurunan keluaran.
Proses Perceptron Belajar
Belajar
- Pada awalnya bobot dibuat kecil untuk menjaga jangan sampai terjadi perbedaan yang sangat besar dengan target.
- Bobot awal adalah dibuat random, umumnya dalam interval [-0.5 – 0.5]
- Keluaran adalah proses jumlah perkalian antara masukan dengan bobot.
- Jika terjadi perbedaan antara keluaran dengan target, e(k) = a(k) – t(k), k = iterasi ke- 1, 2, 3, maka:
Bobot diupdate/diatur sedikit demi sedikit untuk mendapatkan keluaran yang sesuai dengan target:
w(k+1) = w(k) + delta w(k)
Perceptron Learning Rule (Rosenblatt, 1960)
- e(k)= a(k)-t(k);
k = iterasi ke-1,2,...
a(k) = keluaran neuron
t(k) = target yanng diinginkan
e(k) = error kesalahan
- w(k+1) = w(k) + delta W(k)
- Delta w(k) = kec. belajar x masukan x error = alpha x p(k) x e(k)
dengan:
Alpha = learning rate = kecepatan belajar
Alpha besar belajar cepat -> tidak stabil
Alpha kecil belajar lambat -> stabil
Langkah Pembelajaran
1.Langkah pertama : Inisialisasi Awal
- Mengatur bobot w1, w2, ..., wn interval [-0.5 – 0.5], mengatur bias/threshold b, mengatur kec pembelajaran, fungsi aktivasi
2.Langkah kedua : Menghitung keluaran
- Mengaktifkan perceptron dengan memakai masukan p1(k), p2(k), ..., pi(k) dan target yang dikehendaki t(k). Hitunglah output aktual pada iterasi ke-k = 1
- i adalah jumlah input perceptron dan step adalah fungsi aktivasi
3.Langkah ke tiga : Menghitung error
- e(k) = t(k) – a(k); t(k) = target,a(t)=keluaran perceptron
4.Langkah ke empat : Mengatur Bobot
- Mengupdate bobot perceptron
wi(k+1) = wi(k) + Delta wi(k)
w(k+1) = bobot baru; w(k) = bobot yg lalu
Delta wi(p) adalah pengkoreksian bobot pada iterasi k, yang dihitung dengan:
- Delta wi(p) = Alpha x pi(k) x e(k)
5.Langkah ke lima : pengulangan
- Naikkan iterasi k dengan 1 (k=k+1), kembalilah ke langkah ke dua dan ulangi proses sampai keluaran=target or mendekati target.
Melatih Perceptron: Operasi OR
Contoh Pembelajaran
1.Langkah pertama : Inisialisasi Awal
- Mengatur bobot w1, w2 interval [-0.5 – 0.5], w1(1)=0.3 w2(1)=0.1, mengatur bias/threshold b=0.2, mengatur kec pembelajaran (alpha) =0.2, fungsi aktivasi-> step
2.Langkah kedua : Menghitung keluaran
- Mengaktifkan perceptron dengan memakai masukan p1(k), p2(k) dan target yang dikehendaki t(k).
Hitunglah output aktual pada iterasi ke-k = 1
3.Langkah ke tiga : Menghitung error
e(k) = t(k) – a(k)
e(1) = 0 – 0 = 0
4.Langkah ke empat : Mengatur Bobot
- Mengupdate bobot perceptron
wi(k+1) = wi(k) + delta wi(k)
w1(2) = 0.3(1) + delta w1(1)
Delta w1(1) = alpha x pi(1) x e(1) = 0.2 x 0 x 0 = 0
maka w1(2) = 0.3(1) + 0 = 0.3 (tidak berubah)
wi(k+1) = wi(k) + delta wi(k)
w2(2) = 0.3(1) + delta w2(1)
delta w2(1) = alpha x pi(1) x e(1) = 0.2 x 0 x 0 = 0
maka w2(2) = 0.1(1) + 0 = 0.1 (tidak berubah)
5.Langkah ke lima : pengulangan
- Naikkan iterasi k dengan 1 (k=k+1), kembalilah ke langkah ke dua dan ulangi proses sampai keluaran=target or mendekati target.
- K=2
w1(2)= 0.3 w2(2)=0.1, p1(2)=0, p2(2)=1 target(2)=Fd(2)=1
- Hitung keluaran:
- Hitung error:
e(2)= target(2) – a(2) = 1 – 0 =1 (ada error)
- Mengatur Bobot
Mengupdate bobot perceptron:
wi(k+1) = wi(k) + delta wi(k)
w1(3) = 0.3(2) + delta w1(2)
delta w1(2) = alpha x p1(1) x e(1) = 0.2 x 0 x 1 = 0
maka w1(3) = 0.3(1) + 0 = 0.3 (tidak berubah)
wi(k+1) = wi(k) + delta wi(k)
w2(3) = 0.3(2) + delta w2(2)
delta w2(1) = alpha x p2(1) x e(1) = 0.2 x 1 x 1 = 0.2
maka w2(3) = 0.1(1) + 0.2 = 0.3 (berubah sebelumnya w2(2)=0.1)
1 comment:
wow.....
thanks ilmu nya
Post a Comment