Transcript

JARINGAN SYARAF TIRUAN

Kelas : 7D SoreNAMA

NRP

M. VATCHUL ULUM (101080200256)FAKULTAS TEKNIK2014Daftar Isi :

Bab I

Pengenalan jst ........................................................................Bab II

Arsitektur Jaringan Syaraf Tiruan .........................................Bab III

Metode Hebb .........................................................................

Bab IV

Metode Perceptron .................................................................

Bab V

Metode Adaline Dan Delta Rule ...........................................

Bab VI

Madaline ...............................................................................

Bab VIIMetode Backpropagation ......................................................Contoh Progam JST ......................................................................................

Daftar Pustaka ...............................................................................................Bab 1

Pengenalan jstJaringan saraf tiruan (JST) (Bahasa Inggris: artificial neural network (ANN), atau juga disebut simulated neural network (SNN), atau umumnya hanya disebut neural network (NN)), adalah jaringan dari sekelompok unit pemroses kecil yang dimodelkan berdasarkan jaringan saraf manusia. JST merupakan sistem adaptif yang dapat mengubah strukturnya untuk memecahkan masalah berdasarkan informasi eksternal maupun internal yang mengalir melalui jaringan tersebut.

Secara sederhana, JST adalah sebuah alat pemodelan data statistik non-linier. JST dapat digunakan untuk memodelkan hubungan yang kompleks antara input dan output untuk menemukan pola-pola pada data. Tidak ada dua otak manusia yang sama, setiap otak selalu berbeda. Beda dalam ketajaman, ukuran dan pengorganisasiannya. Salah satu cara untuk memahami bagaimana otak bekerja adalah dengan mengumpulkan informasi dari sebanyak mungkin scan otak manusia dan memetakannya. Hal tersebut merupakan upaya untuk menemukan cara kerja rata-rata otak manusia itu. Peta otak manusia diharapkan dapat menjelaskan misteri mengenai bagaimana otak mengendalikan setiap tindak tanduk manusia, mulai dari penggunaan bahasa hingga gerakan.

Walaupun demikian kepastian cara kerja otak manusia masih merupakan suatu misteri. Meski beberapa aspek dari prosesor yang menakjubkan ini telah diketahui tetapi itu tidaklah banyak. Beberapa aspek-aspek tersebut, yaitu:

a. Tiap bagian pada otak manusia memiliki alamat, dalam bentuk formula kimia, dan sistem saraf manusia berusaha untuk mendapatkan alamat yang cocok untuk setiap akson (saraf penghubung) yang dibentuk.

b. Melalui pembelajaran, pengalaman dan interaksi antara sistem maka struktur dari otak itu sendiri akan mengatur fungsi-fungsi dari setiap bagiannya.

c. Axon-axon pada daerah yang berdekatan akan berkembang dan mempunyai bentuk fisik mirip, sehingga terkelompok dengan arsitektur tertentu pada otak.

d. Axon berdasarkan arsitekturnya bertumbuh dalam urutan waktu, dan terhubung pada struktur otak yang berkembang dengan urutan waktu yang sama.

Berdasarkan keempat aspek tersebut di atas dapat ditarik suatu kesimpulan bahwa otak tidak seluruhnya terbentuk oleh proses genetis. Terdapat proses lain yang ikut membentuk fungsi dari bagian-bagian otak, yang pada akhirnya menentukan bagaimana suatu informasi diproses oleh otak.

Elemen yang paling mendasar dari jaringan saraf adalah sel saraf. Sel-sel saraf inilah membentuk bagian kesadaran manusia yang meliputi beberapa kemampuan umum. Pada dasarnya sel saraf biologi menerima masukan dari sumber yang lain dan mengkombinasikannya dengan beberapa cara, melaksanakan suatu operasi yang non-linear untuk mendapatkan hasil dan kemudian mengeluarkan hasil akhir tersebut.

Dalam tubuh manusia terdapat banyak variasi tipe dasar sel saraf, sehingga proses berpikir manusia menjadi sulit untuk direplikasi secara elektrik. Sekalipun demikian, semua sel saraf alami mempunyai empat komponen dasar yang sama. Keempat komponen dasar ini diketahui berdasarkan nama biologinya yaitu, dendrit, soma, akson, dan sinapsis. Dendrit merupakan suatu perluasan dari soma yang menyerupai rambut dan bertindak sebagai saluran masukan. Saluran masukan ini menerima masukan dari sel saraf lainnya melalui sinapsis. Soma dalam hal ini kemudian memproses nilai masukan menjadi sebuah output yang kemudian dikirim ke sel saraf lainnya melalui akson dan sinapsis.

Penelitian terbaru memberikan bukti lebih lanjut bahwa sel saraf biologi mempunyai struktur yang lebih kompleks dan lebih canggih daripada sel saraf buatan yang kemudian dibentuk menjadi jaringan saraf buatan yang ada sekarang ini. Ilmu biologi menyediakan suatu pemahaman yang lebih baik tentang sel saraf sehingga memberikan keuntungan kepada para perancang jaringan untuk dapat terus meningkatkan sistem jaringan saraf buatan yang ada berdasarkan pada pemahaman terhadap otak biologi.

