• Tidak ada hasil yang ditemukan

Studi Modifikasi standard Backpropagasi

N/A
N/A
Protected

Academic year: 2022

Membagikan "Studi Modifikasi standard Backpropagasi"

Copied!
16
0
0

Teks penuh

(1)

Studi Modifikasi standard Backpropagasi

1. Modifikasi fungsi objektif dan turunan 2. Modifikasi optimasi algoritma

Step Studi :

1. Studi literatur

2. Studi standard backpropagasi

a. Uji coba standar backpropagasi pada xor problem b. Evaluasi karakteristik standar backpropagasi 1). Tingkat konvergensi ke global minimum

2). Tingkat akurasi output

3. Studi modifikasi standar backpropagasi

a. Uji coba modifikasi standar backpropagasi pada xor problem b. Evaluasi karakteristik modifikasi standar backpropagasi 1). Tingkat konvergensi ke global minimum

2). Tingkat akurasi output

4. Membandingkan standar dan modifikasi backpropagasi a. Tingkat konvergensi ke global minimum

b. Tingkat akurasi output 5. Implementasi

a. Programing

b. Management Database

(2)

Backpropagasi

Backpropagasi merupakan algoritma pelatihan untuk memperkecil tingkat error dengan menyesuaikan bobot berdasarkan perbedaan output dan target yang diinginkan.

Proses pelatihan :

1. Pengambilan input 2. Penelusuran error 3. Penyesuaian bobot

Arsitektur :

Y1 Yk Ym

Z1 Zj Zp

X1 Xj Xn

1 1

w01 w11 wj1 wp1 wok W1k Wjk Wpk w0m W1m

Wjm Wpm

V01 V11 Vj1 Vn1 Voj V1j Vij Vnj V0p V1p Vip Vnp

(3)

Algoritma :

Step 0 : Inisialisai Bobot

• Random

• Nguyen-Widrow

Step 1 : Selama kondisi stopping FALSE, lakukan Step 2-9

Step 2 : Untuk setiap pasangan pelatihan, lakukan Step 3-8 (Proses Feedforward) :

Step 3 : Setiap unit input (Xi, i = 1,…,n) :

• menerima input xi

• mengirimkannya ke semua unit layer diatasnya (Hidden layer).

Step 4 : Setiap unit hidden (Zj, j = 1,…,p)

• menghitung semua sinyal input dengan bobotnya : z_inj = voj + Σxi vij

• menghitung nilai aktivasi setiap unit hidden sebagai output unit hidden :

zj = f(z_inj)

• mengirim nilai aktivasi sebagai input untuk unit output.

Step 5 : Setiap unit output (Yk, k = 1,…,m)

• menghitung semua sinyal inputnya dengan bobotnya : y_ink = wok + Σzj wjk

* menghitung nilai aktivasi setiap unit output sebagai output jaringan.

yk = f(y_ink)

(Backpropagation of error) :

Step 6 : Setiap unit output (Yk, k = 1,…,m) :

• menerima pola target yang bersesuaian dengan pola input

• menghitung informasi error : δk = (tk - yk) f’(y_ink)

• menghitung besarnya koreksi bobot unit output : ∆wjk = α ∂E(wjkj)/∂wjk = α δk zj

• menghitung besarnya koreksi bias output : ∆w0k = α δk

• mengirimkan δk ke unit-unit yang ada pada layer di bawahnya.

(4)

Step 7 : Setiap unit hidden (Zj, j = 1,…,p) :

* menghitung semua koreksi error : δ_inj = Σδk wjk

menghitung nilai aktivasi koreksi error : δj = δ_inj f’(z_inj)

menghitung koreksi bobot unit hidden :

∆vij = α δj xi

* menghitung koreksi error bias unit hidden: ∆v0j = α δj

Step 8 : Setiap unit output (Yk, k = 1,…,m) :

* meng-update bobot dan biasnya (j = 0,…,p) : wjk(baru) = wjk(lama) + ∆wjk

w0k(baru) = w0k(lama) + ∆w0k

Setiap unit hidden (Zj, j = 1,…,p)

* meng-update bobot dan biasnya (i = 0,…,n) : vij(baru) = vij(lama) + ∆vij

v0j(baru) = v0j(lama) + ∆v0j

Step 9 : Kondisi stopping ( Toleransi error )

(5)

Metode Inisialisasi Nguyen Widrom :

Menentukan faktor skala : β = 0.7 (p) 1/n

β : faktor skala

n : jumlah unit input p : jumlah unit hidden

Algoritma :

Untuk setiap unit hidden (j=1, ... , p) :

• Inisialisasi bobot secara random

vij = bilangan acak antara -0.5 sampai 0.5

p

• Hitung : || vj || = √ { Σ (vij)2}

