Selasa, 12 Juli 2011

Jaringan Syaraf Tiruan-Perceptron

COVER

1. Pengertian 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.

Arsitetktur jaringan perceptron mirip dengan arsitektur jaringan Hebb.

Gambar 1. Arsitektur Jaringan Perceptron

Jaringan terdiri dari beberapa unit masukan (ditambah sebuah bias), dan memiliki sebuah unit keluaran. Hanya saja fungsi aktivasi bukan merupakan fungsi biner atau bipolar, tetapi memiliki kemungkinan nilai -1, 0 atau 1.

Untuk suatu harga threshold (Ѳ) ditentukan oleh :

f(net) =

2. Perceptron Manual

Adapun algoritma dasar dalam perceptron adalah sebagai berikut :

1. Inisialisasi semua bobot (wi) dan bias (b), umumnya wi = b = 0.

Tentukan laju pemahaman (α). Untuk penyederhanaan, biasanya α=1.

2. Selama ada elemen vektor masukan (s) yang respon unit keluarannya (y) tidak sama dengan target (t), lakukan :

a. Set aktivasi unit masukan xi = si ( i = 1, …, n )

b. Hitung respon unit keluaran : net = ∑i xi wi + b

y = f (net) =

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 :

a. Iterasi dilakukan terus menerus hingga semua pola memiliki keluaran jaringan yang sama dengan targetnya ( y = t ).

b. Pada langkah 2(c), perubahan bobot hanya dilakukan pola yang mengandung kesalahan (y ≠ t). Perubahan tersebut merupakan hasil kali unit masukan dengan target dan laju pemahaman (∆w = xi t α). Perubahan bobot hanya akan terjadi kalau unit masukan ≠ 0.

c. Kecepatan iterasi ditentukan pula oleh α (dengan 0 ≤ α ≤ 1) yang dipakai. Semakin besar harga α, maka akan semakin sedikit iterasi yang diperlukan. Namun apabila harga α terlalu besar, maka akan merusak pola yang sudah benar sehingga pemahaman menjadi lambat.

3. Contoh Soal Perceptron Manual

Soal :

Buatlah perceptron untuk mengenali fungsi logika AND dengan masukan dan keluaran bipolar, inisialisasi awal bobot = 0, bias = 1, α = 1 dan threshold = 0.

Penyelesaian :

· Tabel masukan dan target berupa bipolar untuk logika AND.

Masukan

Target

X1

X2

1

T

1

1

1

1

1

-1

1

-1

-1

1

1

-1

-1

-1

1

-1

Tabel 1. Masukan dan Target Bipolar Logika AND

· Untuk threshold = 0, maka fungsi aktivasinya menjadi :

y = f (net)

· Iterasi untuk seluruh pola disebut epoch. Adapun tabel epoch 1 yaitu :

Masukan

Target

net

y

Perubahan Bobot

Bobot Baru

( X1

X2

1 )

t

f(net)

( ∆w1

∆w2

∆b )

( 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 )

Ternyata tidak semua pola f(net) = target maka iterasi dilanjutkan ke epoch ke 2. Semua pola kembali dimasukkan dalam jaringan dengan menggunakan bobot terakhir yang diperoleh sebagai bobot awalnya.

· Tabel epoch 2 yaitu :

Masukan

Target

net

y

Perubahan Bobot

Bobot Baru

( X1

X2

1 )

t

f(net)

( ∆w1

∆w2

∆b )

( w1

w2

b )

Bobot dari epoch 1

( 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 )

Dalam iterasi epoch 2, ternyata semua pola f(net) = target, maka jaringan sudah mengenal semua pola dan iterasi dihentikan.

4. Perceptron dalam Matlab

Model perceptron dalam Matlab sedikit berbeda dengan penjelasan perceptron sebelumnya. Dalam Matlab, default sistem yang dipakai adalah sebagai berikut :

· Masukan dan target yang dipakai berbentuk bebas ( tidak harus biner / bipolar )

· Threshold yang dipakai adalah 0

· Fungsi aktivasi memiliki output berupa biner ( bukan -1, 0, 1 seperti penjelasan sebelumnya), sehingga :

f (net)

· Tidak menggunakan laju pemahaman (α). Bobot diubah berdasarkan erroor yang terbentuk dari selisih antara target yang diinginkan dengan keluaran jaringan ( f (net) ). Perubahan bobot bukan merupakan hasil kali antara target dengan masukan.

4.1 Menghitung f(net)/a dengan sintak “sim”

- Rumus “sim”

- Tabel 13.2

4.2 Menghitung Perceptron dengan sintak “learnp”

- And, Or, XAnd,XOr (input+output)

4.3 Menghitung Perceptron dengan sintak “train”

- And, Or, XAnd,XOr (input+output+grafik)

DAFTAR PUSTAKA

2 komentar:

  1. kita juga punya nih jurnal mengenai jaringan syaraf tiruan, silahkan dikunjungi dan dibaca , berikut linknya
    http://repository.gunadarma.ac.id/bitstream/123456789/972/1/11106025.pdf
    semoga bermanfaat yaa :)

    BalasHapus
  2. mohon maaf sebelum nya
    saya sangat sulit memahami soal ini

    Buat Perceptron dengan 2 masukan dan 2 keluaran sebagai berikut :
    x1 x2 t1 t2
    1 1 -1 1 bobot awal diambil 0, laju pemahaman = 1 dan threshold = 0.5
    1 -1 -1 1
    -1 1 -1 1
    -1 -1 -1 1

    mohon pencerahan nya, untuk contoh saya belajar, di email, trims

    BalasHapus