Sel saraf-sel saraf ini terhubung satu dengan yang lainnya melalui sinapsis. Sel saraf dapat menerima rangsangan berupa sinyal elektrokimiawi dari sel saraf-sel saraf yang lain. Berdasarkan rangsangan tersebut, sel saraf akan mengirimkan sinyal atau tidak berdasarkan kondisi tertentu. Konsep dasar semacam inilah yang ingin dicoba para ahli dalam menciptakan sel tiruan.

Definisi[sunting | sunting sumber]

Suatu jaringan saraf tiruan memproses sejumlah besar informasi secara paralel dan terdistribusi, hal ini terinspirasi oleh model kerja otak biologis. Beberapa definisi tentang jaringan saraf tiruan adalah sebagai berikut di bawah ini.

Hecht-Nielsend (1988) mendefinisikan sistem saraf buatan sebagai berikut:"Suatu neural network (NN), adalah suatu struktur pemroses informasi yang terdistribusi dan bekerja secara paralel, yang terdiri atas elemen pemroses (yang memiliki memori lokal dan beroperasi dengan informasi lokal) yang diinterkoneksi bersama dengan alur sinyal searah yang disebut koneksi. Setiap elemen pemroses memiliki koneksi keluaran tunggal yang bercabang (fan out) ke sejumlah koneksi kolateral yang diinginkan (setiap koneksi membawa sinyal yang sama dari keluaran elemen pemroses tersebut). Keluaran dari elemen pemroses tersebut dapat merupakan sebarang jenis persamaan matematis yang diinginkan. Seluruh proses yang berlangsung pada setiap elemen pemroses harus benar-benar dilakukan secara lokal, yaitu keluaran hanya bergantung pada nilai masukan pada saat itu yang diperoleh melalui koneksi dan nilai yang tersimpan dalam memori lokal".

Menurut Haykin, S. (1994), Neural Networks: A Comprehensive Foundation, NY, Macmillan, mendefinisikan jaringan saraf sebagai berikut:Sebuah jaringan saraf adalah sebuah prosesor yang terdistribusi paralel dan mempuyai kecenderungan untuk menyimpan pengetahuan yang didapatkannya dari pengalaman dan membuatnya tetap tersedia untuk digunakan. Hal ini menyerupai kerja otak dalam dua hal yaitu: 1. Pengetahuan diperoleh oleh jaringan melalui suatu proses belajar. 2. Kekuatan hubungan antar sel saraf yang dikenal dengan bobot sinapsis digunakan untuk menyimpan pengetahuan.

Dan menurut Zurada, J.M. (1992), Introduction To Artificial Neural Systems, Boston: PWS Publishing Company, mendefinisikan sebagai berikut:Sistem saraf tiruan atau jaringan saraf tiruan adalah sistem selular fisik yang dapat memperoleh, menyimpan dan menggunakan pengetahuan yang didapatkan dari pengalaman.

DARPA Neural Network Study (1988, AFCEA International Press, p. 60) mendefinisikan jaringan syaraf buatan sebagai berikut:

Sebuah jaringan syaraf adalah sebuah sistem yang dibentuk dari sejumlah elemen pemroses sederhana yang bekerja secara paralel dimana fungsinya ditentukan oleh stuktur jaringan, kekuatan hubungan, dan pegolahan dilakukan pada komputasi elemen atau nodes.BAB 2

Arsitektur Jaringan Syaraf Tiruan

Jaringan syaraf tiruan dapat dapat dibedakan dalam beberapa kategori sesuai sudut pandang yang digunakan. Berdasarkan arsitektur atau pola koneksi yang digunakan dalam pada jaringan syaraf tiruan, maka jaringan syaraf tiruan tersebut dapat dibedakan dalam 2 (dua) kategori. Yaitu Struktur Feedforward dan Struktur Recurrent (Feedback) yang dapat diuraikan sebagai berikut.1. Struktur Feedforward Sebuah jaringan yang sederhana mempunyai struktur feedforward dimana signal bergerak dari input kemudian melewati lapisan tersembunyi dan akhirnya mencapai unit output (mempunyai struktur perilaku yang stabil). Tipe jaringan feedforward mempunyai sel syaraf yang tersusun dari beberapa lapisan. Lapisan input bukan merupakan sel syaraf. Lapisan ini hanya memberi pelayanan dengan mengenalkan suatu nilai dari suatu variabel. Lapisan tersembunyi dan lapisan output sel syaraf terhubung satu sama lain dengan lapisan sebelumnya. Kemungkinan yang timbul adalah adanya hubungan dengan beberapa unit dari lapisan sebelumnya atau terhubung semuanya (lebih baik)

Gambar Jaringan Syaraf Tiruan Feedforward

