4. perceptron
DESCRIPTION
jkTRANSCRIPT
PERCEPTRON
Pengantar
• Ditemukan oleh Rosenblatt (1962) dan Minsky-Papert
(1969).
• Arsitektur jaringan mirip dengan arsitektur jaringan
Hebb.
• Fungsi aktivasi dengan harga threshold θ ditentukan:
𝑓 𝑛𝑒𝑡 =
1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 > 𝜃0 𝑗𝑖𝑘𝑎 − 𝜃 ≤ 𝑛𝑒𝑡 ≤ 𝜃−1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 < 𝜃
Pelatihan perceptron• s adalah vektor masukan dan t adalah target keluaran
• α adalah laju pemahaman (learning rate) yang
ditentukan
• θ adalah threshold yang ditentukan
Algoritma pelatihan
1. Inisialisasi semua bobot dan bias (umumnya wi = b =
0)
2. Tentukan laju pemahaman (= α). biasanya α = 1
3. Selama ada eleman vektor masukan yang respons
unit keluarannya tidak sama dengan target, lakukan:
Pelatihan perceptron
a. set aktivasi unit masukan xi = si (i = 1, ..., n)
b. hitung respons unit keluaran:
c. Perbaiki bobot pola yang mengandung kesalahan (y
≠ t) menurut persamaan:
– wi (baru) = wi (lama) + Δ w (i = 1, ...,n) dengan Δ w = α t xi
– b (baru) = b (lama) + Δ b dengan Δ b = α t
𝑛𝑒𝑡 = 𝑥𝑖𝑤𝑖 + 𝑏
𝑖
𝑦 = 𝑓 𝑛𝑒𝑡 =
1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 > 𝜃0 𝑗𝑖𝑘𝑎 − 𝜃 ≤ 𝑛𝑒𝑡 ≤ 𝜃−1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 < 𝜃
beberapa hal yang perlu diperhatikan
dalam agoritma:
• Iterasi dilakukan terus menerus hingga semua pola
memiliki keluaran jaringan yang sama dengan targetnya
(jaringan sudah memahami pola). Iterasi tidak berhenti
setelah semua pola dimasukkan seperti yang terjadi pada
model Hebb
• Pada langkah 2(c), perubahan bobot hanya dilakukan pada
pola yang mengandung kesalahan (keluaran jaringan ≠
target). Perubahan tersebut merupakan hasil kali unit
masukan dengan target dan laju pemahaman. Perubahan
bobot hanya akan terjadi kalau unit masukan ≠ 0
• Kecepatan iterasi ditentukan pula oleh laju pemahaman (=
α dengan 0 ≤ α ≤ 1) yang dipakai. Akan tetapi jika α terlalu
besar, maka akan merusak pola yang sudah benar
sehingga pemahaman menjadi lambat.
Algoritma pelatihan perceptron lebih
baik dibandingkan model Hebb
• Setiap kali sebuah pola dimasukkan, hasil keluaran
jaringan dibandingkan dengan target sesungguhnya. Jika
terdapat perbedaan, maka bobot akan dimodifikasi. Jadi
tidak semua bobot selalu dimodifikasi dalam setiap
iterasinya
• Modifikasi bobot tidak hanya ditentukan oleh perkalian
antara target dengan masukan, tapi juga melibatkan suatu
laju pemahaman (learning rate) yang besarnya bisa diatur.
• Pelatihan dilakukan berulang-ulang untuk semua
kemungkinan pola yang ada hingga jaringan dapat
mengerti polanya (ditandai dengan samanya semua
keluaran jaringan dengan targer keluaran yang diinginkan).
Satu siklus pelatihan yang melibatkan semua pola disebut
epoch. Dalam jaringan Hebb, pelatihan hanya dilakukan
dalam satu epoch saja.
Contoh 1
• Buatlah perceptron untuk mengenali fungsi logika
“and” dengan masukan dan keluaran bipolar! Untuk
inisialisasi, gunakan bobot dan bias awal = 0, α = 1,
dan θ = 0.
• Penyelesaian
Tabel masukan dan target fungsi logika “and” dengan
masukan dan keluaran bipolar seperti pada Tabel 1.
x1 x2 1 Target
1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
Masukan
Penyelesaian
• Untuk threshod = 0, maka fungsi aktivasi menjadi:
• Hasil pada epoch pertama
𝑦 = 𝑓 𝑛𝑒𝑡 = 1 ,𝑛𝑒𝑡 > 00 ,𝑛𝑒𝑡 = 0−1 ,𝑛𝑒𝑡 < 0
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 0 0 0
1 1 1 1 0 0 1 1 1 1 1 1
1 -1 1 -1 1 1 -1 1 -1 0 2 0
-1 1 1 -1 2 1 1 -1 -1 1 1 -1
-1 -1 1 -1 -3 -1 0 0 0 1 1 -1
Masukan Perubahan Bobot Bobot Baru
• Pada input pertama (x1, x2, 1) = (1 1 1). Harga net
dihitung berdasar bobot yang sudah ada sebelumnya,
yaitu (w1, w2, b) = (0 0 0). Maka net = sehingga f(net)
= f(0) = 0.
• Keluaran jaringan (= f(net) = 0) tidak sama dengan
target yang diinginkan (dalam hal ini adalah 1), maka
bobot diubah menggunakan rumus Δw = α t xi = t xi
(karena α=1). Bobot baru = bobot lama + Δw.
• Input kedua dan seterusnya dihitung secara analog.
Pada pola terakhir (x1, x2, 1) = (-1 -1 1), harga f(net) = -
1 yang sama dengan targetnya, maka bobot tidak
diubah. Hal ini dinyatakan dengan kondisi Δw = 0.
Penyelesaian
• Karena belum semua f(net) sama dengan target t,
maka iterasi dilanjutkan pada epoch kedua. Semua
pola kembali dimasukkan ke jaringan dengan
menggunakan bobot terakhir yang diperoleh sebagai
bobot awalnya. Diperoleh hasil iterasi sebagai berikut
Penyelesaian
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 1 1 -1
1 1 1 1 1 1 0 0 0 1 1 -1
1 -1 1 -1 -1 -1 0 0 0 1 1 -1
-1 1 1 -1 -1 -1 0 0 0 1 1 -1
-1 -1 1 -1 -3 -1 0 0 0 1 1 -1
Masukan Perubahan Bobot Bobot Baru
Contoh 2
• Ulangi contoh 1 dengan menggunakan masukan biner
dan keluaran bipolar. Gunakan α = 1 dan θ = 0,2.
• Penyelesaian
Dengan θ = 0,2 maka fungsi aktivasi menjadi:
• Hasil epoch pertama
𝑦 = 𝑓 𝑛𝑒𝑡 = 1 ,𝑛𝑒𝑡 > 0,20 ,−0,2 ≤ 𝑛𝑒𝑡 ≤ 0,2−1 ,𝑛𝑒𝑡 < −0,2
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 0 0 0
1 1 1 1 0 0 1 1 1 1 1 1
1 0 1 -1 2 1 -1 0 -1 0 1 0
0 1 1 -1 1 1 0 -1 -1 0 0 -1
0 0 1 -1 -1 -1 0 0 0 0 0 -1
Masukan Perubahan Bobot Bobot Baru
• Epoch 2
• Epoch 3
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 0 0 -1
1 1 1 1 -1 -1 1 1 1 1 1 0
1 0 1 -1 1 1 -1 0 -1 0 1 -1
0 1 1 -1 0 0 0 -1 -1 0 0 -2
0 0 1 -1 -2 -1 0 0 0 0 0 -2
Masukan Perubahan Bobot Bobot Baru
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 0 0 -2
1 1 1 1 -2 -1 1 1 1 1 1 -1
1 0 1 -1 0 0 -1 0 -1 0 1 -2
0 1 1 -1 -1 -1 0 0 0 0 1 -2
0 0 1 -1 -2 -1 0 0 0 0 1 -2
Masukan Perubahan Bobot Bobot Baru
• Epoch 4
• Epoch 5
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 0 1 -2
1 1 1 1 -1 -1 1 1 1 1 2 -1
1 0 1 -1 0 0 -1 0 -1 0 2 -2
0 1 1 -1 0 0 0 -1 -1 0 1 -3
0 0 1 -1 -3 -1 0 0 0 0 1 -3
Masukan Perubahan Bobot Bobot Baru
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 0 1 -3
1 1 1 1 -2 -1 1 1 1 1 2 -2
1 0 1 -1 -1 -1 0 0 0 1 2 -2
0 1 1 -1 0 0 0 -1 -1 1 1 -3
0 0 1 -1 -3 -1 0 0 0 1 1 -3
Masukan Perubahan Bobot Bobot Baru
• Epoch 6
• Epoch 7
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 1 1 -3
1 1 1 1 -1 -1 1 1 1 2 2 -2
1 0 1 -1 0 0 -1 0 -1 1 2 -3
0 1 1 -1 -1 -1 0 0 0 1 2 -3
0 0 1 -1 -3 -1 0 0 0 1 2 -3
Masukan Perubahan Bobot Bobot Baru
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 1 2 -3
1 1 1 1 0 0 1 1 1 2 3 -2
1 0 1 -1 0 0 -1 0 -1 1 3 -3
0 1 1 -1 0 0 0 -1 -1 1 2 -4
0 0 1 -1 -4 -1 0 0 0 1 2 -4
Masukan Perubahan Bobot Bobot Baru
• Epoch 8
• Epoch 9
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 1 2 -4
1 1 1 1 -1 -1 1 1 1 2 3 -3
1 0 1 -1 -1 -1 0 0 0 2 3 -3
0 1 1 -1 0 0 0 -1 -1 2 2 -4
0 0 1 -1 -4 -1 0 0 0 2 2 -4
Masukan Perubahan Bobot Bobot Baru
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 2 2 -4
1 1 1 1 0 0 1 1 1 3 3 -3
1 0 1 -1 0 0 -1 0 -1 2 3 -4
0 1 1 -1 -1 -1 0 0 0 2 3 -4
0 0 1 -1 -4 -1 0 0 0 2 3 -4
Masukan Perubahan Bobot Bobot Baru
• Epoch 10
y=
x1 x2 1 Target net f(net) dw1 dw2 db w1 w2 b
inisialisasi 2 3 -4
1 1 1 1 1 1 0 0 0 2 3 -4
1 0 1 -1 -2 -1 0 0 0 2 3 -4
0 1 1 -1 -1 -1 0 0 0 2 3 -4
0 0 1 -1 -4 -1 0 0 0 2 3 -4
Masukan Perubahan Bobot Bobot Baru
Perceptron untuk pengenalan sebuah
pola
Algoritma pengenalan pola:
• Nyatakan tiap pola masukan sebagai vektor bipolar
yang elemennya adalah tiap titik dalam pola tersebut
• Berikan nilai target = 1 jika pola masukan menyerupai
pola yang diinginkan. Jika sebaliknya, beri nilai target
= -1
• Berikan inisialisasi bobot, bias, laju pemahaman, dan
threshold
• Lakukan proses pelatihan seperti proses pelatihan
perceptron biasa
Contoh 3
• Diketahui 6 buah pola masukan sebagai berikut:
• Buatlah model perceptron untuk mengenali pola “A”!
. . # # . . . # # # # # # . . . # # # # #
. . . # . . . . # . . . . # . # . . . . #
. . . # . . . . # . . . . # # . . . . . .
. . # . # . . . # . . . . # # . . . . . .
. . # . # . . . # # # # # . # . . . . . .
. # # # # # . . # . . . . # # . . . . . .
. # . . . # . . # . . . . # # . . . . . .
. # . . . # . . # . . . . # . # . . . . #
# # # . # # # # # # # # # . . . # # # # .
Pola 1 Pola 2 Pola 3
. . . # . . . # # # # # # . . . # # # . .
. . . # . . . # . . . . . # . # . . . # .
. . . # . . . # . . . . . # # . . . . . #
. . # . # . . # . . . . . # # . . . . . .
. . # . # . . # . # # # # . # . . . . . .
. # # # # # . # . . . . . # # . . . . . .
. # . . . # . # . . . . . # # . . . . . #
. # . . . # . # . . . . . # . # . . . # .
. # . . . # . # # # # # # . . . # # # . .
Pola 4 Pola 5 Pola 6
• Untuk menentukan vektor masukan, tiap titik dalam
pola diambil sebagai komponen vektor. Jadi tiap
vektor masukan memiliki 9 x 7 = 63 komponen. Titik
dalam pola yang bertanda “#” diberi nilai = 1 dan titik
bertanda “.” diberi nilai = -1.
• Pola yang menyerupai huruf “A” adalah pola 1 dan 4.
Pasangan pola dan target sebagai berikut:
Penyelesaian
Pola masukan Target
Pola 1 1
Pola 2 -1
Pola 3 -1
Pola 4 1
Pola 5 -1
Pola 6 -1
• Maka perceptron yang dipakai untuk mengenali pola
huruf “A” (atau bukan “A”) memiliki 63 unit masukan,
sebuah bias, dan 1 unit keluaran.
• Misalkan bobot awal diambil = 0 untuk semua bobot
maupun bias, α = 1, dan θ = 0,5.
• Pelatihan dilakukan dengan cara memasukkan 63 unit
masukan (atau sebuah pola huruf). Dihitung .
Berikutnya, fungsi aktivasi dihitung menggunakan
persamaan
• Apabila f(net) ≠ target, maka bobot dan bias diubah.
Proses pelatihan dilakukan terus menerus hingga
semua keluaran jaringan sama dengan targetnya.
Penyelesaian
𝑦 = 𝑓 𝑛𝑒𝑡 = 1 ,𝑛𝑒𝑡 > 0,50 ,−0,5 ≤ 𝑛𝑒𝑡 ≤ 0,5−1 ,𝑛𝑒𝑡 < −0,5
Pengenalan beberapa pola
• Pengenalan beberapa pola sekaligus (misal “A” atau
bukan “A”, “B” atau bukan “B”, dan seterusnya)
dilakukan dengan cara menggabungkan beberapa
model perceptron. Jadi ada beberapa unit keluaran
sekaligus, seperti tampak pada gambar berikut
1
x1
x2
xn
y1
ym
b1
w11
bm
wm1
w12
wm2
w1n
wmn
Setiap unit masukan dihubungkan dengan setiap unit
target. Algoritma pelatihan perceptron untuk
pengenalan beberapa pola sekaligus adalah sebagai
berikut:
1. Nyatakan tiap pola masukan sebagai vektor bipolar
yang elemennya adalah tiap titik dalam pola tersebut
2. Berikan nilai target tj = 1 jika pola masukan
menyerupai pola yang diinginkan. Jika sebaliknya,
berikan nilai target tj= -1 (j = 1, ..., m)
3. Berikan inisialisasi bobot, bias, laju pemahaman, dan
threshold
Pengenalan beberapa pola
4. Lakukan proses pelatihan perceptron untuk tiap unit
keluaran sebagai berikut:
a. Hitung respons unit keluaran ke-j:
b. Perbaiki bobot pola yang mengandung kesalahan
(yj ≠ tj) menurut persamaan:• wji (baru) = wji (lama) + α tj xi
• bj (baru) = wj (lama) + α tj
c. Lakukan langkah 4a-b terus menerus hingga tj = yj
; j =1, ...,m
Pengenalan beberapa pola
𝑛𝑒𝑡𝑖 = 𝑥𝑖𝑤𝑗𝑖 +
𝑖
𝑏𝑗
𝑦𝑗 = 𝑓 𝑛𝑒𝑡𝑗 =
1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 > 𝜃0 𝑗𝑖𝑘𝑎 − 𝜃 ≤ 𝑛𝑒𝑡 ≤ 𝜃−1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 < 𝜃
Contoh 3• Diketahui 6 buah pola masukan seperti gambar di
bawah. Buatlah model perceptron untuk mengenali
pola “A”, “B”, dan “C”!
. . # # . . . # # # # # # . . . # # # # #
. . . # . . . . # . . . . # . # . . . . #
. . . # . . . . # . . . . # # . . . . . .
. . # . # . . . # . . . . # # . . . . . .
. . # . # . . . # # # # # . # . . . . . .
. # # # # # . . # . . . . # # . . . . . .
. # . . . # . . # . . . . # # . . . . . .
. # . . . # . . # . . . . # . # . . . . #
# # # . # # # # # # # # # . . . # # # # .
Pola 1 Pola 2 Pola 3
. . . # . . . # # # # # # . . . # # # . .
. . . # . . . # . . . . . # . # . . . # .
. . . # . . . # . . . . . # # . . . . . #
. . # . # . . # . . . . . # # . . . . . .
. . # . # . . # . # # # # . # . . . . . .
. # # # # # . # . . . . . # # . . . . . .
. # . . . # . # . . . . . # # . . . . . #
. # . . . # . # . . . . . # . # . . . # .
. # . . . # . # # # # # # . . . # # # . .
Pola 4 Pola 5 Pola 6
Penyelesaian
• Pertama kali dibuat 6 buah vektor masukan seperti
contoh 2. Ada 3 buah vektor keluaran yang masing-
masing menyatakan bahwa pola menyerupai huruf
“A”, “B”, dan “C”. Vektor target sebagai berikut:
Pola masukan t1 t2 t3
Pola 1 1 -1 -1
Pola 2 -1 1 -1
Pola 3 -1 -1 1
Pola 4 1 -1 -1
Pola 5 -1 1 -1
Pola 6 -1 -1 1
Selanjutnya iterasi dapat dibuat seperti contoh 1 dan
2, dengan beberapa perubahan sebagai berikut:
• Vektor masukan terdiri dari 36 elemen x1, x2, ..., x36
dan sebuah bias b
• Ada 3 target, yaitu t1, t2,dan t3
• Ada 3 kolom net, yaitu net1, net2, dan net3, masing-
masing merupakan hasil kali bobot dengan vektor
masukan
Penyelesaian
• Ada 3 buah y yang merupakan fungsi aktivasi ketiga
kolom net, y1=f(net1), y2=f(net2), dan y3=f(net3)
• Ada 3 x 63 kolom perubahan bobot yaitu Δw11, Δw12,
..., Δw1.63, Δw21, Δw22, ..., Δw2.63, ..., Δw31, Δw32, ...,
Δw3.63
• Ada 3 x 63 bobot, masing-masing:
w11, w12, ..., w1.63, w21, w22, ..., w2.63, ..., w31, w32, ...,
w3.63
Penyelesaian
Pemrograman perceptron dengan
matlab
1. spesifikasi perceptron dalam matlab
Perceptron adalah model paling sederhana yang
dapat diselesaikan dengan matlab. Model perceptron
dalam matlab sedikit berbeda dengan perceptron
konvensional. Dalam matlab, default sistem yang
dipakai adalah:
• masukan dan target yang dipakai berbentuk bebas
(tidak harus biner/bipolar)
• threshold yang dipakai adalah 0
• fungsi aktivasi (dalam matlab disebut hardlim) memiliki
output biner (bukan 3 kemungkinan 1, 0, dan -1)
1. spesifikasi perceptron dalam matlab
• tidak menggunakan laju pemahaman. Bobot diubah
berdasarkan error yang terbentuk dari selisih antara
target yang diinginkan dengan keluaran jaringan.
Perubahan bobot bukan merupakan hasil kali antara
target dengan masukan.
Misalkan p = (x1, x2, ..., xn) adalah masukan yang
diberikan ke jaringan dengan target = t, a = f(net).
Perubahan bobot yang dilakukan adalah
Perubahan bobot hanya dilakukan jika target ≠
keluaran jaringan.
∆𝑤 =
𝑝, 𝑡 − 𝑎 > 0
−𝑝, 𝑡 − 𝑎 < 0
0, 𝑡 − 𝑎 = 0
2. Pembentukan Jaringan
• Perceptron dibentuk dengan perintah newp. Perintah
newp akan membentuk sebuah perceptron denan
spesifikasi tertentu (jumlah unit input, jumlah neuron,
fungsi aktivasi, dll) Format fungsi newp adalah
sebagai berikut:
net = newp (PR,S,TF,LF)
dengan
PR = matriks ordo R x 2 yang menyatakan nilai
minimum dan maksimum tiap unit masukan (ada R
buah unit masukan)
S = jumlah neuron target
TF = fungsi aktivasi biner. Defaultnya adalah fungsi
threshold (dalam matlab disebut “hardlim”
• LF = fungsi pelatihan. Defaultnya adalah “learnp”
• Fungsi learnp dalam default pembuatan perceptron
dipakai untuk mengubah bobot sehingga diperoleh
bobot yang lebih mendekati target. Untuk membuat
fungsi aktivasi threshold bipolar, TF diubah ke
“hardlims”..
• Perintah newp juga akan menset bobot dan bias awal
ke 0. Untuk mengubahnya, gunakan penugasan
terhadap net.IW{i,j} dan net.b{i}. Indeks i dan j dalam
net.IW menunjukkan bobot awal dari layar-j ke layar-i.
Dalam perceptron hanya dikenal layar masukan dan
keluaran, sehingga net.IW menunjukkan bobot awal
dari layar masukan ke neuron targetnya.
2. Pembentukan Jaringan
Contoh 4
• Buatlah perceptron untuk mengenali pola fungsi logika
“and” 2 variabel x1 dan x2!
• Penyelesaian
Fungsi logika “and” dengan 2 variabel masing-masing
memiliki range nilai masukan [0,1], dan sebuah target.
Maka perintah yang dibuat adalah
net = newp ([0 1 ; 0 1],1)
Baris pertama matriks ([0 1]) menunjukkan range nilai
x1, sedangkan baris kedua menunjukkan range nilai
x2. s = 1 menunjukkan bahwa jaringan hanya memiliki
sebuah target. Jaringan yang terbentuk memiliki bobot
awal, bias, perubahan bobot, dll mengikuti defaultnya.
Pembentukan vektor masukan dan
target
• Setelah membentuk perceptron, berikutnya
didefinisikan pola masukan dan target yang akan
dikenali.
• Masing-masing masukan dan keluaran berupa vektor
kolom.
• Perhatikan bahwa jumlah unit tiap pola masukan serta
rangenya harus sesuai dengan spesifikasi perceptron
yang dibuat.
Contoh 5
• Bentuklah perceptron dengan masukan dan targetnya
untuk mengenali pola fungsi logika “and”, dengan
bobot awal w = [-1 1] dan bias b = [1]!
• Penyelesaian
Fungsi logika “and” memiliki 4 pola (masing-masing
terdiri dari 2 unit)
Pola Masukan Masukan Target
p1 [1 1] 1
p2 [1 0] 0
p3 [0 1] 0
p4 [0 0] 0
Penyelesaian
• Perintah matlab adalah sebagai berikut
net=newp([0 1;0 1],1)
net.IW{1,1}=[-1 1]
net.b{1}=[1]
p=[[1;1] [1;0] [0;1] [0;0]]
t=[1 0 0 0]
Menghitung keluaran perceptron
• Setelah pola masukan diberikan, kita dapat
menghitung keluaran jaringannya. Perintah sim dalam
matlab dipakai untuk menghitung keluaran perceptron.
Format perintahnya:
[Y,Pf,Af,E,perf] = sim (net,P,Pi,Ai,T)
dengan parameter masukan
net : nama jaringan dalam perintah newp
P : vektor masukan jaringan
pi : kondisi delay awal masukan. default = zeros
Ai : kondisi delay layar. default = zeros
T : vektor target jaringan. default = zeros
• dan parameter keluaran
Y : keluaran jaringan
Pf : kondisi akhir delay masukan
Af : kondisi akhir delay layar
E : error jaringan = T – Y
perf : unjuk kerja jaringan
Menghitung keluaran perceptron
• Pi, Ai, Pf, Af hanya dipakai bagi jaringan yang memiliki
delay masukan dan layar. Untuk sekedar menghitung
keluaran jaringan, dapat dipakai statemen sederhana
• y = sim (net,p);
• Perhatikan bahwa untuk menghitung keluaran
jaringan, kita tidak perlu mengetahui targetnya. Akan
tetapi jika ingin dihitung kesalahan yang terjadi (selisih
antara target dengan keluaran jaringan), maka harus
diketahui targetnya.
Menghitung keluaran perceptron
Contoh 6
• Hitunglah keluaran jaringan Contoh 4 menggunakan
bobot awal seperti Contoh 5!
• Penyelesaian
Setelah perintah seperti Contoh 5, ditambahkan
perintah:
a = sim (net,p)
diperoleh hasil:
p =
1 1 0 0
1 0 1 0
t =
1 0 0 0
Penyelesaian
• a =
1 1 1 1
• Vektor a merupakan keluaran jaringan untuk p1 hingga
p4 dengan menggunakan bobot dan bias masing-
masing = [-1 1] dan [1]. Perhitungan manualnya
sebagai berikut
• Jika ingin menampilkan besar error dan unjuk kerja
yang terjadi, maka parameter perintah sim
ditambahkan:
Pola Masukan f(net)
p1 1(-1)+1(1) + 1 = 1 1
p2 1(-1)+0(1) + 1 = 0 1
p3 0(-1)+1(1) + 1 = 2 1
p4 0(-1)+0(1) + 1 = 0 1
[a,Pf,Af,e,perf] = sim (net,p,[ ],[ ],t)
keluaran jaringan adalah:
a
1 1 1 1
Pf =
[ ]
Af =
[ ]
e =
0 -1 -1 -1
perf =
0.7500
Penyelesaian