i=1

• Update bobot vij = β vij || vj ||

• Set bias v0j : bilangan acak antara - β sampai β

(6)

Ar s i t ek t ur J NPB

JNPB terdiri dari satu lapis masukan

satu atau lebih lapis tersembunyi satu lapis keluaran.

Lapisan masukan hanya bertugas meneruskan masukan dan tidak melakukan komputasi, sementara lapisan tersembunyi dan lapisan keluaran melakukan komputasi.

Jumlah neuron pada lapisan masukan sama dengan jumlah ciri atau atribut pada pola yang akan dikenali, sedang jumlah neuron pada lapisan keluaran sama dengan jumlah kelas pola.

Y1 Yk Ym

Z1 Zj Zp

X1 Xj Xn

1 1

w01 w11 wj1 wp1 wok W1k Wjk Wpk w0m W1m Wjm Wpm

V01 V11 Vj1 Vn1 Voj V1j Vij Vnj V0p V1p Vip Vnp

Lapisan masukan Lapisan tersembunyi Lapisan keluaran

(7)

Algoritma

1. Tentukan inisialisasi bobot awal Random

Nguyen Widrow

2. Mekanisme komputasi jaringan Terdapat dua macam jenis komputasi, komputasi maju (forward pass) komputasi balik (backward pass).

2.a. Komputasi Maju

Dalam komputasi maju, menghitung nilai aktivasi semua neuron (lapis tersembunyi dan lapis keluaran); mulai dari neuron masukan menuju neuron keluaran

1. Neuron pada lapis tersembunyi menghitung nilai total masukan : menjumlahkan perkalian sinyal masukan dari lapisan masukan

dengan bobot antara lapisan masukan dan lapisan tersembunyi, dan bias tertentu.

2. Neuron tersebut lalu menghitung nilai aktivasi dengan menerapkan fungsi aktifasi pada nilai total masukan.

3. Sinyal keluaran dari lapisan tersembunyi menjadi masukan bagi lapisan keluaran. Neuron pada lapisan keluaran menghitung nilai total masukan neuron keluaran (lihat 1).

4. Neuron bersangkutan menghitung nilai aktivasi neuron keluaran dengan menerapkan fungsi aktifasi pada nilai total masukan neuron kelurana (lihat 2).

(8)

Step 1 : Selama kondisi stopping FALSE, lakukan Step 2-9

Step 2 : Untuk setiap pasangan pelatihan, lakukan Step 3-8 (Proses Feedforward) :

Step 3 : Setiap unit input (Xi, i = 1,…,n) :

• menerima input xi

• mengirimkannya ke semua unit layer diatasnya (Hidden layer).

Step 4 : Setiap unit hidden (Zj, j = 1,…,p)

• menghitung semua sinyal input dengan bobotnya : z_inj = voj + Σxi vij

• menghitung nilai aktivasi setiap unit hidden sebagai output unit hidden :

zj = f(z_inj)

• mengirim nilai aktivasi sebagai input untuk unit output.

Step 5 : Setiap unit output (Yk, k = 1,…,m)

• menghitung semua sinyal inputnya dengan bobotnya : y_ink = wok + Σzj wjk

* menghitung nilai aktivasi setiap unit output sebagai output jaringan.

yk = f(y_ink)

2.b. Perhitungan Komputasi Balik

Komputasi balik dimulai dari lapisan keluaran. Komputasi balik bertujuan untuk menyesuaikan bobot dalam jaringan.

1. Setiap neuron di lapisan keluaran menghitung selisih target keluaran dan sinyal keluaran.

2. Setiap neuron di lapisan keluaran menghitung dan menyesuaikan bobot hubungan dari dirinya ke semua neuron di lapisan

tersembunyi.

3. Propagasikan sinyal kesalahan ke lapisan tersembunyi sehingga setiap neuron di lapisan tersembunyi menghitung dan menyesuaikan

(9)

bobot hubungan dari dirinya ke semua neuron di lapisan masukan (lihat 2)

Fungs i Kes al ahan

Algoritme propagasi balik menggunakan prosedur gradient

descent atau menuruni lembah permukaan error, untuk meminimisasi suatu fungsi kesalahan. Fungsi kesalahan yang umum dipakai ialah fungsi error kuadratis:

E = 1

2 (d - o )k k 2

k

(2.11)

At ur an Pembel aj ar an

Proses pembelajaran JNPB adalah sebagai berikut:

1. Inisialisasi bobot awal.

2. Untuk tiap pola pelatihan lakukan langkah 3 dan langkah 4.

3. Lakukan langkah komputasi maju:

• Setiap neuron di lapisan masukan menerima sinyal xi dan meneruskannya ke semua neuron di lapisan tersembunyi.