Yang termasuk dalam struktur feedforward : Single-layer perceptron Multilayer perceptron Radial-basis function networks Higher-order networks Polynomial learning networks 2. Struktur Recurrent (Feedback) Jika suatu jaringan berulang (mempunyai koneksi kembali dari output ke input) akan menimbulkan ketidakstabilan dan akan menghasilkan dinamika yang sangat kompleks. Jaringan yang berulang sangat menarik untuk diteliti dalam Jaringan Syaraf Tiruan, namun sejauh ini structure feedforward sangat berguna untuk memecahkan masalah. Yang termasuk dalam stuktur recurrent (feedback) : Competitive networks Self-organizing maps Hopfield networks Adaptive-resonanse theory models

Gambar Jaringan Syaraf Tiruan FeedBack

Ketika sebuah Jaringan Syaraf digunakan. Input dari nilai suatu variabel ditempatkan dalam suatu input unit dan kemudian unit lapisan tersembunyi dan lapisan output menjalankannya.

Setiap lapisan tersebut menghitung nilai aktivasi dengan mengambil jumlah bobot output dari setiap unit dari lapisan sebelumnya dan kemudian dikurangi dengan nilai ambang. Nilai aktifasi kemudian melalui fungsi aktifasi untuk menghasilakan output dari sel syaraf. Ketika semua unit pada Jaringan Syaraf telah dijalankan maka aksi dari lapisan output merupakan output dari seluruh jaringan syaraf.

BAB 3

Metode HebbHebb memperkenalkan aturan pembelajaran/pelatihan pada JST

Pembelajaran dilakukan dgn memodifikasi kekuatan sinaptik (bobot) dgn cara sedemikan hingga : jika 2 neuron saling berhubungan dalam waktu dan kondisi yg sama (on) maka bobot dari kedua neuron tsb akan dinaikkan JST satu lapisan yg dilatih dengan aturan Hebb disebut dgn jaringan Hebb

Algoritma langkah 0 : Bobot dan bias diberi nilai awal :

wi = 0 (i = 1,2,,n) ; b = 0

langkah 1 : untuk tiap pasangan input dan target, s : t, lakukan langkah 2 sampai 4 :

langkah 2 : set aktivasi untuk unit input :

xi = si (i = 1,2,,n)

langkah 3 : set aktivasi untuk unit output :

y = t

langkah 4 : perbaiki nilai bobot :

wi(baru) = wi(lama) +xiy (i = 1,2,,n)

perbaiki nilai bias :

b(baru) = b(lama) + y

Biasanya perubahan bobot disimbolkan dgn w

w = xiy sehingga wi(baru) = wi(lama) + w

Catatan :

nilai bias dari unit input biasanya secara eksplisit tidak dipakai pada aturan Hebb. Biasanya nilai bias selalu 1. Sebab tanpa nilai bias masalah tidak akan ada solusi.Contoh aplikasi JST Hebb untuk solusi fungsi logika AND

Contoh: jaringan Hebb untuk fungsi logika AND : input biner dan target biner

Perubahan bobot : w1 = x1y ; w2 = x2y

Perubahan bias : b = y Hasil selengkapnya dapat dilihat dalam table

Gambar.Arsitektur JST Hebb untuk solusi fungsi logika AND

Tabel Hasil perhitungan JST Hebb untuk solusi fungsi

logika AND dengan input biner dan target binerCatatan :

Hasil akhir dari w1 dan w2 dapat juga ditentukan dari penjumlahan seluruh perubahan bobot (w) dari input pertama sampai terakhir :

w1 = 1 + 0 + 0 + 0 =1

w2 = 1 + 0 + 0 + 0 =1

Dari tabel , batas keputusan (decision boundary) dari fungsi logika AND dinyatakan dengan persamaan garis pemisah (separating line) :

w1 x1 + w2 x2 + b = 0

1.x1 + 1.x2 + 1 = 0

x1 + x2 + 1 = 0 atau x2 = -x1 1

Gambar Batas keputusan fungsi AND : input dan target binerDapat dilihat dari tabel , garis batas keputusan dari input pertama sampai input terakhir tidak mengalami perubahan yaitu : x2 = -x1 - 1

Setelah mendapat nilai bobot dan bias maka kita melakukan Testing thd pola input dengan memakai bobot dan bias yg didapat dalam proses pelatihan

w1 = 1 , w2 = 1, dan b = 1

Tabel 2.2 Hasil Testing logika AND : input dan target binerTabel 2.2 menunjukkan bahwa hanya input yg pertama menghasilkan output(y) yg sesuai dengan target

Hasil ini menunjukkan JST Hebb yg dilatih dg pasangan pola input biner dan target biner tidak menghasilkan JST yg sempurna.

Contoh 2.2: Jaringan Hebb untuk fungsi AND : input biner dan target bipolarPerubahan bobot : w1 = x1y ; w2 = x2y

Perubahan bias : b = y

Tabel 2.4 Hasil perhitungan JST Hebb untuk solusi fungsi logika

AND dengan input bipolar dan target bipolarHasil Testing thd pola input dengan memakai bobot dan bias yg didapat dalam proses pelatihan

w1 = 2 , w2 = 2, dan b = -2

Tabel 2.5 Hasil Testing logika AND : input bipolar dan target bipolarTabel 2.5 menunjukkan bahwa semua input menghasilkan output(y) sesuai dengan target

