JARINGAN SYARAF TIRUAN
ARTIFICIAL NEURAL NETWORK
KELOMPOK III
1. I Gst. Gd. Mega Perbawa ( 0804405049 )
2. Putu Rusdi Ariawan ( 0804405050 )
3. I Kadek Sastrawan ( 0804405051 )
4. Agus Teja Ariawan ( 0804405063 )
5. I Gede Dian Karisma Erydita ( 0804405069 )
6. Made Agus Widiartha ( 0804405085 )
Sejarah
1940 : llmuwan menemukan bahwa psikologi otak manusia sama dengan pemrosesan komputer
1943 : McCulloch dan Pitts merancang model pertama kali sebagai perhitungan dasar neuron
1949 : Hebb menyatakan bahwa informasi dapat disimpan dalam koneksi-koneksi dan mengusulkan adanya skema pembelajaran untuk memperbaiki koneksi-koneksi antar neuron tersebut
1954 : Farley dan Clark mensetup model-model untuk relasi adaptif stimulus-respon dalam jaringan random
1958 : Rosenblatt mengembangkan konsep dasar tentang perceptron untuk klasifikasi pola
1960 : Widrow dan Hoff mengembangkan ADALINE untuk kendali adaptip dan pencocokan pola yang dilatih dengan aturan pembelajaran Least Mean Square
1974 : Werbos memperkenalkan algoritma backpropagation untuk melatih perceptron dengan banyak lapisan
1975 : Little dan Shaw menggambarkan jaringan syaraf menggunakan model probalistik
1982 : KOhonen mengembangkan metode pembelajaran jaringan syaraf yang tidak terawasi (unsupervised learning) untuk pemetaan
1982 : Grosberg mengembangkan teori jaringan yang terinspirasi oleh perkembangan psikologi. Bersama Carpenter mereka mengenalkan sejumlah arsitektur jaringan, Adaptive Resonance Theory (ART), ART2 dan ART3
1982 : Hopfield mengembangkan jaringan syaraf recurrent yang dapat digunakan untuk menyimpan informasi dan optimasi
1985 : Algoritma pembelajaran dengan menggunakan mesin Boltzmann yang menggunakan model jaringan syaraf probabilistik mulai dikembangkan
1987 : kosko mengembangkan jaringan Adaptive Bidirectional Associative Memory (BAM)
1988 : mulai dikembangkan fungsi radial basis
Jaringan Syaraf Tiruan 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) Menirukan model otak manusia
Otak Manusia JST
Soma Node
Dendrites Input/Masukan
Axon Output/Keluaran
Synapsis Weight/ Bobot
Milyaran Neuron Ratusan Neuron
Model Neuron Tanpa bias
Σ
p1
p2
Masukan /Inputs
pi
.
.
.
Penjumlahanw1
w2
wi
Bobot/Weight = bisa diatur
F(y)
n=Σpi.wi
a=f(n)
Fungsi Aktifasi
Model Neuron dengan bias
Σ
p1
p2
Masukan /Inputs
pi
.
.
.
Penjumlahanw1
w2
wi
Bobot/Weight = bisa diatur
F(y)n=Σpi.wi
a=f(n)
Fungsi Aktivasi
b (Bias)=Fix
Model Matematis Neuron Sederhana
• p =input/masukan i= banyaknya input• w =bobot/weight • Keluaran Penjumlah -> n = Σpi.wi
(Jumlah semua Input(pi) dikali bobot (wi) • Output/Keluaran Neuron=
a = f(n) f=fungsi aktivasi
a. Hard Limit
Fungsi Aktivasi
1
Y
X0
y0,1
0,0
xjika
xjika
B. THRESHOLD
1
Y
X0 Ө
y
xjika
xjika
,1
,0
c. Symetric Hard Limit
y0,1
0,0
0,1
xjika
xjika
xjika1
Y
X0
-1
d. Bipolar Threshold
1
Y
X0 Ө
-1
y
xjika
xjika
,1
,1
e. Fungsi Linier
1
Y
X0
-1
1-1
y = x
f. Saturating Linier
1
Y
X0-0,5 0,5
y5,0;0
5,05,0;5,0
5,0;1
xjika
xjikax
xjika
g. Simetric Saturating Linier
1
Y
X0-1 1
-1
y1;0
11;
1;1
xjika
xjikax
xjika
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).
bnjika
bnjikaa
wpni
iii
1
1
1
Fungsi aktivasi ini disebut Fungsi Tanda (Sign Function). Sehingga output aktual dari neuron dapat ditunjukkan dengan:
i
iii bwpsigna
1
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.
i
iii bwp
1
0
Proses Belajar
Target = Nilai yang diinginkan, Output = Nilai yang keluar dari neuron Proses Compare (membandingkan) antara output dengan target,Jika terjadi perbedaan maka weight/bobot di adjust/atur sampai nilai ouput=(mendekati) nilai target
Target
Σ
p1
p2
Masukan
pi
.
.
.
w1
w2
wi
F(y)
n=Σpi.wi a=f(n)
b
+-
Error=target-a
Keluaran
Error digunakan untuk pembelajaran /mengatur bobot
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
Σp1
Masukan
w1 F(y)
n=p1.w1
a=f(n)Bobot
Proses Belajar jika masukan positif
Σp1
Masukan
w1 F(y)
n=p1.w1 a=f(n) +-
Error=target-a
Keluaran
Target
F=linear
(10)
(2)
(3)
(6)
e=10-6=4 (+)Karena e ≥ 0 maka keluaran a hrs dinaikan untuk menaikan a maka naikan nilai w1 karena masukan positif w1 next= w1 old + delta w1
Untuk masukan positif penambahan bobot menyebabkan peningkatan keluaran
Proses Belajar jika masukan negatif
Σp1
Masukan
w1 F(y)
n=p1.w1 a=f(n) +-
Error=target-a
Keluaran
Target
F=linear
(10)
(-2)
(3)
(-6)
e=10-(-6)=16 (+)Karena e ≥ 0 maka keluaran a hrs dinaikan untuk menaikan a maka turunkan nilai w1 karena masukan negatifw1 next= w1 old + (- delta w1)
Untuk masukan negatif penambahan bobot menyebabkan penurunan keluaran
Proses Perceptron 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) + Δw(k)
Perceptron Learning Rule (Rosenblatt, 1960)
e(k) = a(k) – t(k) , k = iterasi ke- 1, 2, 3, ….. a(k) = keluaran neuron
t(k) = target yang diinginkan
e(k) = error/kesalahan
w(k+1) = w(k) + Δw(k)Δw(k) = kec belajar x masukan x error
= ŋ x p(k) x e(k)
Ŋ = learning rate -> kecepatan belajar (0< ŋ ≤1)
Ŋ besar belajar cepat tidak stabilŊ kecil belajar lambat stabil
Adaline• Adaline (Adaptive Linear Neuron) diusulkan pertama kali
oleh B. Widow (1960)
• Adaline memiliki struktur dasar perceptron bipolar dan melibatkan beberapa jenis dari bobot latihan least-error-square (LS)
Basic view of Adaline
Sifat AdalineSingle Layer Network
Hard Switch( Fungsi Aktivasi Linier)
Jaringan Feed Forward
Supervised Method
Tidak dapat menyelesaikan masalah XOR
Digunakan dalam pengenalan pola
The Madaline• Madaline diusulkan oleh B. Widow (1988)
• Merupakan ekstensi dari Adaline yang disebut Multiple Adaline yang terdiri dari dua atau lebih adaline yang saling terhubung
The Madaline network of 2 layers
Sifat MadalineJaringan Multi-Layer
Hard Switch ( Fungsi Aktivasi Linier)
Jaringan FeedForward
Supervised Method
Tidak Seperti Perceptron dan Adaline, Madaline dapat menyelesaikan masalah XOR
Digunakan dalam pengenalan pola, dan masalah operasi logika kompleks
Langkah Pembelajaran1. 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
i
iii bpwppstepka
1
)()()(
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) + Δwi(k)
• w(k+1) bobot baru w(k) bobot yg lalu
• Δwi(p) adalah pengkoreksian bobot pada iterasi k, yang dihitung dengan:
• Δwi(p) = ŋ 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
Variabel Input OR
x1 x2Fd
0 0 0
0 1 1
1 0 1
1 1 1
Contoh Pembelajaran1. 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 ŋ =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
bwpwpn )1().1()1().1()1( 2211
2
1
)1()1()1(i
ii bwpstepa
0)1(0
0)1(1)1(
njika
njikaa
bwpwpn )1().1()1().1()1( 2211
2.01.003.00)1( XXn
0)1(
)(2.0)1(
a
maka
negatifn
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) + Δwi(k)
• w1(2) = 0.3(1) + Δw1(1)
• Δw1(1) = ŋ 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) + Δwi(k)
• w2(2) = 0.3(1) + Δw2(1)
• Δw2(1) = ŋ 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:
0)2(
0)2(
1.0)2(
2.01.013.0.0)2(
)2().2()2().2()2( 2211
a
n
n
XXn
bwpwpn
• Hitung error
e(2) = target(2) – a(2)
= 1 – 0 =1 (ada error)
• Mengatur Bobot
Mengupdate bobot perceptron
wi(k+1) = wi(k) + Δwi(k)
w1(3) = 0.3(2) + Δw1(2)
Δw1(2) = ŋ 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) + Δwi(k)
w2(3) = 0.3(2) + Δw2(2)
Δw2(1) = ŋ 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)