• Setiap neuron di lapisan tersembunyi menjumlahkan sinyal masukan yang dikalikan dengan bobot bersesuaian:

Z in

j

v

j

x v

i ij

i n

_ = +

= 0

1

lalu menghitung sinyal keluaran dengan fungsi aktifasi:

Z

j

= ( _ f Z in

j

)

dan meneruskan sinyal ini pada semua neuron di lapisan keluaran.

(10)

• Setiap neuron di lapisan keluaran menjumlahkan sinyal masukan yang dikalikan dengan bobot bersesuaian:

y ink w k z wj jk

j p

_ = +

= 0

1

lalu menghitung sinyal keluaran dengan fungsi aktifasi:

y

j

= ( _ f y in

k

)

4. Lakukan komputasi balik : a. Komputasi di lapis keluaran:

• Setiap neuron di lapisan keluaran diberikan target masukan tertentu.

• Hitung sinyal error δk untuk setiap neuron k di lapisan ini:

δ

k

= ( t

k

y

k

) f

'

( _ y in

k

)

• Hitung modifikasi bobot untuk setiap hubungan antara neuron bersangkutan dengan semua neuron di lapisan tersembunyi:

∆w

jk

= αδ

k

z

j

• Hitung modifikasi bias untuk setiap neuron di lapisan keluaran:

∆w

0k

= αδ

k

b. Komputasi di lapis tersembunyi:

• Hitung sinyal error δj untuk setiap neuron j di lapisan tersembunyi:

d j kwjk f z inj

k m

=

=

(

δ

) '( _ )

1

(11)

• Hitung modifikasi bobot untuk hubungan antara neuron bersangkutan dengan semua neuron di lapisan masukan:

∆v

ij

= αδ

j

x

i

• Hitung modifikasi bias untuk setiap neuron di lapisan tersembunyi:

∆v

0 j

= αδ

j i

• Ubah bobot dan bias

w

jk

( new ) = w

jk

( old ) + ∆ w

jk

v new

ij

( ) = v old

ij

( ) + ∆ v

ij

Bias juga dirubah

Wok baru = wok lama + alfa.wok lama Voj baru = voj lama + alfa.voj lama

5. Uji kriteria kesalahan, bila kesalahan lebih besar dari batas yang telah ditetapkan, ulangi langkah 2 sampai 4; bila tidak, pelatihan selesai.

Fak t or - f ak t or dal am Pembel aj ar an

Beberapa faktor yang mempengaruhi keberhasilan algoritme propagasi balik, antara lain:

1. Inisialisasi bobot

Bobot awal menentukan apakah jaringan akan mencapai global minima atau local minima kesalahan, dan seberapa cepat jaringan akan konvergen. Inisialisasi acak merupakan cara yang paling sering

(12)

digunakan dalam inisialisasi bobot. Untuk mempercepat proses pelatihan, suatu modifikasi dari inisialisasi acak diperkenalkan oleh Nguyen dan Widrow. Inisialisasi Nguyen-Widrow didefinisikan sebagai:

• Untuk bias dan bobot hubungan antara semua neuron di lapisan tersembunyi dan semua neuron di lapisan keluaran, lakukan inisialisasi acak dengan jangkauan -0,5 dan 0,5.

• Untuk bias bobot hubungan antara lapisan tersembunyi dan lapisan masukan, lakukan sebagai berikut:

◊ Hitung β = 0.7 (P)1/N di mana adalah faktor skala, P adalah ukuran lapisan tersembunyi dan N adalah ukuran lapisan masukan.

◊ Untuk setiap neuron j di lapisan tersembunyi, lakukan sebagai berikut:

⇒ Inisialisasi secara acak bobot antara neuron bersangkutan dengan semua neuron di lapisan masukan: wij = bilangan acak antara -0,5 dan 0,5.

⇒ Hitung norma wj:

||w || = j wij

i

⇒ Inisialisasi kembali wij:

w = w

||w ||

ij

ij j

β (2.12)

⇒ Inisialisasi bias: θj = bilangan acak antara -β dan β.

Sebagai pengganti inisialisasi acak, dalam tugas akhir ini akan dipakai inisialisasi Nguyen-Widrow.

2. Laju pembelajaran

Merupakan parameter jaringan dalam mengendalikan proses

penyesuaian bobot. Nilai laju pembelajaran yang optimal bergantung pada kasus yang dihadapi. Laju pembelajaran yang terlalu kecil

menyebabkan konvergensi jaringan menjadi lebih lambat, sedang laju pembelajaran yang terlalu besar dapat menyebabkan

ketidakstabilan pada jaringan

(13)

3. Momentum

Momentum digunakan untuk mempercepat pelatihan jaringan.