Hasil ini menunjukkan JST Hebb yg dilatih dg pasangan pola input bipolar dan target bipolar menghasilkan JST yg sempurna

Dari proses pelatihan (tabel 2.4) maka batas keputusan (decision boundary) dari fungsi logika AND yg dilatih dgn pola input bipolar dan target bipolar dinyatakan dengan persamaan garis pemisah (separating line) :

w1 x1 + w2 x2 + b = 0

2.x1 + 2.x2 + (-2) = 0

2x1 + 2x2 - 2 = 0 atau x2 = -x1 + 1

Gambar 2.2 Batas keputusan fungsi AND : input dan target bipolarDari contoh 2.1 dimana digunakan data biner (input biner dan target biner) maka tidak terjadi perbaikan bobot untuk pasangan pola pelatihan untuk unit input on (xi = 1) dan target off (t = 0) maupun untuk unit input dan target keduanya dalam keadaan off (xi = 0 dan t = 0) :

w = xiy = 0

sehingga

wi(baru) = wi(lama) + w

wi(baru) = wi(lama)

Sedangkan dalam contoh 2.3 digunakan data bipolar (input dan target bipolar) maka terjadi perbaikan bobot untuk semua pasangan pola pelatihan baik unit input on (xi = 1) dan target off (t = -1).Bab 4

Metode perceptron

Perceptron adalah jaringan syaraf tiruan feed-forward yang terdiri dari sejumlah neuron yang dihubungkan oleh bobot-bobot penghubung.

Neuron-neuron tersebut disusun dalam lapisan-lapisan yang terdiri dari satu lapisan input (input layer), satu atau lebih lapisan tersembunyi (hidden layer), dan satu lapisan output (output layer). Lapisan input menerima sinyal dari luar, kemudian melewatkannya ke lapisan tersembunyi pertama, yang akan diteruskan sehingga akhirnya mencapai lapisan output.

Tidak ada batasan banyaknya hidden layer dan jumlah neuron pada setiap layernya. Setiap neuron pada input layer terhubung dengan setiap neuron pada hidden layer. Demikian juga, setiap neuron pada hidden layer terhubung ke setiap neuron pada output layer. Setiapneuron, kecuali pada layer input, memiliki input tambahan yang disebut bias. Bilangan yang diperlihatkan pada gambar di atas digunakan untuk mengidentifikasi setiap node pada masing-masing layer.

Kemudian, jaringan dilatih agar keluaran jaringan sesuai dengan pola pasangan masukan-target yang telah ditentukan. Proses pelatihan adalah proses iteratif untuk mementukan bobot-bobot koneksi antara neuron yang paling optimal. Kata back propagation yang sering dikaitkan pada MLP merujuk pada cara bagaimana gradien perubahan bobot dihitung. Jaringan MLP yang sudah dilatih dengan baik akan memberikan keluaran yang masuk akal jika diberi masukan yang serupa (tidak harus sama) dengan pola yang dipakai dalam pelatihan.

Berikut ini adalah tahap-tahapan dalam penyelesaian masalah menggunakan metode Jaringan Syarat Tiruan menggunakan Multilayer Percepteron.

1. Identifikasi masalah

Tahap ini merupakan identifikasi masalah yang hendak diselesaikan dengan jaringan syaraf tiruan, meliputi identifikasi jenis dan jumlah masukan serta keluaran pada jaringan.

2. Menyiapkan training data set

Training data set merupakan kumpulan pasangan data masukan-keluaran berdasarkan pengetahuan yang telah dikumpulkan sebelumnya. Banyaknya data set harus mencukupi dan dapat p p mewakili setiap kondisi yang hendak diselesaikan. Terbatasnya data set akan menyebabkan akurasi jaringan menjadi rendah.

3. Inisialisasi dan pembentukan jaringan

Tahap inisialisasi meliputi penentuan topologi, pemilihan fungsi aktivasi, dan pemilihan fungsi pelatihan jaringan. Penentuan topologi adalah penentuan banyaknya hidden layer dan penentuan jumlah neuron pada input layer, hidden layer dan output layer.

4. Simulasi jaringan

Simulasi jaringan dilakukan untuk melihat keluaran jaringan berdasarkan masukan, bobot neuron dan fungsi aktivasinya.

5. Pelatihan / training jaringan

Sebelum melakukan pelatihan, dilakukan penentuan parameter training terlebih dahulu, seperti penentuan jumlah iterasi, learning rate, error yang diijinkan. Setelah itu dilakukan pelatihan yang merupakan proses iteratif untuk menentukan bobot koneksi antar neuron.

6. Menggunakan jaringan untuk pengenalan pola

Setelah pelatihan dilakukan, jaringan siap untuk digunakan untuk pengenalan pola. Kemampuan jaringan dalam mengenal pola sangat bergantung dari bagaimana jaringan tersebut dilatih.

