Anda di halaman 1dari 6

PERCEPTRON

A. ARSITEKTUR PERCEPTRON
Model jaringan perceptron ditemukan Rosenblatt (1962) dan Minsky-Papert (1969). Model
tersebut merupakan model yang memiliki aplikasi dan pelatihan yang paling baik pada era
tersebut.

Arsitektur jaringan Perceptron menyerupai dengan arsitektur jaringan Hebb.

Gambar 4.1 Arsitektur Perceptron

Jaringan terdiri dari beberapa unit masukan (ditambah sebuah bias), memiliki sebuah unit
keluaran. Hanya saja fungsi aktivasi bukan merupakan fungsi biner (atau bipolar), tetapi
memiliki kemungkinan nilai -1, 0 atau 1.
Nilai threshold 𝜃 yang ditentukan :
1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 > 𝜃
f(net) = { 0 𝑗𝑖𝑘𝑎 − 𝜃 ≤ 𝑛𝑒𝑡 ≤ 𝜃
−1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 < −𝜃
Secara geometris, fungsi aktivasi membentuk 2 garis sekaligus, masing-masing dengan
persamaan :
w1x1 + w2x2 + ... + wnxn + b = 𝜃
dan
w1x1 + w2x2 + ... + wnxn + b = - 𝜃

B. ALGORITMA PELATIHAN PERCEPTRON


Misalkan:
s adalah vektor masukan dan t adalah target keluaran
α adalah laju pemahaman (learning rate) yang ditentukan
𝜃 adalah threshold yang ditentukan
Algoritma pelatihan perceptron :
1. Inisialisasi semua bobot dan bias (umumnya wi = b = 0). Tentukan laju pemahaman (=α).
Untuk penyederhana, biasanya α diberi nilai = 1
2. Selama ada elemen vektor masukan yang respon unit keluarnya tidak sama dengan
target, lakukan :
1) Set aktivasi unit masukan xi = si (i = 1,...,n)
2) Hitung respon unit keluaran : net = ∑𝑖 𝑥𝑖 𝑤𝑖 + 𝑏
1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 > 𝜃
f(net) = { 0 𝑗𝑖𝑘𝑎 − 𝜃 ≤ 𝑛𝑒𝑡 ≤ 𝜃
−1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 < −𝜃
3) 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

Ada beberapa hal yang perlu diperhatikan dalam algoritma tersebut :


1. Iterasi dilakukan terus 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.
2. 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.
3. Kecepatan iterasi ditentukan pula oleh laju pemahaman (=α dengan 0 ≤ α ≤ 1) . semakin
besar harga α, semakin sedikit iterasi yang diperlukan. Akan tetapi jika α terlalu besar,
maka akan merusak pola yang sudah benar sehingga pemahaman menjadi lambat.

Contoh 4.1:
Buatlah perceptron untuk mengenali fungsi logika “AND” dengan masukan dan keluaran
bipolar. Untuk inisialisasi, gunakan bobot dan bias awal = 0, α = 1 dan threshold = 0.
Penyelesaian :
Tabel masukan dan target fungsi logika “dan” dengan masukan dan keluaran bipolar tampak
dalam tabel 2.1

Tabel 4.1 Fungsi Logika “AND” Dengan Bipolar