Metode momentum melibatkan penyesuaian bobot ditambah dengan faktor tertentu dari penyesuaian sebelumnya. Penyesuaian ini

dinyatakan sebagai berikut:

w

jk

( t + = 1 ) αδ

k

z

j

+ µ ∆ w

jk

( ) t

(2.13)

Notasi :

• X : nilai masukan , X = ( X1, ... Xi, ...Xn )

• v : bobot antara bias atau input dengan hidden

• Z : nilai aktivasi hidden, Z = ( Z1, ... Xj, ...Xp ) Zj = f (z_in)

n z_inj = v0j +Σ xi vij i=1

• w : bobot antara bias atau hidden dengan output

• Y : nilai output aktual, Y = ( Y1, ... Yk, ...Ym ) Yk = f (y_in)

p y_ink = w0k +Σ xi vij k=1

Update bobot : tanpa momentum

wjk(t+1) = wjk(t) + ∆wjk

∆wjk = - α ∂E(wjk) ∂ wjk vij(t+1) = vij(t) + ∆vij

(14)

∆vij = - α ∂E(vij) ∂ vij

Update bobot : dengan momentum

wjk(t+1) = wjk(t) + ∆wjk + η ∆wjk(t-1) ∆wjk = - α ∂E(wjk)

∂ wjk

vij(t+1) = vij(t) + ∆vij + η ∆vij(t-1)

∆vij = - α ∂E(vij) ∂ vij

Fungsi Error : Kuadratik

E = 0.5 Σk (tk - Yk)2

Untuk update bobot antara hidden dan output ;

∂E = ∂ E ∂ Yk ∂ y_ink ∂wjk ∂Yk ∂ y_ink ∂wjk

∂ E = - Σk (tk - Yk) ∂Yk

Yk = f(y_ink)

∂Yk = f ‘ (y_ink)

(15)

∂ y_ink

y_ink = wok + Σzj wjk

∂ y_ink = zj

∂ wjk

∂E(wjk) = - Σk (tk - Yk) f ‘ (y_ink) zj

∂wjk

didefinisikan : δ k = Σk(tk - yk) (f’(y_in))

∂E(wjk) = - δ k Zj

∂ wjk

∆W = - α (- δ k Zj )= α δ k Zj

Untuk update bobot antara input dan hidden ;

∂E = ∂ E ∂ Yk ∂ y_ink ∂zj ∂ z_inj

∂vij ∂Yk ∂ y_ink ∂zj ∂ z_inj ∂vij

∂E = - Σk (tk - Yk)

∂Yk

Yk = f(y_ink)

∂Yk = f ‘ (y_ink)

∂ y_ink

y_ink = wok + Σzj wjk

(16)

∂ y_ink = wjk

∂ zj

∂ zj = f ‘ (z_inj)

∂ z_inj

n

z_inj = v0j +Σ xi vij

i=1

∂ z_inj = xi

∂ vij

∂E = - Σk (tk - Yk) f ‘(y_ink) wjk f ‘(z_inj) Xi

∂vij

didefinisikan : δ k = Σk(tk - yk) (f’(y_in))

∂E = - Σk δ k wjk f ‘(z_inj) Xi

∂vij

didefinisikan : δ j = Σk δ k wjk f ‘(z_inj)

∂E = - δ j Xj

∂ vij

∆V = - α (- δ j Xi )= α δ j Xi

Referensi

Dokumen terkait

• 'e!#antu dokter !elaksanakan (unsi !anae!en Puskes!as% • Ikut serta secara akti( dala! pene!#anan peran serta !asyarakat di. wilayah ker$anya dan ker$asa!a

Salah satu tempat pendaratan ikan yang ada di Sulawesi Selatan adalah di Kota Pare-pare yang mengalami peningkatan, perkembangan dari tahun 2000-2004 yang cukup pesat baik dari

Kesimpulan Dari hasil penelitian dan pembahasan yang telah dipaparkan pada bab sebelumnya, dapat ditarik kesimpulan sebagai berikut: 1 Implementasi UU Nomor 8 Tahun 2012

Untuk memastikan apakah novel Merindu Baginda Nabi ini mengandung pesan dakwah, maka penulis meneliti dengan menggunakan metode analisis wacana kritis Teun A

Sistem Informasi Administrasi Kependudukan (SIASIK) sangat bermanfaat bagi masyarakat dalam pembuatan surat keterangan yang dapat diakses dari rumah, membantu administrator

Tujuan dari percobaan ini adalah mengamati pengaruh penambahan larutan alcohol dan nikotin pada pembuluh arteri atau vena sirip ekor benih ikan mas terhadap laju

Kepala sekolah yang berjiwa wirausaha adalah orang yang memiliki sikap dan perilaku kreatif dan inovatif dalam memimpin dan mengelola organisasi sekolah dengan