Jaringan syaraf tiruan cocok digunakan untuk menyelesaikan masalah yang tidak linier, yang tidak dapat dimodelkan secara matematis. Jaringan cukup belajar dari pasangan data masukan dan target yang diinginkan, setelah itu jaringan dapat mengenali pola yang mirip dengan masukan ketika dilakukan pelatihan. Karena itu, kinerja jaringan pun ditentukan oleh banyaknya pasangan data set selama training.

Bila data training cukup banyak dan konsisten, akurasi jaringan akan tinggi, sebaliknya bila data training tidak memadai, akurasi jaringan rendah. Selain data training, akurasi jaringan juga ditentukan oleh pemilihan topologi yang tepat.

Proses pembentukan jaringan sangat melelahkan, dilakukan secara terus menerus hingga diperoleh jaringan yang paling baik. Tetapi setelah jaringan yang optimal ditemukan, proses pengenalan pola dapat dilakukan secara cepat, lebih cepat bila dibandingkan metoda lainnya.

Seperti yang telah disampaikan sebelumnya, bahwa metode MLP merupakan salah satu metode dari Jaringan Syaraf Tirual (JST) sangat cocok untuk menyelesaikan masalah yang tidak linear dan non deterministik.

Bab 5

ADALINE dan DELTA RULE

ADALINE (adaptive linear neuron) Diperkenalkan oleh Widrow dan Hoff (1960)

Jaringan adaline biasanya dilatih dengan metode Delta rule atau sering disebut metode Least Mean Square (LMS)

Adaline adalah unit tunggal (neuron) yg menerima input dari beberapa unit.

Arsitektur dari adaline

Beberapa adaline yg menerima sinyal dari unit input yg sama dapat dipadukan dalam jaringan satu lapisan seperti dalam jaringan Perceptron.

Jika adaline dikombinasikan sedemikian hingga output dari beberapa adaline menjadi input bagi adaline yg lain. Jaringan ini membentuk jaringan banyak lapisan yg sering disebut dgn Madaline (many adaline).

Algoritma Adaline :

Langkah 0 : inisialisasi bobot (biasanya nilai acak yg kecil)Set nilai learning rate

Langkah 1 : selama kondisi berhenti bernilai salah, lakukan langkah 2 6 Langkah 2 : untuk setiap pasangan pola pelatihan bipolar s : t kerjakan langkah 3 5

Langkah 3 : set aktivasi unit input , i = 1,2,,n

xi = si

Langkah 4 : tentukan input jaringan pada unit output :

Langkah 5 : perbaiki nilai bias dan bobot :

w(baru) = w(lama) + (t y_in)xi

b(baru) = b(lama) + (t y_in)

Langkah 6 : tes kondisi berhenti. Jika perubahan bobot tertinggi yg terjadi pada langkah 2 nilainya lebih kecil dari toleransi tertentu maka hentikan jika tidak lanjutkan.

Delta rule Metode pembelajaran Delta rule biasanya dipakai dalam pelatihan pada model jaringan Adaline dan Madaline

Tujuan utama dari delta rule adalah untuk memperbaiki bobot-bobot (w) yg menghubungkan antara unit input dan output sehingga selisih antara input jaringan untuk unit output (y_in) dan nilai target (t) menjadi minimal.

Delta rule untuk adaline dengan satu unit output dirumuskan :

Bab 6

MADALINE

Madaline adalah kumpulan dari banyak adaline yg membentuk jaringan banyak lapisan atau jaringan satu lapisan dgn beberapa output.

Contoh yg diberikan pada Perceptron dan delta rule untuk beberapa output menunjukkan tidak ada perubahan mendasar pada proses pelatihan jika beberapa unit adaline dikombinasikan dalam jaringan satu lapisan.

Salah satu contoh madaline : jaringan 2 lapisan yg terdiri dari 1 lapisan tersembunyi (terdiri dari 2 unit adaline) dan 1 lapisan output ( terdiri dari 1 unit adaline)

Gambar Arsitektur madaline : hidden layer ( 2 unit adaline) dan output layer (1 unit adaline)

ada 2 buah algoritma pelatihan Madaline yaitu : MR I dan MR II

Algoritma MR I Dalam algoritma MR I : bobot v1 dan v2 dan bias b3 ditentukan sedemikian sehingga output y akan bernilai 1 jika salah satu (atau keduanya) z1 atau z2 bernilai 1. Sedangkan y akan bernilai 1 jika z1 dan z2 keduanya bernilai 1.Jadi unit y melakukan fungsi logika OR pada sinyal z1 dan z2.

Bobot dan bias pada unit y ditentukan yaitu :

v1 =

v2 =

b3 =

Fungsi aktivasi untuk z1,z2, dan y adalah :