Masukan target
x1 x2 b t
1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1
Untuk threshold = 0, maka fungsi aktivasi menjadi :
1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 > 0
𝑦 = 𝑓(𝑛𝑒𝑡) = { 0 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 = 0
−1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 < 0
Iterasi untuk seluruh pola yang ada disebut epoch Tabel 3.2 menunjukkan hasil pada epoch
pertama.

Tabel 4.2 Perceptron Epoch Pertama


Masukan Target Keluaran Perubahan bobot bobot baru
x1 x2 b t net f(net) w1 w2 b w1 w2 w(bias)
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 1 1 -1 2 2 -2

Tabel 4.3 Perceptron Epoch Kedua


Masukan Target Keluaran Perubahan bobot bobot baru
x1 x2 b t net f(net) w1 w2 b w1 w2 w(bias)
Bobot yang diperoleh dari epoch pertama 2 2 -2
1 1 1 1 2 1 1 1 1 3 3 -1
1 -1 1 -1 -1 -1 -1 1 -1 2 4 -2
-1 1 1 -1 0 0 1 -1 -1 3 3 -3
-1 -1 1 -1 -9 -1 1 1 -1 4 4 -4

Tabel 4.4 Perceptron Epoch Ketiga


Masukan Target Keluaran Perubahan bobot bobot baru
x1 x2 b t net f(net) w1 w2 b w1 w2 w(bias)
Bobot yang diperoleh dari epoch kedua 4 4 -4
1 1 1 1 4 1 1 1 1 5 5 -3
1 -1 1 -1 -3 -1 -1 1 -1 4 6 -4
-1 1 1 -1 -2 -1 1 -1 -1 5 5 -5
-1 -1 1 -1 -15 -1 1 1 -1 6 6 -6

Pada tabel 4.4 nilai Keluaran f(net) sama dengan Target (t), maka jaringan Perceptron
tersebut sudah mengenali pola sehingga iterasi dihentikan.

C. PENGENALAN POLA KARAKTER PADA PERCEPTRON


Algoritma untuk mengenali apakah pola masukan yang diberikan menyerupai sebuah
karakter tertentu (misal mirip huruf “A”) atau tidak, sebagai berikut :
1. Nyatakan tiap pola masukan sebagai vektor bipolar yang elemennya adalah tiap titik
dalam pola tersebut.
2. Berikan nilai target = +1 jika pola masukan menyerupai huruf yang diinginkan. Jika
sebaliknya, berikan nilai target = -1.
3. Berikan inisialisasi bobot, bias, laju pemahaman dan threshold.
4. Lakukan proses pelatihan perceptron.

Contoh 4.2:
Diketahui 6 buah pola masukan seperti gambar 3.1 :

Gambar 4.2 Pola Karakter


Buatlah model perceptron untuk mengenali pola “A”.
Penyelesaian :
Untuk menentukan vektor masukan, tiap titik dalam pola diambil sebagai komponen vektor.
Jadi tiap vektor masukan memiliki 9*7 = 63 komponen. Titik dalam pola yang bertanda “#”
diberi nilai = +1 dan titik bertanda “.” Diberi nilai -1. Pembacaan pola dilakukan dari kiri ke
kanan, dimulai dari baris paling atas.
Vektor masukan pola 1 adalah
(-1 -1 1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
-1 -1 1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1 1 1 1 1 -1
-1 1-1 -1 -1 1 -1 -1 1 -1 -1 -1 1 -1 1 1 1 -1 1 1 1)
Vektor masukan pola 2 adalah
(1 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 1
-1 1 -1 -1 -1 -1 1 -1 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1
-1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 1 1 1 1 1 1 1 -1)
Vektor masukan pola 3 adalah
(-1 -1 1 1 1 1 1 -1 1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 1 1 1 1 -1)
Vektor masukan pola 4 adalah
(-1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1
-1 -1 1 -1 1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -1
-1 1 1 1 1 1 -1 -1 1 -1 -1 -1 1 -1 -1 1 -1 -1 -1 1 -1)
Vektor masukan pola 5 adalah
(1 1 1 1 1 1 -1 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 -1 1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 -1 -1 1 1 1 1 1 1 1 -1)
Vektor masukan pola 6 adalah
(-1 -1 1 1 1 -1 -1 -1 1 -1 -1 -1 1 -1 1 -1 -1 -1 -1 -1 1
1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 -1 -1 -1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 1 1 -1 -1)
Target bernilai = +1 bila pola masukan menyerupai huruf “A”. Jika tidak, maka target
bernilai = -1. Pola yang menyerupai huruf “A” adalah pola 1 dan pola 4. Pasangan pola dan
targetnya tampak pada tabel 2.4

Tabel 4.5 Pola Masukan Untuk Mengenali Pola “A”

Perceptron yang dipakai untuk mengenali pola huruf “A” (atau bukan “A”) memiliki 63 unit
masukan, sebuah bias dan sebuah unit keluaran. Misalnya bobot awal diambil = 0 untuk
semua bobot maupun bias, α = 1, 𝜃 = 0.5
Pelatihan dilakukan dengan cara memasukkan 63 unit masukan (sebuah pola huruf).
Dihitung
net = ∑63
𝑖=1 xi wi + b.
Berikutnya, fungsi aktivasi dihitung menggunakan persamaan
1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 > 0.5
𝑦 = 𝑓(𝑛𝑒𝑡) = { 0 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 − 0.5 ≤ 𝑛𝑒𝑡 ≤ 0.5
−1 𝑗𝑖𝑘𝑎 𝑛𝑒𝑡 < −0.5
Apabila f(net) ≠ target, maka bobot dan bias diubah
Proses pelatihan dilakukan terus hingga semua keluaran jaringan sama dengan targetnya.
Latihan 4.1
Buatlah perceptron untuk mengenali pola yang berbentuk pada fungsi logika XOR dengan α =
1 dan 𝜃 = 0.2
a. Tanpa menggunakan bias (jika mungkin)
b. Menggunakan bias
Tunjukkan secara grafik bahwa tanpa bias, perceptron tidak akan mampu mengenali pola secara
benar.

Anda mungkin juga menyukai