00 11 ) ( xjika x jika x f

Algoritma MR I terdiri dari langkah-langkah yaitu :

Langkah 0 : inisialisasi bobot

bobot v1 , v2 dan bias b3 ditentukan dgn nilai spt yg telah ditentukan diatas,sedangkan bobot dan bias yg lain di set dgn nilai acak kecil.

set learning rate dgn nilai kecil

langkah 1 : selama kondisi berhenti bernilai salah, kerjakan langkah 2 8 :

langkah 2 : untuk setiap pola pelatihan bipolar s : t, kerjakan langkah 3 7 :

langkah 3 : set aktivasi dari unit input :

xi = si

langkah 4 : hitung input jaringan untuk tiap-tiap hidden unit :

z_in1 = b1 + x1w11 + x2w21

z_in2 = b2 + x1w12 + x2w22

langkah 5 : tentukan output untuk tiap-tiap hidden unit :

z1 = f(z_in1)

z2 = f(z_in2)

langkah 6 : tentukan output jaringan :

y_in = b3 + z1v1 + z2v2

y = f(y_in)

langkah 7 : tentukan kesalahan dan perbaiki bobot :

jika t = y, maka tidak ada bobot yang diperbaiki

jika t y :

jika t =1, maka perbaiki bobot pada zj, unit input yg paling dekat dgn 0

bj(baru) = bj(lama) + (1-z_inj)

wij(baru) = wij(lama) + (1-z_inj)xi

jika t =-1, maka perbaiki bobot pada semua unit zk, input jaringan yg bernilai positif

bk(baru) = bk(lama) + (-1-z_ink)

wik(baru) = wik(lama) + (-1-z_ink)xi

langkah 8 : tes kondisi berhenti

jika sudah tidak terjadi perubahan bobot atau jika nomer maksimum dari iterasi perubahan bobot sudah dikerjakan semuanya(langkah 2) maka hentikan. Jika tidak lanjutkan.

Algoritma MR II

Algoritma MR II hampir sama dgn MR I, bedanya terletak pada langkah ke-7.

Algoritma MR II : bobot v1 dan v2 dan bias b3 ditentukan sedemikian sehingga

output y akan bernilai 1 jika salah satu (atau keduanya) z1 atau z2 bernilai 1.

Sedangkan y akan bernilai 1 jika z1 dan z2 keduanya bernilai 1.Jadi unit y

melakukan fungsi logika OR pada sinyal z1 dan z2.

Bobot dan bias pada unit y ditentukan yaitu :

v1 =

v2 =

b3 =

Fungsi aktivasi untuk z1,z2, dan y adalah :

0

0

1

1

( )

jika x

jika x

f x

Algoritma MR II terdiri dari langkah-langkah yaitu :

Langkah 0 : inisialisasi bobot

bobot v1 , v2 dan bias b3 ditentukan dgn nilai spt yg telah ditentukan

diatas,sedangkan bobot dan bias yg lain di set dgn nilai acak kecil.

set learning rate dgn nilai kecil

langkah 1 : selama kondisi berhenti bernilai salah, kerjakan langkah 2 8 :

langkah 2 : untuk setiap pola pelatihan bipolar s : t, kerjakan langkah 3 7 :

langkah 3 : set aktivasi dari unit input :

xi = si

langkah 4 : hitung input jaringan untuk tiap-tiap hidden unit :

z_in1 = b1 + x1w11 + x2w21

z_in2 = b2 + x1w12 + x2w22

langkah 5 : tentukan output untuk tiap-tiap hidden unit :

z1 = f(z_in1) z2 = f(z_in2)

langkah 6 : tentukan output jaringan :

y_in = b3 + z1v1 + z2v2

y = f(y_in)

langkah 7 : tentukan kesalahan dan perbaiki bobot :

jika t = y, maka tidak ada bobot yang diperbaiki

jika t y, kerjakan langkah 7a b untuk tiap unit hidden dgn input jaringan cukup dekat dgn 0 (antara 0.25 sampai 0.25). Mulai dengan yg paling dekat dgn 0 kemudian dilanjutkan dgn terdekat berikutnya, dst.

Langkah 7a : perbaiki output unit (dari 1 menjadi 1, atau sebaliknya)

Langkah 7b : hitung ulang output jaringan.

Jika kesalahan berkurang :

Perbaiki bobot pada unit ini (gunakan nilai output yg terakhir sebagai target dan pakai Delta Rule)

langkah 8 : tes kondisi berhenti

jika sudah tidak terjadi perubahan bobot atau jika nomer maksimum dari iterasi perubahan bobot sudah dikerjakan semuanya(langkah 2) maka hentikan. Jika tidak lanjutkan

4.4 Aplikasi

Contoh 4.1 : pelatihan madaline untuk fungsi logika XOR

Contoh ini menggambarkan pemakaian Algoritma MR I untuk melatih Madaline untuk menyelesaikan masalah fungsi logika XOR. Disini hanya akan diperlihatkan perhitungan untuk perubahan bobot untuk iterasi yg pertama dari input pertama sampai keempat. Iterasi selanjutnya dicoba sendiri.

Pola pelatihan adalah :

x1 x2 t

1 1 -1

1 -1 1

-1 1 1

-1 -1 -1

Iterasi pertama :

langkah 0 : inisialisasi bobot :

bobot pada z1

w11 w21 b1

0.05 0.2 0.3

bobot pada z2

w12 w22 b2

0.1 0.2 0.15

bobot pada y

v1 v2 b3

0.5 0.5 0.5

BAB 7

Metode BackPropagationSalah satu metode pelatihan terawasi pada jaringan syaraf adalah metode Backpropagation, BackPropagation adalah metode penurunan gradient untuk meminimalkan kuadrat error keluaran.Dalam metode Backpropagation, digunakan jaringan multilayer.

Ada tiga tahap yang harus dilakukan dalam pelatihan jaringan yaitu tahap maju (forward propagation), tahap mundur, dan tahap perubahan bobot dan bias.

Pada gambar, unit input dilambangkan dengan X, hidden unit dilambangkan dengan Z, dan unit output dilambangkan dengan Y .Bobot antara X dan Z dilambangkan dengan v sedangkan bobot antara Z dan Y dilambangkan dengan w.

Tahap Mundur :Step 6: Setiap unit output (Yk,k=1,,m) menerima pola target (output yang diharapkan), kemudian hitung error dengan persamaan berikut :

f adalah turunan dari fungsi aktivasi

Kemudian hitung koreksi bobot dengan persamaan berikut :

((wjk= ((kzjDan menghitung koreksi bias dengan persamaan berikut :

((w0k= ((kSekaligus mengirimkan ((k ke unit-unit yang ada di lapisan paling kanan.

Step 7 : Setiap hidden unit (Zj, j=1,2,3,,p) menjumlah input delta (dari unit-unit yang berada pada lapisan kanannya) : Untuk menghitung informasi error, kalikan nilai ini dengan turunan dari fungsi aktivasinya :

(j= (_inj f(z_inj)Kemudian hitung koreksi bobot dengan persamaan berikut :

(vij=((jxiSeterlah itu, hitung juga koreksi bias dengan persamaan berikut :

(v0j=((j

Tahap Perubahan Bobot dan Bias :Step 8 : Setiap unit output (Yk,k=1,,m) akan memperbaharui bias dan bobotnya dengan setiap hidden unit.

wjk(baru)=wjk(lama) + (wjkDemikian pula untuk setiap hidden unit akan memperbaharui bias dan bobotnya dengan setiap unit input.

vij(baru)=vij(lama) + (vijStep 9 : Memeriksa stopping condition

Jika stop condition telah terpenuhi, maka pelatihan jaringan dapat dihentikan.

Stopping Condition

Untuk menentukan stopping condition terdapat dua cara yang biasa dipakai, yaitu:

1. Membatasi iterasi yang ingin dilakukan.

A. Misalnya jaringan akan dilatih sampai iterasi yang ke-500.

B. Yang dimaksud dengan satu iterasi adalah perulangan step 3 sampai step 8 untuk semua training data yang ada.

2. Membatasi error.

A. Misalnya menentukan besar Mean Square Error antara output yang dikehendaki dan output yang dihasilkan oleh jaringan.

Gunakan BackPropagation dengan 2 unit layar tersembunyi untuk mengenali fungsi logika XOR dengan dua masukan X1 dan X2. dengan masukan biner. Buatlah iterasi untuk menghitung bobot jaringan untuk pola pertama (X1=1, X2=1,dan t=0). Gunakan Learning rate () = 1

Untuk inisialisasi bobot dan bias :

Bobot awal input ke hidden layer :

V11=0.1V12=0.2V21=0.3 V22=0.4

Bobot awal bias ke hidden layer :

V01=0.1V02=0.2

Bobot awal hidden layer ke output layer :

W11=0.1W12=0.2

Bobot awal bias ke output :

W01=0.5

Untuk kebutuhan pelatihan jaringan ditentukan :

Maksimum epoch = 5

Target error = 0.02

Contoh Algoritma BackpropagationJikakitamempunyaipolamatriksX:

Danbobotawaldanbiasawalyangdipilihsecaraacakadalah:Nilai bobot dari layer input ke hidden layer

Vij=0.1207690864390194, 0.18121937900400642, 0.5373979583380004, 0.6958370793063979, 0.7315162285625711, 0.19241284706221817, 0.618297402969798, 0.5254289914600393

Nilai bobot dari hidden layer keoutputlayer

Wk=0.3338186565232477, 0.04331653473021879, 0.27610812619466973, 0.5946077987374927

bias 1

b1=0.5500964441249149, 0.28941827642665174, 0.4615712532796826, 0.8149000001760573

bias 2

b2=0.6109600864128633

Topologi jaringan yang kita gunakan adalah menggunakan jaringan MLP Backpropagation dengan 1 layer input (2 neuron masukan), 1 hiden layer (4 neurron) dan 1 output layer (1 neuron). Fungsi aktivasi yang kita gunakan pada hidden layer adalah fungsi sigmoid dan pada output layer, fungsi aktivasi yang kita gunakan adalah fungsilinear.

Gb1.JaringanMLPBackpropagation

Karena pola data adalah matriks berukuran 6x4, maka kita bagi 3 vector pertama sebagailearningset, kemudian 3 vector sisanya kita gunakan sebagaitest set. yaitu :

Padadata testset dan learning set, kolom ketiga dari kedua data kita set sebagai target keluaran jaringan. Pada proses inisialisasi parameter jaringan, kita beri nilai maximum epoch = 1000, target error = 0.00001, MSE = 0 dan learning rate = 0,4.

Output Program :

******************Epoch ke-0 **********************MSE = 4.758556221656486******************Epoch ke-1 **********************MSE = 1.3080030484094292******************Epoch ke-2 **********************MSE = 1.085172838222893******************Epoch ke-3 **********************MSE = 1.0549847659147695******************Epoch ke-4 **********************MSE = 1.046603613669597******************Epoch ke-5 **********************MSE = 1.0338336469898246

Pada 5 epoch awal, MSE mempunyai nilai yang tinggi, kemudian pada epoch setelahnya, MSE mengalami penurunan.

Gb2.GrafikMSE ddi 200epochpembelajaran

Jaringan akan terus menerus melakukan iterasi hingga epoch = maximum epoch atau MSE = target error. Pada kasus ini, iterasi akan berhenti pada epoch = 1000 dan jaringan akan memberhentikan proses dengan hasil output :

******************Epoch ke-999 **********************MSE = 0.023784991619496897******************Epoch ke-1000 **********************MSE = 0.0237919057577512

Dari sini bisa kita lihat bahwa nilai MSE di epoch ke-999 lebih kecil daripada epoch ke-1000, bisa diartikan bahwa jaringan tidakconvergentpada saat maximum epoch tercapai, jika diteruskan ke epoch selanjutnya, kemungkinan MSE bergerak menjauhi target error akan semakin besar, oleh karena itu kita harus mencari titik epoch dimana MSE berada pada nilai paling minimum. Dan nilai MSE paling minimum berada pada epoch ke-140 :

******************Epoch ke-139 **********************MSE = 0.018681322162804544******************Epoch ke-140 **********************MSE = 0.018681208923667793******************Epoch ke-141 **********************MSE = 0.01868149867843059

Nilai bobot dan bias di epoch ke-140 adalah :

***Finalweightsand bias value at mininum MSE on epoch : 140****

V1[] = -0.7011998774720427-0.36897901407385110.80465126853969081.7505551804252213

V2[] = 1.31007847900487180.76689523870826380.4267333271027457-1.2177481267024133

b1[] = 0.30668973065615370.313702274994839940.53726048761432150.12644098313242658

W[] = -1.40920410901285640.8211171683462660.265805296386146362.241329804694944

b2 = -0.33554834261466654

Kemudian, kita implementasikan bobot dan bias tersebut untuk test set dengan menggunakan perhitungan maju (feedforward) saja di jaringan yang sama.

***************TEST SET******************minimum MSE = 0.018681208923667793The weights and bias which used at this test function are from the minimum MSE at epoch :140out put = -1.0586077904900728out put = 0.1293472169464956out put = -0.9036426039696852out put = 0.28431240346688297

Jika kita merubah fungsi aktivasi pada output layer, dari fungsi linier menjadi fungsi Hardlimit atau sigmoid, menjadi :

***************TEST SET******************minimum MSE = 0.018681208923667793The weight and bias which used at this test function are from the minimum MSE at epoch :140out put = -1.0586077904900728 hardlimit(y)=0.0sigmoid= 0.25757559762379123out put = 0.1293472169464956 hardlimit(y)=1.0sigmoid= 0.5322917947514457out put = -0.9036426039696852 hardlimit(y)=0.0sigmoid= 0.2883025167191984out put = 0.28431240346688297 hardlimit(y)=1.0sigmoid= 0.5706031484804999

Dengan fungsi Hardlimit pada output layer, hasil output program adalah :0 1 0 1, yang berarti jaringan sudah mengenali pola dari learning set dengan baik dan mampu menghasilkan output yang sesuai pada test set.

Daftar Pustaka :

https://www.facebook.com/groups/umsida.ti.d/739012866116815/http://javaneural.blogspot.com/http://id.wikipedia.org/wiki/Jaringan_saraf_tiruanhttp://elektronika-dasar.web.id/teori-elektronika/arsitektur-jaringan-syaraf-tiruan/http://javaneural.blogspot.com/2009/11/algoritma-pembelajaran-model-hebb.htmlhttp://ardianumam.web.ugm.ac.id/?p=399https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCUQFjAA&url=http%3A%2F%2Fwww.mdp.ac.id%2Fmateri%2F2012-2013-1%2FTI421%2F052116%2FTI421-052116-795-11.pptx&ei=9VvlUsnKB82hiQeo-YC4DA&usg=AFQjCNGou4vB3CX2PzeUNnCyVO46PJv6hw&sig2=fP5_lWSAaJik52ohPIRDqg&bvm=bv.59930103,d.aGc&cad=rjthttps://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCUQFjAA&url=http%3A%2F%2Fdanangjunaedi.files.wordpress.com%2F2011%2F02%2Fback-propagation.ppt&ei=JVzlUvzTNPGYiAf3_oCIBg&usg=AFQjCNHVHHR796gkCrwTRcMy9MzEboabMg&sig2=mtZQ8RDqI08O3Gw2t7Nk4w&bvm=bv.59930103,d.aGc&cad=rjtUNIVERSITAS MUHAMMADIYAH SIDOARJO


Recommended