CHAIRUN NISA-FST.pdf

106
BAB I PENDAHULUAN Sejak komputer diciptakan pertama kali, komputer memiliki peranan yang besar dalam membantu menyelesaikan permasalahan-permasalahan yang sulit diselesaikan oleh manusia. Salah satu teknologi komputer yang sedang berkembang yaitu kecerdasan buatan. Jaringan saraf buatan merupakan salah satu ilmu yang mendukung perkembangan kecerdasan buatan. Bermacam-macam aplikasi berbasis jaringan saraf buatan telah dikembangkan di berbagai bidang. 1.1. Latar Belakang Pesatnya perkembangan teknologi komputer menyebabkan adanya perluasan lingkup yang membutuhkan kehadiran kecerdasan buatan. Kecerdasan buatan merupakan ilmu komputer yang membuat mesin komputer dapat melakukan pekerjaan sebaik mungkin seperti yang dilakukan oleh otak manusia [9]. Jaringan saraf buatan merupakan salah satu ilmu yang mendukung perkembangan kecerdasan buatan. Bermacam-macam aplikasi berbasis jaringan saraf buatan telah dikembangkan di berbagai bidang. Jaringan saraf buatan merupakan salah satu metode pembelajaran komputer yang efektif dan memiliki pendekatan berupa algoritma dalam menyelesaikan suatu masalah. Pada jaringan saraf buatan terdapat dua macam algoritma, yaitu algoritma untuk jaringan saraf buatan lapisan tunggal dan algoritma untuk jaringan saraf buatan lapisan banyak. Dalam 1

Transcript of CHAIRUN NISA-FST.pdf

Page 1: CHAIRUN NISA-FST.pdf

BAB I

PENDAHULUAN

Sejak komputer diciptakan pertama kali, komputer memiliki peranan yang

besar dalam membantu menyelesaikan permasalahan-permasalahan yang sulit

diselesaikan oleh manusia. Salah satu teknologi komputer yang sedang

berkembang yaitu kecerdasan buatan. Jaringan saraf buatan merupakan salah satu

ilmu yang mendukung perkembangan kecerdasan buatan. Bermacam-macam

aplikasi berbasis jaringan saraf buatan telah dikembangkan di berbagai bidang.

1.1. Latar Belakang

Pesatnya perkembangan teknologi komputer menyebabkan adanya

perluasan lingkup yang membutuhkan kehadiran kecerdasan buatan.

Kecerdasan buatan merupakan ilmu komputer yang membuat mesin

komputer dapat melakukan pekerjaan sebaik mungkin seperti yang

dilakukan oleh otak manusia [9]. Jaringan saraf buatan merupakan salah satu

ilmu yang mendukung perkembangan kecerdasan buatan. Bermacam-macam

aplikasi berbasis jaringan saraf buatan telah dikembangkan di berbagai

bidang.

Jaringan saraf buatan merupakan salah satu metode pembelajaran

komputer yang efektif dan memiliki pendekatan berupa algoritma dalam

menyelesaikan suatu masalah. Pada jaringan saraf buatan terdapat dua

macam algoritma, yaitu algoritma untuk jaringan saraf buatan lapisan

tunggal dan algoritma untuk jaringan saraf buatan lapisan banyak. Dalam

1

Page 2: CHAIRUN NISA-FST.pdf

penulisan skripsi ini akan dibahas mengenai jaringan saraf lapisan banyak

dengan algoritma backpropagation. Pembahasan jaringan saraf buatan

lapisan tunggal dapat ditemukan di [1].

Algoritma backpropagation merupakan metode yang baik dalam

menangani masalah pengenalan pola-pola kompleks [4]. Beberapa aplikasi

yang menggunakan algoritma ini antara lain pengenalan suara, pengenalan

pola, sistem kontrol, dan pengolahan citra. Oleh karena itu skripsi ini

mencoba memberikan gambaran mengenai algoritma yang digunakan pada

jaringan saraf buatan lapisan banyak dengan judul ”Kajian Teoritis

Algoritma Backpropagation pada Jaringan Saraf Buatan Lapisan

Banyak”.

1.2. Permasalahan

Masalah yang dapat diidentifikasi penulis adalah sebagai berikut:

1. Bagaimana cara kerja algoritma backpropagation menentukan bobot

awal dan menghasilkan model yang tepat dalam multiklasifikasi ?

2. Bagaimana kecenderungan nilai error yang dihasilkan pada jaringan

saraf buatan lapisan banyak dengan data percobaan pengenalan huruf

alphabet, jika banyak unit pada dua lapisan tersembunyi yang digunakan

tetap, momentum ( α ) yang digunkan tetap, dan learning rate (η ) yang

digunakan berbeda-beda?

2

Page 3: CHAIRUN NISA-FST.pdf

1.3. Pembatasan Masalah

Masalah di dalam skripsi ini terbatas pada ruang lingkup jaringan saraf

buatan lapisan banyak dengan beberapa unit menggunakan algoritma

backpropagation dan hasil prediksi output pada jaringan saraf buatan lapisan

banyak ini berupa bilangan n-arry.

1.4. Tujuan Penulisan

Skripsi ini mempunyai beberapa tujuan, yaitu:

1. Mengetahui cara kerja algoritma backpropagation menentukan bobot

awal dan menghasilkan model yang tepat dalam multiklasifikasi.

2. Mengetahui kecenderungan nilai error yang dihasilkan pada percobaan

pengenalan huruf alphabet, jika banyak unit pada dua lapisan

tersembunyi yang digunakan tetap, momentum (α ) yang digunakan

tetap, dan learning rate (η ) yang digunakan berbeda-beda.

1.5. Manfaat Penulisan

Manfaat penulisan ini antara lain:

1. Memberikan pengetahuan tentang algoritma-algoritma yang digunakan

dalam metode pembelajaran jaringan saraf buatan, serta cara kerja dari

algoritma tersebut sehingga mendapatkan model yang tepat.

2. Memberikan informasi mengenai jaringan saraf buatan sehingga dapat

dijadikan acuan atau referensi.

3

Page 4: CHAIRUN NISA-FST.pdf

BAB II

JARINGAN SARAF BUATAN

Penjelasan mengenai sejarah perkembangan jaringan saraf buatan, serta

beberapa teori dasar yang mendukung pembelajaran jaringan saraf buatan akan

dibahas dalam bab ini, yaitu Teori-teori dasar yang mendukung pembelajaran

jaringan saraf buatan antara lain ide dasar jaringan saraf buatan yang terinspirasi

dari sistem jaringan otak manusia, definisi dan arsitektur jaringan saraf buatan,

model-model pembelajaran, fungsi transfer, perceptron rule dan delta rule pada

jaringan saraf buatan lapisan tunggal serta gambaran stokastik gradien descent.

2.1. Jaringan Saraf Manusia

Jaringan saraf buatan merupakan model yang cara kerjanya meniru

sistem jaringan biologis. Otak manusia terdiri atas sel-sel saraf yang disebut

neuron, yang berjumlah sekitar 1011

sel-sel saraf. Sel-sel saraf ini

berhubungan satu dengan yang lain membentuk jaringan yang disebut

jaringan saraf [4]. Proses yang terjadi dalam suatu sel saraf merupakan

proses elektrokimiawi. Di otak ini terdapat fungsi-fungsi yang sangat

banyak dan rumit, diantaranya adalah ingatan, belajar, bahasa, asosiasi,

penalaran, kecerdasan, dan inisiatif.

Semua sel saraf alami mempunyai empat komponen dasar yang

sama. Keempat komponen dasar ini diketahui berdasarkan nama biologinya

yaitu, dendrit, soma, akson, sinapsis. Dendrit merupakan suatu perluasan

4

Page 5: CHAIRUN NISA-FST.pdf

dari soma yang menyerupai rambut dan bertindak sebagai saluran masukan.

Saluran input ini menerima masukan dari sel saraf lainnya melalui sinapsis.

Kemudian soma memproses nilai input menjadi sebuah output yang

kemudian dikirim ke sel saraf lainnya melalui akson dan sinapsis. Gambar

berikut menunjukkan komponen-komponen dari saraf [7].

Gambar 2.1 Komponen-Komponen Sel Saraf

Suatu jaringan saraf menerima ribuan informasi kecil dari berbagai

organ sensoris dan mengintegrasikannya untuk menentukkan reaksi yang

harus dilakukan. Kegiatan sistem jaringan saraf didasari oleh pengalaman

sensoris dari reseptor sensoris, baik berupa reseptor visual, reseptor

auditoris, reseptor raba dipermukaan tubuh, ataupun jenis reseptor lainnya.

Pengalaman sensoris ini dapat menyebabkan suatu reaksi segera dan

kenangannya dapat disimpan didalam otak [4]. Konsep dasar semacam

inilah yang ingin dicoba para ahli dalam menciptakan jaringan buatan.

5

Page 6: CHAIRUN NISA-FST.pdf

2.2. Jaringan Saraf Buatan

Jaringan saraf buatan diperkenalkan pertama kali pada tahun 1943

oleh seorang ahli saraf Warren McCulloch dan seorang ahli logika Walter

Pitss [12]. Jaringan saraf buatan merupakan model yang meniru cara kerja

jaringan sel-sel saraf biologis. Penelitian yang berlangsung pada tahun

1950-an dan 1960-an mengalami hambatan karena minimnya kemampuan

komputer. Kemudian pada pertengahan tahun 1980-an dapat dilanjutkan lagi,

karena sarana yang dibutuhkan telah tersedia. Sistem saraf buatan dirancang

untuk menirukan karakteristik sel-sel saraf biologis. Beberapa definisi

tentang jaringan saraf buatan dikemukakan oleh para ahli.

Menurut [7] jaringan saraf didefinisikan sebagai sebuah prosesor yang

terdistribusi paralel dan mempuyai kecenderungan untuk menyimpan

pengetahuan yang didapatkannya dari pengalaman dan membuatnya tetap

tersedia untuk digunakan.

Sedangkan menurut [3]. Mendefinisikan jaringan saraf buatan sebagai

sebuah sistem yang dibentuk dari sejumlah elemen pemroses sederhana yang

bekerja secara paralel dan fungsinya ditentukan oleh stuktur jaringan,

kekuatan hubungan serta pengolahan dilakukan pada komputasi elemen-

elemennya.

2.2.1. Arsitektur Jaringan Saraf Buatan

Pemodelan struktur pemrosesan informasi terdistribusi

dilakukan dengan menentukan pola hubungan antar sel-sel saraf

buatan. Pola hubungan yang umum adalah hubungan antar lapisanr

6

Page 7: CHAIRUN NISA-FST.pdf

(lapisan). Setiap lapisan terdiri dari sekumpulan sel saraf buatan

(unit) yang memiliki fungsi tertentu, misalnya fungsi masukan

(input) atau fungsi keluaran (output).

Sistem saraf buatan terdiri dari tiga lapisan unit, yaitu:

1. Unit input

Pada gambar 2.2 unit input dinotasikan dengan i. Unit input ini

menerima data dari jaringan saraf luar. Aktifasi unit-unit lapisan

input menunjukkan informasi dasar yang kemudian digunakan

dalam jaringan saraf buatan.

2. Unit tersembunyi

Unit tersembunyi dinotasikan dengan h pada gambar 2.2. Unit

tersembunyi menerima dan mengirim sinyal ke jaringan saraf.

Aktifasi setiap unit-unit lapisan tersembunyi ditentukan oleh

aktifasi dari unit-unit input dan bobot dari koneksi antara unit-

unit input dan unit-unit lapisan tersembunyi.

3. Unit output

Unit output dinotasikan dengan o. Unit output mengirim data ke

jaringan saraf. Karakteristik dari unit-unit output tergantung dari

aktifasi unit-unit lapisan tersembunyi dan bobot antara unit-unit

lapisan tersembunyi dan unit-unit output. Dalam jaringan saraf

buatan lapisan banyak unit output bisa digunakan kembali

menjadi unit input yang diproses dalam lapisan selanjutnya.

7

Page 8: CHAIRUN NISA-FST.pdf

X1 X2 X3 X4

i1 i2 i3 i4

h1 h2 h3

o1 o2

Y1 Y2

Gambar 2.2 Jaringan Saraf Buatan

Sedangkan tipe arsitektur jaringan saraf buatan ada tiga yaitu :

1. Jaringan dengan lapisan tunggal (Single Lapisanr Net)

Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan

bobot yang terhubung. Jaringan ini hanya menerima input kemudian

secara langsung akan mengolahnya menjadi output tanpa harus melalui

lapisan tersembunyi (Gambar 2.3).

Gambar 2.3. Jaringan Saraf Buatan Lapisan Tunggal Feedforward

8

Page 9: CHAIRUN NISA-FST.pdf

2. Jaringan dengan lapisan banyak (Multilapisanr Net)

Pada tipe ini, diantara lapisan masukan dan keluaran terdapat satu atau

lebih lapisan tersembunyi (Gambar 2.4). Hubungan antar lapisan

berlangsung satu arah. Jaringan dengan banyak lapisan ini dapat

menyelesaikan permasalahan yang lebih sulit dari pada lapisan tunggal.

Gambar 2.4. Jaringan Saraf Buatan Lapisan Banyak Feedforward

3. Reccurent Network

Tipe reccurent berbeda dengan kedua tipe sebelumnya. Pada reccurent,

sedikitnya memiliki satu koneksi umpan balik (feedback).

Gambar 2.5. Jaringan dengan lapisan kompetitif reccurent

9

Page 10: CHAIRUN NISA-FST.pdf

2.2.2. Model-Model Pembelajaran

Menurut [10] model pembelajaran dibedakan menjadi tiga, yaitu :

1. Supervised Learning

Pada model pembelajaran ini, jaringan saraf buatan menggunakan

variabel prediktor sebagai input yang akan dijadikan indikator untuk

menerangkan variabel target sebagai outputnya. Variabel-variabel

prediktor tersebut disesuaikan dengan target output yang ingin

dihasilkan. Tujuan model supervised learning adalah untuk

menentukan nilai bobot-bobot koneksi didalam jaringan sehingga

jaringan tersebut dapat melakukan pemetaan dari input ke output

sesuai dengan yang diinginkan. Jaringan perceptron, dan

backpropagation merupakan model-model dengan tipe supervised

learning [8].

Tabel 2.1 Data Sederhana Pengenalan Huruf Alphabet

Variabel Prediktor

Contoh

Posisi

horizontal

Posisi

vertikal

Panjang

box

Tinggi

box

Jumlah

pixel

Variabel

Target

1 2 8 3 5 1 T

2 5 12 3 7 2 I

3 4 11 6 8 6 D

4 7 11 6 6 3 N

5 2 1 3 1 1 G

Model pembelajaran supervised learning selalu memiliki satu

kolom yang merupakan variabel target, pada contoh data sederhana

pengenalan huruf diatas variabel targetnya adalah huruf alphabet. Pada

model pembelajaran ini tiap-tiap variabel memiliki suatu hubungan

10

Page 11: CHAIRUN NISA-FST.pdf

yang tidak saling bebas. Sebagai contoh, Huruf T diprediksi berada

dalam posisi horizontal yang dihitung dari sebelah kiri gambar dan

huruf berada di tengah box pada titik koordinat 2 pixel, posisi vertikal

dihitung dari bagian bawah pada box di titik koordinat 8 pixel,

Sedangkan panjang box berada pada titik koordinat 3 pixel dan tinggi

box berada pada titik koordinat 5 pixel. Jika huruf alphabet berada

dalam karakteristik variabel target maka dapat dikatakan huruf tersebut

berhasil dalam mengklasifikasikan huruf alphabet.

2. Unsupervised Learning

Berbeda dengan model supervised learning, dalam model

unsupervised learning tidak terdapat variabel target dari kategori pola-

pola yang akan diklasifikasikan hanya terdiri dari variabel prediktor.

Untuk model pembelajaran ini biasanya hanya dilakukan proses

clustering lihat tabel 2.2. Bukan pengklasifikasian seperti pada model

pembelajaran supervised.

Tabel 2.2 Hak pilih USA senator pada 6 persoalan

Issue Class 1 Class 2 Toxic Waste Yes No Budget Cuts Yes No

SDI Reduction No Yes Contra Aid Yes No

Line-Item Veto Yes No

MX Production Yes No

3. Semi Unsupervised Learning

Model semi unsupervised learning awalnya adalah model

unsupervised learning, data percobaan untuk model ini biasanya tidak

11

Page 12: CHAIRUN NISA-FST.pdf

memiliki variabel target. Oleh karena itu, proses klasifikasi dengan

model pembelajaran ini dilakukan dengan cara menentukan variabel

targetnya terlebih dahulu (two step analysis).

2.3 Fungsi Aktivasi

Pada setiap lapisan pada jaringan saraf buatan terdapat fungsi aktivasi.

fungsi ini adalah fungsi umum yang akan digunakan untuk membawa input

menuju output yang diinginkan. Fungsi aktivasi inilah yang akan

menentukan besarnya bobot.

Karakter dari jaringan saraf buatan tergantung pada bobot dan fungsi

input-output (Fungsi Transfer) yang mempunyai ciri-ciri tertentu untuk

setiap unit. Fungsi ini terdiri dari tiga kategori, yaitu : fungsi linear, fungsi

threshold, dan fungsi sigmoid (Gambar 2.6). Pada fungsi linear, aktivasi

output adalah sebanding dengan jumlah bobot output. Untuk fungsi

threshold, output diatur satu dari dua tingkatan tergantung dari apakah

jumlah input lebih besar atau lebih kecil dari nilai batasnya. Sedangkan

Fungsi sigmoid, outputnya terus menerus berubah tetapi tidak berbentuk

linear.

i

Threshold (sgn)

i i

Linear Sigmoid

Gambar 2.6. Jenis fungsi aktivasi yang digunakan dalam jaringan saraf buatan

12

Page 13: CHAIRUN NISA-FST.pdf

Ada beberapa pilihan fungsi aktivasi yang digunakan didalam metode

backpropagation, seperti fungsi sigmoid biner dan sigmoid bipolar

(Gambar 2.7.). Untuk lebih jelasnya, berikut adalah penjelasan lebih lengkap

tentang fungsi sigmoid biner dan sigmoid bipolar, yaitu:

1. Fungsi Sigmoid Biner

Fungsi ini merupakan fungsi yang umum digunakan dalam metode

backpropagation. Nilai jangkauannya diantara (0,1) dan didefinisikan

sebagai :

f ( x) =

1

1 + e − x

dengan turunan : f ( x)' = f ( x)(1 − f ( x)) (2.1)

2. Fungsi Sigmoid Bipolar

Fungsi ini merupakan fungsi yang umum digunakan dalam metode

backpropagation. Range diantara (-1,1) dan didefinisikan sebagai:

g ( x) = 2 f ( x) − 1

dengan f ( x) = 1

1 + e − x

sehingga

g ( x) = 2 f ( x) − 1

1

= 2 − 1

1 + e

− x

1 − e ( − x )

= 1 + e

( − x )

(2.2)

13

Page 14: CHAIRUN NISA-FST.pdf

dengan turunan : g ( x)' = 1

(1 + g ( x))(1 − g ( x)) 2

(2.3)

Gambar 2.7. Fungsi sigmoid biner dan fungsi sigmoid bipolar

2.4. Perceptron

Salah satu tipe dari sistem jaringan saraf buatan didasarkan pada

sebuah unit yang disebut perceptron, dan diilustrasikan pada gambar 2.8.

Sebuah perceptron menerima vektor input yang berupa nilai bilangan real.

Perceptron memiliki perhitungan kombinasi linear yang berasal dari

penjumlahan vektor input ( x1 , x

2 ,..., x

n ) , vektor bobot (w

1 , w

2 ,..., w

n ) dan

nilai thresholdnya (w0). Hasil output akan bernilai 1 jika perhitungan

kombinasi linearnya lebih besar dari pada 0 dan -1 jika perhitungan

kombinasi linearnya lebih kecil atau sama dengan 0. Kombinasi linear untuk

output perceptron dapat dituliskan sebagai:

1 jika

w0 + w1 x1 + w2 x2 + .... + wn x n > 0

o(x1, x2, ......., xn) = (2.4)

− 1 jika w0

+ w1 x

1 + w

2 x

2 + .... + w

n x

n ≤ 0

14

Page 15: CHAIRUN NISA-FST.pdf

x0=1 w0

x1 w1

x2 w2

wn

n

∑ wi x

i

i =0

o = 1

jika

n

∑ j =0

wi x j

xn − 1 untuk yang lainnya

Gambar 2.8 Perceptron

x1, x2, ... , xn adalah input, o(x1 ,..., xn ) adalah output dan wi adalah konstanta

real atau bobot (weight), dimana bobot menentukan kontribusi dari input xi

pada output perceptron. Fungsi perceptron dapat dituliskan sebagai :

r r r

o(x ) = sgn (w ⋅ x ) (2.5)

dan

dengan

1

sgn (y) = −1

jika

jika

r r

y>0

y≤0

(2.6)

y = w' ⋅ x (2.7)

2.4.1. Aturan Pembelajaran Perceptron

Masalah pembelajaran perceptron tunggal adalah

menentukan vektor bobot, karena perceptron menghasilkan output

± 1 untuk setiap contoh percobaan. Beberapa algoritma diketahui

dapat menyelesaikan permasalahan tersebut, antara lain: perceptron

rule dan delta rule. Algoritma tersebut sangat penting dalam jaringan

saraf buatan karena merupakan dasar dari pembelajaran jaringan

untuk lapisan banyak.

15

Page 16: CHAIRUN NISA-FST.pdf

Salah satu cara untuk mempelajari vektor bobot yang tepat

yaitu dimulai dengan penentuan bobot secara acak, kemudian secara

iteratif dengan menggunakan perceptron untuk menghasilkan output

pada setiap contoh percobaan, setelah itu memodifikasikan bobot

perceptron. Proses ini terus diulang sampai pengklasifikasian

perceptron untuk semua contoh percobaan menjadi tepat. Bobot

dimodifiikasi pada setiap langkah berdasarkan aturan pembelajaran

perceptron (perceptron learning rule), yang meninjau kembali bobot

wi dengan input xi berdasarkan kaidah:

dengan

keterangan:

wi ← wi + ∆wi

∆wi = η (t − o )xi

(2.8)

(2.9)

t = target output contoh percobaan

o = output perceptron

η = konstanta positif yang disebut learning rate

2.4.2. Delta Rule

Perceptron rule dapat digunakan untuk mencari vektor bobot

yang paling tepat ketika contoh data percobaannya terpisah secara

linear. Namun, tidak semua data dapat dipisahkan secara linear.

Dalam hal ini perceptron rule tidak mampu mengatasi permasalahan

dengan kasus data yang tidak dapat dipisahkan secara linear, data

tersebut dikenal dengan istilah data non-linearly separable sets. Oleh

16

Page 17: CHAIRUN NISA-FST.pdf

2

w

karena itu, pada pembahasan yang berikutnya digunakanlah delta

rule yang dapat mengatasi permasalahan tersebut.

Kunci dari delta rule dalam mencari ruang hipotesis dari

bobot vektor yang mungkin adalah dengan menggunakan gradient

descent sehingga didapatkan bobot yang paling tepat untuk suatu

contoh percobaan. Aturan ini penting karena gradient descent

merupakan dasar untuk algoritma backpropagation yaitu

pembelajaran untuk jaringan dengan banyak unit yang terhubung.

Terdapat banyak cara untuk mendefinisikan nilai error dari

model (vektor bobot). Salah satu ukuran yang dapat menurunkan

nilai error dengan tepat adalah :

r 1 2

E(w) ≡ ∑ (t d − od ) d∈D

(3.0)

dengan D adalah himpunan dari contoh data percobaan, td adalah

target output untuk contoh percobaan d dan od adalah output dari unit

linear untuk contoh percobaan d. Error E digolongkan sebagai fungsi

dari r

karena output unit linear o bergantung pada bobot vektor.

Karena permukaan error terdiri dari minimum global tunggal,

algoritma delta rule hanya akan mengkonvergenkan vektor bobot

dengan error minimum, tanpa memperhatikan apakah contoh

percobaannya terpisah secara linear atau tidak. Nilai η yang

digunakan pada algoritma ini awalnya adalah bilangan yang tidak

kecil namun juga tidak terlalu besar, kemudian untuk mendapatkan

17

Page 18: CHAIRUN NISA-FST.pdf

bobot yang tepat nilai η diperkecil setelah langkah perbaikan ke-n.

Jika η terlalu besar, pencarian turunan gradient akan menimbulkan

resiko, yaitu terlalu banyaknya langkah yang dilakukan untuk

mencari permukan error yang minimum.

2.5. Gambaran Stokastik Untuk Gradient Descent

Salah satu pola model umum yang digunakan pada proses

pembelajaran adalah gradient descent. Gradient descent merupakan suatu

strategi untuk mencari ruang model yang tak terbatas atau besar yang dapat

digunakan ketika ruang model memuat parameter model yang kontinu dan

error dapat diturunkan dengan parameter modelnya tersebut. Namun,

gradient descent ini juga memiliki kelemahan yaitu tidak mudah digunakan

dan terkadang lambat dalam pengkonvergenan solusinya. Jika ada beberapa

minimum lokal pada permukaan error, maka tidak ada jaminan bahwa akan

didapatkan minimum global [11].

Tujuan digunakannya gradient descent yaitu untuk mempermudah

strategi pencarian model, hal tersebut dikenal dengan incremental gradient

descent atau stokastik gradient descent. Sedangkan ide dasar pada stokastik

gradient descent yaitu pencarian bobot yang tepat dilakukan berdasarkan

perhitungan error pada setiap contoh baris datanya. Stokastik gradient

descent biasanya menggunakan nilai learning rate η yang cukup kecil agar

langkah pengulangan yang dilakukan tidak terlalu besar, sehingga

didapatkan perkiraan gradient descent yang mendekati nilai sebenarnya.

18

Page 19: CHAIRUN NISA-FST.pdf

2.6 Data Pengenalan Huruf Alphabet

Data pengenalan huruf berasal dari David J. Slate [5] (Northwestern

University) pada tahun 1991 dan telah banyak dipakai dalam berbagai

penelitian. Salah satunya adalah penelitian yang dilakukan P.W.Frey dan

D.J. Slate [2] dengan judul Letter Recognition Using Holland-Style Adaptive

Classifiers. Tingkat ketelitian pada penelitian ini mencapai 80% dan

memiliki nilai error mencapai 20%.

19

Page 20: CHAIRUN NISA-FST.pdf

BAB III

JARINGAN SARAF BUATAN LAPISAN BANYAK

Jaringan saraf buatan lapisan banyak merupakan perluasan dari jaringan

saraf buatan lapisan tunggal. Pada jaringan saraf buatan lapisan tunggal

menggunakan pendekatan algoritma perceptron yang hanya menghasilkan fungsi

linear. Sebaliknya, Jaringan saraf buatan lapisan banyak menggunakan

pendekatan algoritma backpropagation yang akan merepresentasikan fungsi non

linear. Dalam jaringan ini selain unit input dan output terdapat unit tersembunyi.

Hubungan antar lapisan berlangsung satu arah.

3.1 Unit Sigmoid

Unit perceptron merupakan salah satu tipe dari jaringan saraf buatan

dengan unit tunggal dengan fungsi yang dihasilkan adalah fungsi yang

linear. Namun, unit perceptron tidak dapat menjelaskan fungsi yang non

linear, Oleh karena itu, Jaringan saraf buatan lapisan banyak mampu

menggambarkan fungsi yang non linear. Salah satu solusinya adalah dengan

unit sigmoid, yaitu sebuah unit yang mirip dengan perceptron, dan proses

dasar pekerjaan dilakukan sesuai tahapan.

Sama dengan perceptron, unit sigmoid pertama kali menghitung

kombinasi linear dari input, kemudian menggunakan nilai batas untuk

hasilnya. Pada kasus unit sigmoid, hasil output merupakan fungsi yang

kontinu dari input-inputnya dan unit sigmoid menghitung output ok, secara

singkat rumus yang digunakan dapat ditulis sebagai:

20

Page 21: CHAIRUN NISA-FST.pdf

( )

x

Rumus fungsi sigmoid:

o( net )= n

∑ i =0

w ji.

xi

+ θ j 0

(3.1)

σ = 1

−o ( net )

(3.2)

Maka output ok

1 + e

n

ok = σ (∑ i =0

w ji.

xi

+ θ j 0

)

(3.3)

dimana x1, x2, ..., xn adalah input, o(x1 ,..., xn ) adalah output dan wi adalah

bobot yang menentukan kontribusi dari input xi pada output

backpropagation. σ disebut fungsi sigmoid atau fungsi logistik. Range

output yang dihasilkan oleh unit sigmoid antara 0 sampai 1, dan bersifat

monoton naik. Karena unit sigmoid memetakan domain bilangan input yang

sangat besar ke range output yang kecil, Sigmoid sering disebut dengan

pengkompresan hasil dari unit. Fungsi sigmoid memiliki sifat bahwa

turunannya secara mudah diperlihatkan dalam bentuk output

= σ (y ) ⋅ (1 − σ (y )) . Unit sigmoid diilustrasikan sebagai berikut:

dσ y dy

x0=1

w0

w1

1

x2 w2

w0

xn

n

net = ∑ wi x j + θ j 0

j =0

Gambar 3.1. Sigmoid

o = σ (net) =

1

1 + e −o ( net )

21

Page 22: CHAIRUN NISA-FST.pdf

= k k

3.2. Turunan dari Aturan Algoritma Backpropagation

Masalah yang paling pokok dalam bab ini adalah aturan penurunan

stokastik gradient descent yang diimplementasikan oleh algoritma

backpropagation. Berdasarkan persamaan (3.0) bahwa stokastik gradient

descent melibatkan iterasi pada sebuah waktu contoh percobaan, untuk

setiap contoh percobaan d menurunkan nilai gradient dari error Ed pada

contoh tunggal. Dengan kata lain, untuk setiap contoh percobaan d setiap

bobot wij di update oleh penambahan ∆wij dengan rumus sebagai berikut:

∆wi j

= −η =∂E

d

∂wi j

(3.4)

Dimana Ed adalah error pada contoh percobaan d ditambahkan dengan

semua unit output pada jaringan (persamaan 3.0)

1

Ed 2 ∑ (t − o )2

k∈output

outputnya disini adalah himpunan dari unit output pada jaringan, tk adalah

nilai target dari unit k untuk contoh percobaan d dan ok adalah output dari

unit k pada contoh percobaan d.

Notasi :

x ji = input ke i sampai input j

wji = bobot dengan input ke i sampai input j

netj = ∑i

w ji

x ji

(jumlahan bobot dari input untuk unit j)

oj = output dihitung berdasarkan unit j

tj = target output untuk unit j

22

Page 23: CHAIRUN NISA-FST.pdf

j

σ = fungsi sigmoid

output = himpunan dari unit-unit pada lapisan terakhir dari

suatu jaringan

Downstream(j) =himpunan dari unit-unit yang berada satu lapisan

dibawahnya termasuk output dari unit j

Penurunan stokastik gradient descent =∂Ed

∂w ji

merupakan implementasi

dari persamaan (3.4). Dengan catatan bahwa bobot wij dapat mempengaruhi

sisa dari jaringan hanya sampai netj. Oleh karena itu,

=∂E d ∂E ∂net

j

= d

∂w ji ∂net j ∂w ji

= =∂E

d ∂∑i

w ji x ji

∂net j

= =∂Ed x ∂net

ji

∂w ji

(3.5)

dalam penurunan =∂Ed

∂w ji

terdapat dua pandangan kasus yaitu: kasus dimana

unit j adalah unit keluaran untuk jaringan dan kasus dimana j adalah unit

tersembunyi untuk jaringan.

Kasus 1 : Aturan percobaan untuk bobot unit output.

wij dapat mempengaruhi sisa dari jaringan hanya sampai netj, netj dapat

mempengaruhi jaringan hanya sampai o j. Oleh karena itu,

23

Page 24: CHAIRUN NISA-FST.pdf

( ) j j

( )

j

∂Ed

j j

=∂Ed =

=∂E d ∂o

j

(3.6) ∂net j ∂o j ∂net j

pandang bentuk pertama pada persamaan 3.0

∂Ed ∂ 1 2

= ∂o ∂o 2 ∑ (t k − ok )

j j k∈output

Penurunan (t k

∂o j − o

k )2

akan nol untuk semua unit output k kecuali saat k = j.

=∂E

d = ∂ 1 (t −o )2

∂oj ∂oj 2

1 ∂(t −o ) = 2 t −o 2

j j ∂o

j

= −(tj −o

j ) (3.7)

karena ∂o

j

o j = σ net j , penurunan ∂net j

merupakan penurunan dari fungsi

sigmoid, yang sama dengan σ (net j )(1 − σ (net j )) . Oleh karena itu,

∂o j ∂σ (net

j ) = ∂net j ∂net j

= σ ' (net )

= σ (net j )(1 − σ (net j ))

= o j (1 − o j )

(3.8)

substitusikan persamaan (3.7) dan (3.8) kedalam persamaan (3.6). Didapatkan,

=∂E

d = =∂E

d ∂o j

∂net j ∂o j ∂net j

= −(t j

− o j )o

j (1 − o

j )

∂net (3.9)

j

24

Page 25: CHAIRUN NISA-FST.pdf

j

dan kombinasikan persamaan (3.9) dengan persamaan (3.4). Maka didapatkan

aturan stokastik gradient descent untuk unit output

∆wi j

= −η =∂E

d

∂wij

= −η =∂E

d ∂net j

∂net j ∂w ji

= η (t j − o j )o j (1 − o j )x ji

(3.10)

Kasus 2 : Aturan Percobaan untuk Bobot unit tersembunyi

Pada kasus ini j merupakan unit tersembunyi pada jaringan, turunan dari aturan

percobaan untuk wji harus mengmbil perhitungan secara tidak langsung dimana wji

dapat mempengaruhi output jaringan dan Ed. Notasikan himpunan semua unit

yang input-inputnya termasuk dalam output unit j dengan Downstream (j). Catat

bahwa netj dapat mempengaruhi jaringan keluaran dan Ed hanya sampai unit pada

Downstream (j). Oleh karena itu, dapat ditulis sebagai berikut:

=∂E

d = ∑ =∂E

d ∂net

k

∂net j k∈Downstream( j ) ∂net k ∂net j

= ∑ − δ =∂net k

k net

k∈Downstream( j ) ∂ j

∂net ∂o j

= ∑ − δ k

k∈Downstream( j )

k ∂o ∂net

j

= ∑ − δ w ∂o j

k∈Downstream( j ) k kj ∂net j

= ∑ − δ k wkj o j (1 − o j ) k∈Downstream( j )

(3.11)

25

Page 26: CHAIRUN NISA-FST.pdf

setelah mengatur kembali bentuk persamaan di atas dan menggunakan δ j

untuk menotasikan − =∂E

d , didapatkan ∂net j

δ j = o j (1 − o j ) ∑δ k wkj

k∈Downstream( j )

(3.12)

dan

∆w ji = ηδ j x ji

(3.13)

3.3. Penggunaan Faktor Momentum

Banyak variasi yang dapat dikembangkan dari penggunaan algoritma

backpropagation, salah satunya adalah mengubah aturan perubahan bobot

pada algoritma backpropagation persamaan 3.13, yaitu membuat perubahan

bobot pada n iterasi yang secara parsial bergantung pada update yang terjadi

selama (n-1) iterasi, dengan persamaan:

∆w ji (n ) = ηδ j x ji + α∆w ji (n − 1)

(3.14)

∆w ji (n) adalah weight-update yang dilakukan selama n iterasi dan

0 ≤ α < 1 merupakan konstanta yang disebut momentum. Dengan

menambah variabel α ke dalam rumus perubahan bobot mengakibatkan

konvergensi akan lebih cepat untuk mendekati itersasi yang dilakukan sesuai

tahapan sampai bobot mencapai solusinya.

26

Page 27: CHAIRUN NISA-FST.pdf

3.4. Pembelajaran Jaringan Sembang Acylic

Pada algoritma backpropagation yang telah dijelaskan dengan

menggunakan dua lapisan unit tersembunyi pada jaringan. Namun, jika

algoritma backpropagation menggunakan lebih dari dua lapisan unit

tersembunyi pada jaringan maka aturan perubahan bobot (Persamaan 3.13).

tetap digunakan, dan hanya mengubah cara perhitungan nilai δ . Secara

umum, nilai δ r untuk r unit pada m lapisanr dihitung dari nilai δ pada

lapisanr m+1.

δ r = or (1 − or ) ∑ wsr δ s

s∈layer m+1

(3.15)

Pembelajaran tersebut sama-sama mengeneralisasi algoritma untuk

graph langsung acyclic, tanpa memperhatikan apakah unit jaringan yang

ditetapkan ada pada lapisan uniform. Aturan untuk menghitung δ untuk

unit internal adalah

δ r = or (1 − or ) ∑ wsrδ s

s∈downstream( r )

(3.16)

dimana Downstream(r) adalah himpunan dari unit-unit yang turun dari unit r

pada jaringan, yaitu semua unit yang input-inputnya termasuk dalam output

dari unit r.

3.3 Algoritma Backpropagation

Algoritma backpropagation mempelajari bobot untuk jaringan saraf

buatan lapisan banyak dengan himpunan dari unit-unitnya dan saling

berhubungan. Algoritma ini menggunakan gradient descent untuk mencoba

27

Page 28: CHAIRUN NISA-FST.pdf

2

meminimalisasi kuadrat error antara nilai input dan nilai target pada

jaringan.

Terdapat banyak cara untuk mendefinisikan nilai error dari model

(vektor bobot). Berbeda dengan persamaan (3.0) definisikan kembali E

sebagai penjumlahan error dari semua unit keluaran jaringan. Proses ini

merupakan salah satu ukuran yang dapat menurukan nilai error dengan tepat

adalah

r 1 2

E (w) ≡ ∑ ∑ (t kd − okd ) d∈D k∈outputs

(3.17)

D adalah himpunan dari contoh data percobaan, outputnya adalah himpunan

dari unit output pada jaringan, tkd dan okd masing-masing adalah nilai target

dan nilai output dengan unit output k dan contoh percobaan d.

Permasalahan yang digambarkan oleh algoritma backpropagation

adalah untuk mencari ruang hipotesis yang besar dan didefinisikan oleh

semua nilai bobot yang mungkin untuk setiap unit pada jaringan. Salah satu

perbedaan pokok pada kasus jaringan saraf buatan lapisan banyak yaitu

permukaan error dapat memiliki perkalian minimum lokal. Hal ini berarti

turunan gradient dapat menjamin kekonvergenan untuk beberapa minimum

lokal, dan bukan error minimum global.

Walaupun tidak dijaminnya konvergen ke arah global minimum,

Algoritma backpropagation merupakan fungsi yang efektif dalam metode

pembelajaran [11]. Fungsi error pada gradient descent dapat diilustrasikan

sebagai permukaan error dengan n-dimensi, ketika kemiringan gradient

28

Page 29: CHAIRUN NISA-FST.pdf

descent menurun dalam lokal minimum sehingga akan berpengaruh dalam

perubahan bobot.

Perbedaan performa ruang hipotesis antara algoritma

backpropagation jaringan saraf buatan lapisan banyak dengan performa

pembelajaran algoritma pada metode yang lain, yaitu algoritma

backpropagation memiliki ruang hipotesis pada n-dimensi dari n-bobot

jaringan. Dengan catatan ruang hipotesis memiliki fungsi yang kontinu.

Sedangkan hipotesis pada pembelajaran algoritma yang lain seperti

pembelajaran decision tree dan metode yang lain memiliki proses pencarian

hipotesis yang berbeda-beda. Untuk jelasnya pembelajaran tentang decision

tree menggunakan algoritma ID3 dapat ditemukan di [6].

Seperti penjelasan sebelumnya, Algoritma backpropagation

diimplementasikan dengan mencari kemiringan gradient descent pada bobot

jaringan, nilai error E yang diperoleh akan mengurangi iterasi yang berada

diantara nilai target pada contoh percobaan dan hasil output. Karena

permukaan jaringan saraf buatan lapisan banyak menggambarkan

permukaan yang tidak linear pada lokal minima, Sehingga kemiringan

gradient descent terdapat pada permukaan error. Hasil algoritma

backpropagation akan menunjukan ke arah konvergen terhadap lokal

minimum dalam mencari nilai error dan tidak membutuhkan nilai error ke

arah global minimum.

Nilai error minimum dapat dicari pada saat jaringan saraf buatan

lapisan banyak menginisialisasikan dan dibangkitkan secara random atau

29

Page 30: CHAIRUN NISA-FST.pdf

acak untuk mentukan bobot koneksi antar unit dari suatu lapisan dengan

lapisan sesudahnya, jadi antar unit-unit di lapisan tersembunyi saling

terkoneksi satu sama lain dengan unit-unit di lapisan tersembunyi, dan antar

unit-unit di tersembunyi lapisan akan saling terkoneksi satu sama lain

dengan unit-unit pada lapisan output. Nilai bobot inilah yang akan

menentukan proses pembelajaran kecerdasan buatan.

Pada saat proses training, nilai bobot tersebut akan terus berubah

sehingga didapatkan kesesuaian antara input dengan output dengan error

minimum. Dengan kata lain, Pada proses training akan menentukan nilai

minimum error yang bisa di tolerir oleh jaringan saraf buatan lapisan banyak

seperti yang disampaikan diatas bahwa algoritma backpropagation tidak

akan memberikan kepastian jawaban untuk suatu kasus yang tidak pernah

dilatihkan, pasti ada nilai error dari jawaban sistem pembelajaran dengan

jawaban yang seharusnya, nilai error tersebut yang harus di definisikan

sebelum melatih proses pembelajaran sehingga sistem tersebut bisa

menjawab dengan tingkat kebenaran semaksimal mungkin (misal: tingkat

kebenaran sistem 99,9999% dengan nilai Error 0.0001).

Algoritma backpropagation merupakan proses pembelajaran yang

mampu menjelaskan beberapa fungsi yang terdapat dalam data. Fungsi-

fungsi data tersebut dapat digambarkan secara keseluruhan dengan beberapa

unit yang digunakan pada lapisannya dan beberapa lapisan yang digunakan

dalam jaringan. Fungsi-fungsi ini dapat dibagi menjadi tiga yaitu fungsi

boolean, fungsi bernilai kontinu dan fungsi sembarang. Fungsi boolean

30

Page 31: CHAIRUN NISA-FST.pdf

adalah fungsi yang rangenya hanya memiliki Z elemen, fungsi ini dapat

digambarkan dengan model struktur jaringan dengan baik menggunakan

jaringan terdiri dari dua lapisan. Sedangkan fungsi kontinu merupakan

fungsi yang rangenya berupa interval, fungsi ini juga dapat digambarkan

dengan struktur jaringan saraf buatan dengan baik menggunakan jaringan

terdiri dari dua lapisan. Terakhir fungsi sembarang adalah sebuah fungsi

yang berbeda dari kedua fungsi sebelumnya. fungsi ini dapat

menggambarkan model struktur jaringan cukup baik dengan menggunakan

tiga lapisan pada unit.

Induktif bias merupakan suatu cara yang digunakan algoritma

backpropagation dalam menginferensi populasi dari data percobaan. Sample

data di proses dalam proses pembelajaran, kemudian performa model dari

sample data tersebut diuji kembali ke populasi data percobaan. Hal ini secara

praktis biasanya dapat dilakukan dengan membagi dua data menjadi data

training dan data test. Tujuan pembelajaran induktif bias untuk mendapatkan

performa dari sample data dengan nilai error yang relatif kecil dan dapat

dibandingkan dengan performa yang dihasilkan pada data populasi.

Algoritma backpropagation menggunakan jaringan lapisanr

feedforward yang terdiri dari dua unit lapisan sigmoid dengan lapisan yang

dihubungkan ke semua unit dari lapisan yang terdahulu. Notasi yang

digunakan pada algoritma ini adalah :

31

Page 32: CHAIRUN NISA-FST.pdf

a) Sebuah index menententukan setiap titik dari jaringan, dimana sebuah

”titik” merupakan salah satu input atau output dari beberapa unit pada

jaringan.

b) xij menotasikan input dari titik i ke unit j, dan wij menotasikan hubungan

bobot.

c) δ n menotasikan error dengan unit n.

Algoritma Backpropagation

BACKPROPAGATION (Contoh percobaan, η , nin , nout , nhidden )

r r r

Setiap contoh percobaan merupakan pasangan dari bentuk (x, t ) , dimana x

r adalah vektor dari nilai unit input, dan t

jaringan target.

adalah vektor dari nilai output

η adalah learning rate (0,05), nin adalah bilangan dari input jaringan,

ntersembunyi adalah bilangan dari unit pada lapisanr tersembunyi, dan nout adalah

bilangan dari unit output.

input dari unit i sampai j dinotasikan dengan xji, dan bobot dari i sampai j

dinotasikan dengan wji.

1. Buat jaringan feedforward dengan input nin, unit tersembunyi nhiiden, dan

unit output nout.

2. Inisialkan semua bobot awal jaringan ke bilangan acak yang kecil

(antara -0,05 sampai 0,05).

3. Hitung output o(net ) dari setiap unit k pada jaringan. n

o(net) = ∑ w ji xi

i =0

+ θ j 0 (3.1)

4. Hitung fungsi sigmoid( σ ) dari setiap unit k pada jaringan.

σ = 1

1 + e −o ( net )

(3.2)

32

Page 33: CHAIRUN NISA-FST.pdf

5. Hitung output pada lapisan keluaran ( ok ).

n

ok = σ (∑ i =0

w

ji. x

i + θ

j 0 )

(3.3)

6. Hitung nilai error pada lapisan output ok, dengan bentuk error( δ k ).

δ k

← ok (1 − o

k )(t

k − o

k )

(3.9)

7. Hitung nilai error pada lapisan tersembunyi h, dengan bentuk error( δ h ).

δ h ← ok (1 − ok )∑ wkhδ k

(3.12)

δ r = or (1 − or ) ∑ wsr δ s ;Untuk jaringan uniform m-lapisan (3.15) s∈layer m+1

δ r = or (1 − or ) ∑ wsr δ s

s∈downstream( r )

; Untuk jaringan sembarang n-iterasi (3.16)

8. Hitung perubahan setiap bobot jaringan( ∆ wji ).

∆w ji

= ηδ j x

ji

; j = k , h

(3.13)

∆w ji (n) = ηδ j x ji + α∆w ji (n − 1)

9. Hitung perubahan bobot jaringan baru.

w ji ← w ji + ∆w ji

; Untuk n-iterasi (3.14)

(2.8)

Algoritma backpropagation akan lebih dipahami dengan melakukan

proses perhitungan pada data sederhana dibawah ini.

Tabel 3.1. Fungsi XOR

Variabel Prediktor Variabel Target

x1 x2 t

1 1 0 1 0 1 0 1 1 0 0 0

Langkah 1.

Membuat Jaringan feedforward dengan unit input nin yaitu x1 dan x2 , terdapat 2

lapisan unit tersembunyi nhiiden yaitu z1 , z2 , z3

, z4 dan unit output nout.

33

Page 34: CHAIRUN NISA-FST.pdf

Y

w50 w31 w32

1 z3 z 4

w

30

1

w40

z1

w 21

w22

w23

w24

z

2

w10

1

w20

w11

w12

x1

w13

w14

x2

Gambar 3.2. Jaringan feedforward dengan dua lapisan unit tersembunyi

Langkah 2.

Setelah membuat jaringan feedforward kemudian inisialkan semua bobot jaringan

ke bilangan acak yang kecil antara -0,05 sampai 0,05 dan bobot awal ditentukan

secara random

- Misal bobot awal unit input ke unit tersembunyi

w11 = 0,05 w13 = 0,03

w12 = -0,05 w14 = -0,02

- dan bobot awal unit tersembunyi lapis 1 ke unit tersembunyi lapis 2

w21 = 0,03 w23 = 0,04

w22 = -0,01 w24 = 0,05.

34

Page 35: CHAIRUN NISA-FST.pdf

1

2

3

4

- Lebih lanjut lagi bobot awal unit tersembunyi ke unit output

w31 = -0,04

w32 = 0,05,

- Bobot awal bias ke unit tersembunyi lapis 1

w10 = -0,03

w20 = 0,04,

- Bobot awal bias ke unit tersembunyi lapis 2

w30

= 0,02

w40

=0,01

- Serta terakhir bobot awal bias ke unit output adalah

w50 =0,03

Langkah 3.

Hitung output o(net ) dari setiap unit k pada unit tersembunyi :

n

rumus : o(net ) = ∑ w ji x i

i =0

+ θ j 0

o1 (net) = (0,05)(1) + (0,03)(1) + (-0,03) = 0,05

o2 (net) = (-0,05)(1) + (-0,02)(1) + (0,04) = -0,03

o3 (net) = (0,03)(1) + (0,04)(1) + (0,02) = 0,09

o4 (net) = (-0,01)(1) + (0,05)(1) + (0,01) = 0,05

Langkah 4.

Hitung fungsi sigmoid( σ ) dari setiap unit k pada jaringan :

σ = 1

1 + e − o ( net )

σ (net ) = 1

= 0,51 1 + e − 0 , 05

σ (net ) = 1

= 0,49 1 + e 0 , 03

σ (net ) = 1

= 0,52 1 + e − 0 , 09

σ (net ) = 1

= 0,51 1 + e − 0 , 05

35

Page 36: CHAIRUN NISA-FST.pdf

=

Langkah 5.

Hitung output o(net ) dari setiap unit k pada lapisan keluaran output ok :

n

ok = ∑ w

ji x

i

i =0

+ θ j 0

= (0,52)(-0,04)+(0,51)(0,05)+0,03 = 0,0347

1 1 o = = 0,5

k 1 + e

− o k 1 + e − 0 , 0347

Langkah 6.

Setelah mendapatkan nilai output pada langkah 5, kemudian hitung error

berdasarkan kesalahan untuk setiap unit output jaringan k, hitung bentuk error δ k

δ k ← ok (1 − ok )(t k − ok )= (0,5) (1-0,5) (0-0,5) = -0,125

δ k

merupakan error yang dipakai dalam perubahan bobot lapisan dibawahnya.

ok merupakan nilai output pada jaringan keluaran dan tk adalah target keluaran.

Langkah 7.

Kemudian cari penjumlahan error berdasarkan error untuk setiap unit tersembunyi

h, hitung bentuk error δ h

δ h ← ok (1 − ok ) ∑ wkhδ k

k∈outputs

Pertama cari penjumlahan delta rule dari unit tersembunyi, dimana

dari hasil delta rule pada unit keluaran

δ k = -0,125

δ k

=

∑ wkhδ k

k∈output

δ 1 = (-0,125) (0,05) = -0,006

δ 2

= (-0,125) (-0,04) = 0,005

δ 3

=

(-0,125) (0,04) + (-0,125)(0,05) = 0,011

δ 4

= (-0,125) (0,03) + (-0,125)(-0,01) = -0,002

δ h ← ok (1 − ok ) ∑ wkhδ k

k∈outputs

δ1

= (-0,006) ( 0,51) (1-0,51) = 0,001

36

Page 37: CHAIRUN NISA-FST.pdf

δ 2 = (0,005) (0,52) (1-0,52) = -0,001

δ 3

=

(0,011) (0,49) (1-0,49) = 0,002

δ 4

= (-0,002) (0,51) (1-0,51) = -0,0004

Langkah 8.

Hitung perubahan setiap bobot jaringan( ∆ wji )

∆w ji

= ηδ j x

ji

Suku perubahan bobot keluaran ∆w ji

= -0,125 hasil langkah 4.

dengan learning rate η = 0,05 , delta rule δ k

∆w ji

= ηδ j x

ji

j=0,1,2,3,...

∆w50 = (0,05) (-0,125) (1) = -0,00625

∆w31 =(0,05) (-0,125) (0,52) = -0,00325

∆w32

=(0,05) (-0,125)(0,51) = -0,00318

Suku perubahan bobot ke unit tersembunyi ∆w ji

delta rule hasil delta rule langkah 5.

dengan learning rate η = 0,05 ,

∆w ji

= ηδ j x

ji

j=0,1,2,3,..

� Unit tersembunyi lapis 1

∆w10

= (0,05) (0,001) (1) = 0,00005

∆w20 = (0,05) (-0,001) (1) = -0,00005

∆w11 = (0,05) (0,001) (1) = 0,00005

∆w12 = (0,05) (-0,001) (1) = -0,00005

∆w13 = (0,05) (0,001) (1) = 0,00005

∆w14

= (0,05) (-0,001) (1) = -0,00005

� Unit tersembunyi lapis 2

∆w30

=(0,05) (-0,0004) (1) = -0,00002

∆w40

=(0,05) (0,002) (1) =0,0001

∆w21

=(0,05) (-0,0004) (1) = -0,00002

37

Page 38: CHAIRUN NISA-FST.pdf

∆w22 =(0,05) (0,002) (1) = 0,0001

∆w23

=(0,05) (-0,0004) (1) = -0,00002

∆w24

=(0,05) (0,002) (1) = 0,0001

Langkah 9.

Hitung perubahan bobot jaringan baru.

w ji

← w ji

+ ∆w ji

Perubahan bobot unit keluaran :

∆w50 = (0,03) + (-0,006)= 0,024

∆w31 = (-0,04) + (-0,003)= -0,043

∆w32

= (0,05) + (-0,003)= 0,047

Perubahan bobot unit tersembunyi layar 1

∆w10 = -0,03 + 0,00005 = -0,03

∆w20 = 0,04 - 0,00005 = 0,04

∆w11

= 0,05 + 0,00005 = 0,05

∆w12

= -0,05 - 0,00005 = -0,05

∆w13 = 0,03 + 0,00005 = 0,03

∆w14

= -0,02 - 0,00005 = -0,02

Perubahan bobot unit tersembunyi layar 2

∆w30

= 0,02 – 0,00002 = 0,02

∆w40 = 0,01 + 0,0001 = 0,01

∆w21 = 0,03 – 0,00002 =0,03

∆w22 = -0,01 +0,0001 = -0,01

∆w23 = 0,04 – 0,00002 = 0,04

∆w24

= 0,05 + 0,0001 = 0,05

lakukan iterasi sampai variabel prediktor menghasilkan unit output.

38

Page 39: CHAIRUN NISA-FST.pdf

Algoritma backpropagation dimulai dari pembentukan sebuah jaringan

dengan unit tersembunyi dan unit output serta menginisialisasi semua bobot

jaringan ke nilai random yang kecil. Untuk setiap contoh percobaan

menggunakan suatu jaringan untuk menghitung nilai error dari output

jaringan, menghitung gradient descent dan kemudian mengupdate semua

bobot pada jaringan. Proses ini dilakukan sampai menghasilkan klasifikasi

dengan model yang tepat.

3.6. Analisis Multiklasifikasi

Algoritma backpropagation pada jaringan saraf buatan lapisan banyak

dengan beberapa unit yang terhubung dapat dikembangkan untuk

permasalahan multiklasifikasi. Untuk lebih jelasnya modifikasi dari

algoritma backpropagation ini masalah multiklasifikasi dijelaskan dengan

contoh berikut.

Tabel 3.2. Contoh Data Sederhana

Variabel Prediktor Variabel Target

x1 x

2 y

1 1 a

1 0 b

0 1 c 0 0 d

Diberikan contoh permasalahan data seperti tabel 3.2. Multiklasifikasi

dimulai dengan membuat jaringan feedforward dengan unit input nin yaitu

x1 , x2. dan terdapat satu lapisan unit tersembunyi nhiden yaitu z1 , z2 , z3

dan

unit output yaitu a, b, c , d.

39

Page 40: CHAIRUN NISA-FST.pdf

a b c d

w40

1

w50

w60

w

70

w22

w21

z1

w23

w24

w26

w 25

w27

z

2

w

28

w31

w29

w

32

w33

z3

w10

1

w20

w

30

w

11

X1

w

12

w

13

w

14

w15

x2

w16

Gambar 3.3. Struktur jaringan dengan bilangan n-arry

Cara kerja dalam permasalahan multiklasifikasi memiliki kesamaan

dengan binary klasifikasi yaitu membuat struktur jaringan kemudian

merandom bobot jaringan dan menghitung unit output. Perbedaannya

terletak pada proses perhitungan output dimana untuk kasus multiklasifikasi

hasil output akan bekerja sesuai dengan proses klasifikasi, yaitu perhitungan

output pada kelas A diproses melalui pembelajaran algoritma

backpropagation dengan bilangan binary, jika hasil output masuk kedalam

klasifikasi kelas A, maka kelas tersebut mengandung nilai 1, Sedangkan

selain kelas A mengandung nilai 0. Keadaan ini dikerjakan sesuai dengan

proses pembelajaran multiklasifikasi yang berarti proses binary n kali.

40

Page 41: CHAIRUN NISA-FST.pdf

Cara kerja algoritma backpropagation pada jaringan saraf buatan

lapisan banyak dapat diringkas dalam bentuk flowchart sebagai berikut:

Start

70% Training Data

30% Test Data

1. Membuat

jaringan

feedforword

2. Randomize bobot

|wji|<0,05

Hitung n

3. o(net) = ∑ w ji x

i

i =0

+ θ j 0

4. σ = 1

1 + e −o ( net )

n

5. ok = σ (∑ i =0

w ji. xi + θ j 0 )

6. δ k ← ok (1 − ok )(t k − ok ) 7. δ h ← ok (1 − ok )∑ wkhδ k

8. ∆w ji = ηδ j x ji ; j= k,h

9. w ji ← w ji + ∆w ji

Tidak

td=od

∀ d ∈ D

Ya

Akurasi error

generalisasi

End

Gambar 3.4. Flowchart Algoritma Backpropagation

41

Page 42: CHAIRUN NISA-FST.pdf

BAB IV

STUDI NUMERIK DAN ANALISIS

Pada bab ini akan dijelaskan mengenai metode jaringan saraf buatan

lapisan banyak menggunakan algoritma backpropagation dalam menghasilkan

error minimum dalam mencari model yang tepat. Permasalahan yang akan dibahas

yaitu mengenai permasalahan klasifikasi pengenalan huruf alphabet.

4.1. Deskripsi Studi Numerik

Metode jaringan saraf buatan lapisan banyak dapat diaplikasikan pada

berbagai masalah tertentu di kehidupan sehari-hari. Untuk lebih memahami

proses pengklasifikasian pada metode jaringan saraf buatan lapisan banyak

dan nilai error, maka dilakukan studi numerik dengan mengambil

permasalahan yang sederhana. Data-data tersebut diperoleh dari machine

learning database [8]. Dalam proses kerjanya, data ini dipisahkan menjadi

dua bagian yaitu training data dan test data. Pembagian data ini dilakukan

secara random. Pada studi numerik disini penulis mengambil proporsi 70%

training data dan 30% test data.

Pengolahan data yang dilakukan dalam skripsi ini menggunakan

algoritma backpropagation dengan bantuan software SPSS 16 dalam

pencarian nilai errornya. Hal tersebut dilakukan karena asumsi dari data

yang digunakan belum diketahui. Untuk mendapatkan nilai error yang lebih

valid, percobaan tersebut dilakukan sebanyak sepuluh kali dengan sample

random atau biasa dikenal dengan 10 fold cross validation (CV).

42

Page 43: CHAIRUN NISA-FST.pdf

4.2. Pengenalan Huruf Alphabet

Data pengenalan huruf alphabet merupakan salah satu data yang cocok

untuk mengetahui pengenalan suatu pola. Permasalahan yang akan diangkat

pada studi numerik adalah mencari nilai error minimum untuk

mengidentifikasi setiap huruf dengan tulisan tangan berwarna hitam-putih

yang terdapat dalam persegi panjang gambar digital dengan satuan pixel,

huruf tersebut akan diklasifikasikan ke salah satu dari 26 huruf alphabet.

Huruf-huruf tersebut berasal dari 20 bentuk huruf yang berbeda dan setiap

huruf dari berbagai karakter tersebut diacak secara random. Simulasi yang

dilakukan pada studi numerik ini menggunakan 20.000 baris data.

Cara penulisan diambil dari 20 bentuk yang berbeda menggunakan dua

cara teknik penulisan, yaitu stroke style merupakan penulisan huruf yang

dilakukan dengan cara mengambil dari titik atas sampai titik bawah yang

terdapat dalam 6 jenis cara penulisan yaitu simplex, duplex, triplex, complex,

dan ghotic. Kemudian 6 jenis huruf tersebut dimasukan ke dalam bentuk

tulisan seperti Block, Script, Italic, English, Italian dan German.

Setiap karakter huruf di proses pertama kali dengan merubah kedalam

koordinat vektor, dan pengidentifikasian dilakukan pada garis paling bawah

pada huruf. Segmen garis tersebut dirubah ukurannya menjadi koordinat

(x,y) yang berbentuk persegi panjang dengan satuan pixel. Ukuran pixel

akan menggambarkan titik-titik yang berwarna hitam dan putih. Posisi ”on”

pada satuan pixel yang berwarna hitam dan ”off” satuan pixel yang

berwarna putih. Setiap huruf akan diidentifikasikan pada pixel on berwarna

43

Page 44: CHAIRUN NISA-FST.pdf

hitam yang akan berbentuk huruf dan pixel tersebut berukuran persegi

panjang dengan ukuran 45 x 45 pixel.

Nilai error minimum diproses dalam pengidentifikasian huruf dari

20.000 baris data yang akan di karakteristik oleh 16 variabel prediktornya

kemudian akan diproses ke dalam klasifikasi 26 huruf alphabet yang

menjadi variabel target. Data pengenalan huruf tidak memuat data yang

tidak lengkap (missing value). Setiap huruf diklasifikasikan berdasarkan 17

variabel yang terdiri dari satu variabel target dan 16 variabel prediktor.

Variabel prediktor ini merupakan sebuah bilangan integer yang berkisar

antara 0 sampai 15. Variabel ini terdiri dari:

a. Variabel target: 26 huruf alphabet dari A sampai Z

b. Variabel prediktor:

1. V1 merupakan posisi horizontal dihitung dari sebelah kiri gambar dan

huruf berada di tengah box

2. V2 merupakan posisi vertikal dihitung dari bagian bawah pada box.

3. V3 merupakan panjang box.

4. V4 merupakan tinggi box.

5. V5 merupakan jumlah pixel on pada huruf dalam box.

6. V6 merupakan rataan nilai x pada pixel berwarna hitam “on”

7. V7 merupakan rataan nilai y pada pixel berwarna hitam “on”

8. V8 merupakan variansi rataan nilai x pada pixel berwarna hitam “on”

9. V9 merupakan variansi rataan nilai y pada pixel berwarna hitam “on”

44

Page 45: CHAIRUN NISA-FST.pdf

10. V10 merupakan jumlah rataan x dan y pada pixel berwarna

hitam“on”

11. V11 merupakan variansi rataan nilai x dikalikan dengan rataan y

pada pixel berwarna hitam “on”

12. V12 merupakan variansi rataan nilai y dikalikan dengan rataan x pada

pixel berwarna hitam “on”

13. V13 merupakan rataan posisi pixel ”on” dari kiri ke kanan.

14. V14 merupakan jumlah posisi vertikal pada rataan posisi pixel ”on”

dari kiri ke kanan.

15. V15 merupakan rataan posisi pixel ”on” dari bawah ke atas.

16. V16 merupakan jumlah posisi horizontal pada rataan posisi pixel

”on” dari bawah ke atas.

Untuk lebih jelasnya pengidentifikasian huruf alphabet menggunakan

16 variabel prediktor akan dijelaskan dengan contoh berikut.

Gambar 4.1. Contoh sampel yang merepresentasikan huruf ‘A dan

Pembagian region pada sample berikut nilai pixel aktifnya

Huruf A diprediksi berada dalam posisi horizontal yang dihitung dari

sebelah kiri gambar dan huruf berada di tengah box pada titik koordinat 13

pixel, posisi vertikal dihitung dari bagian bawah pada box di titik koordinat

22 pixel, Sedangkan tinggi box berada pada titik koordinat 22 pixel. Jika

45

Page 46: CHAIRUN NISA-FST.pdf

huruf A berada dalam karakteristik 16 variabel prediktor maka huruf

tersebut sudah memiliki error minimum dan berhasil dalam

mengklasifikasikan huruf alphabet.

Gambar 4.2 menjelaskan struktur hasil pengidentifikasian huruf

alphabet yaitu lapisan pertama terdapat 20.000 baris data yang digunakan

sebagai input, banyaknya unit pada dua lapisan tersembunyi yang digunakan

yaitu 40 unit pada lapisan kesatu dan 30 unit pada lapisan kedua, dan lapisan

terakhir merupakan target yang dihasilkan dalam pengenalan huruf alphabet

Gambar 4.2 Struktur JSB untuk Data Pengenalan Huruf Alphabet

46

Page 47: CHAIRUN NISA-FST.pdf

4.3. Analisis Numerik

Sebuah contoh percobaan mengenai data pengenalan huruf alphabet

menggambarkan perubahan nilai error dari algoritma backpropagation pada

jaringan saraf buatan lapisan banyak. Hasil output yang diperoleh dari

sepuluh percobaan yang dilakukan dengan parameter yaitu banyaknya unit

pada dua lapisan tersembunyi yang digunakan tetap yaitu 40 unit pada

lapisan kesatu dan 30 unit pada lapisan kedua, momentum(α ) = 0,9 dan

nilai learning rate (η ) yang digunakan berbeda-beda.

Dalam proses kerjanya, Terdapat 20.000 baris data pengenalan huruf

alphabet (Lampiran 2) dipisahkan menjadi dua bagian yaitu training data

dan test data. Tabel 4.1 merupakan hasil SPSS 16 case processing

summary dari data tersebut menjelaskan pembagian data dilakukan secara

random. Pada studi numerik disini penulis mengambil proporsi 70%

training data dan 30% test data sebagai berikut dibawah ini.

Tabel 4.1 Hasil SPSS Case Processing Summary

Training Data Test Data Percobaan

Persen N Persen N 1 70% 14009 30% 5990

2 70.1% 14012 29.9% 5988 3 69.8% 13964 30.2% 6036 4 70.1% 14015 29.9% 5984 5 69.4% 13874 30.6% 6126

6 70.2% 14043 29.8% 5957 7 70% 14007 30% 5993 8 70.1% 14023 29.9% 5976

9 70% 14008 30% 5992 10 70% 14002 30% 5997

Ket: N = Banyaknya data yang digunakan dalam proses studi numerik

47

Page 48: CHAIRUN NISA-FST.pdf

Percobaan SPSS mengeluarkan hasil berupa nilai relatif error dan

sum of squares error dari training data dan test data (Tabel 4.2). Relatif

error disebut juga percent incorrect predictions merupakan nilai error yang

dihasilkan pada percobaan tersebut (Lampiran 1). Sedangkan sum of squares

error merupakan banyaknya data yang mengandung nilai error pada

percobaan tersebut. Hasil eksperimen ini digunakan untuk melihat

kecenderungan nilai error yang dihasilkan pada percobaan data pengenalan

huruf alphabet. Jika banyaknya unit pada dua lapisan tersembunyi yang

digunakan tetap yaitu 40 unit pada lapisan kesatu dan 30 unit pada lapisan

kedua, momentum(α ) = 0,9 dan nilai learning rate (η ) yang digunakan

berbeda-beda.

Tabel 4.2. Hasil SPSS Model Summary.

Training data Test data

Percobaan

Banyak unit

tersembunyi

η

α Sum of

squares

error

Relatif

error Sum of

squares

error

Relatif

error

1 40 & 30 unit 0.1 0.9 2849 29,6% 1292 30,4%

2 40 & 30 unit 0.2 0.9 2671 27,3% 1270 30,7%

3 40 & 30 unit 0.3 0.9 2486 25,8% 1202 28,4%

4 40 & 30 unit 0.4 0.9 2592 26,1% 1195 27,8%

5 40 & 30 unit 0.5 0.9 2547 25,2% 1227 27,8%

6 40 & 30 unit 0.6 0.9 2325 24% 1106 26,1%

7 40 & 30 unit 0.7 0.9 2558 26,7% 1170 28,1%

8 40 & 30 unit 0.8 0.9 2709 27,3% 1210 28,7%

9 40 & 30 unit 0.9 0.9 2619 26,5% 1195 28,7%

10 40 & 30 unit 1 0.9 1924 26,5% 1184 27,5%

48

Page 49: CHAIRUN NISA-FST.pdf

Hasil Eksperimen pada jaringan saraf buatan lapisan banyak yang dilakukan

pada studi numerik data pengenalan huruf menggunakan 20.000 data. Hasil dari

sepuluh percobaan eksperimen terdapat satu percobaan yang memiliki nilai error

terbesar pada percobaan pertama yaitu pada training data relatif error sebesar

29,6% dan sum of squares error sebesar 2849 data dan pada test data sebesar

relatif error sebesar 30,4% dan sum of squares error 1292 data. Sedangkan

percobaan keenam memiliki nilai error terkecil yaitu pada training data relatif

error sebesar 24% dan sum of squares error 2325 data dan pada test data sebesar

relatif error sebesar 26,1% dan sum of squares error 1292 data.

Hasil dari sepuluh percobaan dengan parameter terdiri dari momentum,

jumlah unit dan learning rate yang berbeda menyebabkan nilai error cenderung

mengalami fluktuasi, keadaan ini disebabkan karena pada algoritma

backpropagation bobot awal dilakukan secara acak dan faktor parameter yang

mempengaruhi nilai disetiap iterasinya.

49

Page 50: CHAIRUN NISA-FST.pdf

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Cara kerja algoritma backpropagation dalam menentukan bobot awal

yaitu dimulai dengan memilih bobot secara acak yang bernilai kecil antara

-0,05 sampai dengan 0,05. Dalam algoritmanya bobot ini diperbaiki dalam

setiap iterasinya hingga didapatkan jaringan saraf buatan yang terbaik

dimana nilai output jaringan akan sama atau hampir sama dengan nilai target

pada data.

Berdasarkan hasil percobaan, percobaan pertama memiliki nilai error

sebesar 29,6% pada training data dan 30,4% pada test data, nilai percobaan

ini merupakan nilai error terbesar dari sepuluh percobaan. Sedangkan

percobaan keenam memiliki nilai error sebesar 24% pada training data dan

26,1% pada test data, nilai ini merupakan nilai terkecil pada sepuluh

percobaan yang dilakukan.

Hasil dari sepuluh percobaan dengan parameter terdiri dari momentum,

jumlah unit dan learning rate yang berbeda menyebabkan nilai error

cenderung mengalami fluktuasi, keadaan ini disebabkan karena pada

algoritma backpropagation bobot awal dilakukan secara acak dan faktor

parameter yang mempengaruhi nilai disetiap iterasinya.

50

Page 51: CHAIRUN NISA-FST.pdf

5.2. Saran

Algoritma backpropagation memiliki proses yang sangat panjang dan

aturan-aturannya yang tidak dapat diaplikasikan secara mudah. Oleh karena itu,

diharapkan skripsi selanjutnya dapat mengkaji lebih dalam mengenai

berbagai macam aplikasi pada jaringan saraf buatan dengan metode yang

berbeda sehingga dapat diterapkan kedalam dunia nyata, dalam hal ini

pembuatan aplikasi menyeluruh yang secara langsung dapat digunakan oleh

pengguna.(user).

51

Page 52: CHAIRUN NISA-FST.pdf

BAB I

PENDAHULUAN

Sejak komputer diciptakan pertama kali, komputer memiliki peranan yang besar

dalam membantu menyelesaikan permasalahan-permasalahan yang sulit diselesaikan oleh

manusia. Salah satu teknologi komputer yang sedang berkembang yaitu kecerdasan

buatan. Jaringan saraf buatan merupakan salah satu ilmu yang mendukung perkembangan

kecerdasan buatan. Bermacam-macam aplikasi berbasis jaringan saraf buatan telah

dikembangkan di berbagai bidang.

1.1. Latar Belakang

Pesatnya perkembangan teknologi komputer menyebabkan adanya

perluasan lingkup yang membutuhkan kehadiran kecerdasan buatan. Kecerdasan

buatan merupakan ilmu komputer yang membuat mesin komputer dapat melakukan

pekerjaan sebaik mungkin seperti yang dilakukan oleh otak manusia [9]. Jaringan

saraf buatan merupakan salah satu ilmu yang mendukung perkembangan

kecerdasan buatan. Bermacam-macam aplikasi berbasis jaringan saraf buatan telah

dikembangkan di berbagai bidang.

Jaringan saraf buatan merupakan salah satu metode pembelajaran komputer

yang efektif dan memiliki pendekatan berupa algoritma dalam menyelesaikan suatu

masalah. Pada jaringan saraf buatan terdapat dua macam algoritma, yaitu algoritma

untuk jaringan saraf buatan lapisan tunggal dan algoritma untuk jaringan saraf

buatan lapisan banyak. Dalam penulisan skripsi ini akan dibahas mengenai jaringan

1

Page 53: CHAIRUN NISA-FST.pdf

saraf lapisan banyak dengan algoritma backpropagation. Pembahasan jaringan saraf

buatan lapisan tunggal dapat ditemukan di [1].

Algoritma backpropagation merupakan metode yang baik dalam menangani

masalah pengenalan pola-pola kompleks [4]. Beberapa aplikasi yang menggunakan

algoritma ini antara lain pengenalan suara, pengenalan pola, sistem kontrol, dan

pengolahan citra. Oleh karena itu skripsi ini mencoba memberikan gambaran

mengenai algoritma yang digunakan pada jaringan saraf buatan lapisan banyak

dengan judul ”Kajian Teoritis Algoritma Backpropagation pada Jaringan Saraf

Buatan Lapisan Banyak”.

1.2. Permasalahan

Masalah yang dapat diidentifikasi penulis adalah sebagai berikut:

1. Bagaimana cara kerja algoritma backpropagation menentukan bobot awal dan

menghasilkan model yang tepat dalam multiklasifikasi ?

2. Bagaimana kecenderungan nilai error yang dihasilkan pada jaringan saraf

buatan lapisan banyak dengan data percobaan pengenalan huruf alphabet, jika

banyak unit pada dua lapisan tersembunyi yang digunakan tetap, momentum

( α ) yang digunkan tetap, dan learning rate (η ) yang digunakan berbeda-beda?

1.3. Pembatasan Masalah

Masalah di dalam skripsi ini terbatas pada ruang lingkup jaringan saraf buatan

lapisan banyak dengan beberapa unit menggunakan algoritma backpropagation dan

2

Page 54: CHAIRUN NISA-FST.pdf

hasil prediksi output pada jaringan saraf buatan lapisan banyak ini berupa bilangan

n-arry.

1.4. Tujuan Penulisan

Skripsi ini mempunyai beberapa tujuan, yaitu:

1. Mengetahui cara kerja algoritma backpropagation menentukan bobot awal dan

menghasilkan model yang tepat dalam multiklasifikasi.

2. Mengetahui kecenderungan nilai error yang dihasilkan pada percobaan

pengenalan huruf alphabet, jika banyak unit pada dua lapisan tersembunyi yang

digunakan tetap, momentum ( α ) yang digunakan tetap, dan learning rate (η )

yang digunakan berbeda-beda.

1.5. Manfaat Penulisan

Manfaat penulisan ini antara lain:

1. Memberikan pengetahuan tentang algoritma-algoritma yang digunakan dalam

metode pembelajaran jaringan saraf buatan, serta cara kerja dari algoritma

tersebut sehingga mendapatkan model yang tepat.

2. Memberikan informasi mengenai jaringan saraf buatan sehingga dapat dijadikan

acuan atau referensi.

3

Page 55: CHAIRUN NISA-FST.pdf

BAB II

JARINGAN SARAF BUATAN

Penjelasan mengenai sejarah perkembangan jaringan saraf buatan, serta beberapa

teori dasar yang mendukung pembelajaran jaringan saraf buatan akan dibahas dalam bab

ini, yaitu Teori-teori dasar yang mendukung pembelajaran jaringan saraf buatan antara

lain ide dasar jaringan saraf buatan yang terinspirasi dari sistem jaringan otak manusia,

definisi dan arsitektur jaringan saraf buatan, model-model pembelajaran, fungsi transfer,

perceptron rule dan delta rule pada jaringan saraf buatan lapisan tunggal serta gambaran

stokastik gradien descent.

2.1. Jaringan Saraf Manusia

Jaringan saraf buatan merupakan model yang cara kerjanya meniru sistem

jaringan biologis. Otak manusia terdiri atas sel-sel saraf yang disebut neuron, yang

berjumlah sekitar 1011

sel-sel saraf. Sel-sel saraf ini berhubungan satu dengan yang

lain membentuk jaringan yang disebut jaringan saraf [4]. Proses yang terjadi dalam

suatu sel saraf merupakan proses elektrokimiawi. Di otak ini terdapat fungsi-fungsi

yang sangat banyak dan rumit, diantaranya adalah ingatan, belajar, bahasa, asosiasi,

penalaran, kecerdasan, dan inisiatif.

Semua sel saraf alami mempunyai empat komponen dasar yang sama.

Keempat komponen dasar ini diketahui berdasarkan nama biologinya yaitu, dendrit,

soma, akson, sinapsis. Dendrit merupakan suatu perluasan dari soma yang

menyerupai rambut dan bertindak sebagai saluran masukan. Saluran input ini

1

Page 56: CHAIRUN NISA-FST.pdf

menerima masukan dari sel saraf lainnya melalui sinapsis. Kemudian soma

memproses nilai input menjadi sebuah output yang kemudian dikirim ke sel saraf

lainnya melalui akson dan sinapsis. Gambar berikut menunjukkan komponen-

komponen dari saraf [7].

Gambar 2.1 Komponen-Komponen Sel Saraf

Suatu jaringan saraf menerima ribuan informasi kecil dari berbagai organ

sensoris dan mengintegrasikannya untuk menentukkan reaksi yang harus dilakukan.

Kegiatan sistem jaringan saraf didasari oleh pengalaman sensoris dari reseptor

sensoris, baik berupa reseptor visual, reseptor auditoris, reseptor raba dipermukaan

tubuh, ataupun jenis reseptor lainnya. Pengalaman sensoris ini dapat menyebabkan

suatu reaksi segera dan kenangannya dapat disimpan didalam otak [4]. Konsep

dasar semacam inilah yang ingin dicoba para ahli dalam menciptakan jaringan

buatan.

2.2. Jaringan Saraf Buatan

2

Page 57: CHAIRUN NISA-FST.pdf

Jaringan saraf buatan diperkenalkan pertama kali pada tahun 1943 oleh

seorang ahli saraf Warren McCulloch dan seorang ahli logika Walter Pitss [12].

Jaringan saraf buatan merupakan model yang meniru cara kerja jaringan sel-sel saraf

biologis. Penelitian yang berlangsung pada tahun 1950-an dan 1960-an mengalami

hambatan karena minimnya kemampuan komputer. Kemudian pada pertengahan

tahun 1980-an dapat dilanjutkan lagi, karena sarana yang dibutuhkan telah tersedia.

Sistem saraf buatan dirancang untuk menirukan karakteristik sel-sel saraf biologis.

Beberapa definisi tentang jaringan saraf buatan dikemukakan oleh para ahli.

Menurut [7] jaringan saraf didefinisikan sebagai sebuah prosesor yang

terdistribusi paralel dan mempuyai kecenderungan untuk menyimpan pengetahuan

yang didapatkannya dari pengalaman dan membuatnya tetap tersedia untuk

digunakan.

Sedangkan menurut [3]. Mendefinisikan jaringan saraf buatan sebagai sebuah

sistem yang dibentuk dari sejumlah elemen pemroses sederhana yang bekerja secara

paralel dan fungsinya ditentukan oleh stuktur jaringan, kekuatan hubungan serta

pengolahan dilakukan pada komputasi elemen-elemennya.

2.2.1. Arsitektur Jaringan Saraf Buatan

Pemodelan struktur pemrosesan informasi terdistribusi dilakukan

dengan menentukan pola hubungan antar sel-sel saraf buatan. Pola

hubungan yang umum adalah hubungan antar lapisanr (lapisan). Setiap

lapisan terdiri dari sekumpulan sel saraf buatan (unit) yang memiliki fungsi

tertentu, misalnya fungsi masukan (input) atau fungsi keluaran (output).

Sistem saraf buatan terdiri dari tiga lapisan unit, yaitu:

3

Page 58: CHAIRUN NISA-FST.pdf

1. Unit input

Pada gambar 2.2 unit input dinotasikan dengan i. Unit input ini

menerima data dari jaringan saraf luar. Aktifasi unit-unit lapisan input

menunjukkan informasi dasar yang kemudian digunakan dalam jaringan

saraf buatan.

2. Unit tersembunyi

Unit tersembunyi dinotasikan dengan h pada gambar 2.2. Unit

tersembunyi menerima dan mengirim sinyal ke jaringan saraf. Aktifasi

setiap unit-unit lapisan tersembunyi ditentukan oleh aktifasi dari unit-

unit input dan bobot dari koneksi antara unit-unit input dan unit-unit

lapisan tersembunyi.

3. Unit output

Unit output dinotasikan dengan o. Unit output mengirim data ke jaringan

saraf. Karakteristik dari unit-unit output tergantung dari aktifasi unit-unit

lapisan tersembunyi dan bobot antara unit-unit lapisan tersembunyi dan

unit-unit output. Dalam jaringan saraf buatan lapisan banyak unit output

bisa digunakan kembali menjadi unit input yang diproses dalam lapisan

selanjutnya.

X1 X2 X3 X4

i1 i2 i3 i4

h1 h2 h3

o1 o2

4

Page 59: CHAIRUN NISA-FST.pdf

Y1 Y2

Page 60: CHAIRUN NISA-FST.pdf

Gambar 2.2 Jaringan Saraf Buatan

Sedangkan tipe arsitektur jaringan saraf buatan ada tiga yaitu :

1. Jaringan dengan lapisan tunggal (Single Lapisanr Net)

Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot yang

terhubung. Jaringan ini hanya menerima input kemudian secara langsung akan

mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi (Gambar

2.3).

Gambar

2.3.

Jaringan

Saraf

Buatan

Lapisan

Tunggal

Feedforward

2. Jaringan dengan lapisan banyak (Multilapisanr Net)

Pada tipe ini, diantara lapisan masukan dan keluaran terdapat satu atau lebih

lapisan tersembunyi (Gambar 2.4). Hubungan antar lapisan berlangsung satu

5

Page 61: CHAIRUN NISA-FST.pdf

arah. Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan

yang lebih sulit dari pada lapisan tunggal.

Gambar 2.4. Jaringan Saraf Buatan Lapisan Banyak Feedforward

3. Reccurent Network

Tipe reccurent berbeda dengan kedua tipe sebelumnya. Pada reccurent,

sedikitnya memiliki satu koneksi umpan balik (feedback).

Gambar 2.5. Jaringan dengan lapisan kompetitif reccurent

2.2.2. Model-Model Pembelajaran

Menurut [10] model pembelajaran dibedakan menjadi tiga, yaitu :

1. Supervised Learning

6

Page 62: CHAIRUN NISA-FST.pdf

Pada model pembelajaran ini, jaringan saraf buatan menggunakan variabel

prediktor sebagai input yang akan dijadikan indikator untuk menerangkan

variabel target sebagai outputnya. Variabel-variabel prediktor tersebut

disesuaikan dengan target output yang ingin dihasilkan. Tujuan model

supervised learning adalah untuk menentukan nilai bobot-bobot koneksi

didalam jaringan sehingga jaringan tersebut dapat melakukan pemetaan dari

input ke output sesuai dengan yang diinginkan. Jaringan perceptron, dan

backpropagation merupakan model-model dengan tipe supervised learning

[8].

Tabel 2.1 DataVSareidabeerlhPanreadPiketnorgenalan Huruf Alp

Contoh

Posisi

horizontal

Posisi

vertikal

Panjang

box

Tinggi

box

Jumlah

pixel

habet Variabel

Target

1 2 8 3 5 1 T 2 5 12 3 7 2 I

3 4 11 6 8 6 D

4 7 11 6 6 3 N

5 2 1 3 1 1 G

Model pembelajaran supervised learning selalu memiliki satu kolom yang

merupakan variabel target, pada contoh data sederhana pengenalan huruf

diatas variabel targetnya adalah huruf alphabet. Pada model pembelajaran ini

tiap-tiap variabel memiliki suatu hubungan yang tidak saling bebas. Sebagai

contoh, Huruf T diprediksi berada dalam posisi horizontal yang dihitung dari

sebelah kiri gambar dan huruf berada di tengah box pada titik koordinat 2

pixel, posisi vertikal dihitung dari bagian bawah pada box di titik koordinat 8

pixel, Sedangkan panjang box berada pada titik koordinat 3 pixel dan tinggi

7

Page 63: CHAIRUN NISA-FST.pdf

box berada pada titik koordinat 5 pixel. Jika huruf alphabet berada dalam

karakteristik variabel target maka dapat dikatakan huruf tersebut berhasil

dalam mengklasifikasikan huruf alphabet.

2. Unsupervised Learning

Berbeda dengan model supervised learning, dalam model unsupervised

learning tidak terdapat variabel target dari kategori pola-pola yang akan

diklasifikasikan hanya terdiri dari variabel prediktor. Untuk model

pembelajaran ini biasanya hanya dilakukan proses clustering lihat tabel 2.2.

Bukan pengklasifikasian seperti pada model pembelajaran supervised.

IssueTabel 2.2 Hak pilCihlaUsSsA1senator ap da 6 pCelrassosal2an Toxic Waste Yes No Budget Cuts Yes No

SDI Reduction No Yes

Contra Aid Yes No Line-Item Veto Yes No MX Production Yes No

3. Semi Unsupervised Learning

Model semi unsupervised learning awalnya adalah model unsupervised

learning, data percobaan untuk model ini biasanya tidak memiliki variabel

target. Oleh karena itu, proses klasifikasi dengan model pembelajaran ini

dilakukan dengan cara menentukan variabel targetnya terlebih dahulu (two

step analysis).

2.3 Fungsi Aktivasi

8

Page 64: CHAIRUN NISA-FST.pdf

Pada setiap lapisan pada jaringan saraf buatan terdapat fungsi aktivasi. fungsi

ini adalah fungsi umum yang akan digunakan untuk membawa input menuju output

yang diinginkan. Fungsi aktivasi inilah yang akan menentukan besarnya bobot.

Karakter dari jaringan saraf buatan tergantung pada bobot dan fungsi input-

output (Fungsi Transfer) yang mempunyai ciri-ciri tertentu untuk setiap unit. Fungsi

ini terdiri dari tiga kategori, yaitu : fungsi linear, fungsi threshold, dan fungsi

sigmoid (Gambar 2.6). Pada fungsi linear, aktivasi output adalah sebanding dengan

jumlah bobot output. Untuk fungsi threshold, output diatur satu dari dua tingkatan

tergantung dari apakah jumlah input lebih besar atau lebih kecil dari nilai batasnya.

Sedangkan Fungsi sigmoid, outputnya terus menerus berubah tetapi tidak berbentuk

linear.

i

Threshold (sgn)

i i

Linear Sigmoid

Gambar 2.6. Jenis fungsi aktivasi yang digunakan dalam jaringan saraf buatan

Ada beberapa pilihan fungsi aktivasi yang digunakan didalam metode

backpropagation, seperti fungsi sigmoid biner dan sigmoid bipolar (Gambar 2.7.).

Untuk lebih jelasnya, berikut adalah penjelasan lebih lengkap tentang fungsi

sigmoid biner dan sigmoid bipolar, yaitu:

1. Fungsi Sigmoid Biner

Fungsi ini merupakan fungsi yang umum digunakan dalam metode

backpropagation. Nilai jangkauannya diantara (0,1) dan didefinisikan sebagai :

9

Page 65: CHAIRUN NISA-FST.pdf

f ( x) = 1

1 + e − x

dengan turunan : f ( x)' = f ( x)(1 − f ( x)) (2.1)

2. Fungsi Sigmoid Bipolar

Fungsi ini merupakan fungsi yang umum digunakan dalam metode

backpropagation. Range diantara (-1,1) dan didefinisikan sebagai:

g ( x) = 2 f ( x) − 1

dengan

f ( x) = 1

1 + e − x

sehingga

g ( x) = 2 f ( x) − 1

1

= 2 − 1

dengan turunan :

1 + e − x

1 − e ( − x )

= 1 + e

( − x )

g ( x)' = 1

(1 + g ( x))(1 − g ( x)) 2

(2.2)

(2.3)

Gambar 2.7. Fungsi sigmoid biner dan fungsi sigmoid bipolar

10

Page 66: CHAIRUN NISA-FST.pdf

2.4. Perceptron

Salah satu tipe dari sistem jaringan saraf buatan didasarkan pada sebuah unit

yang disebut perceptron, dan diilustrasikan pada gambar 2.8. Sebuah perceptron

menerima vektor input yang berupa nilai bilangan real. Perceptron memiliki

perhitungan kombinasi linear yang berasal dari penjumlahan vektor input

( x1 , x2 ,..., xn ) , vektor bobot (w1 , w2 ,..., wn ) dan nilai thresholdnya (w0). Hasil output

akan bernilai 1 jika perhitungan kombinasi linearnya lebih besar dari pada 0 dan -1

jika perhitungan kombinasi linearnya lebih kecil atau sama dengan 0. Kombinasi

linear untuk output perceptron dapat dituliskan sebagai:

1 jika

w0 + w1 x1 + w2 x2 + .... + wn x n > 0

o(x1, x2, ......., xn) = (2.4)

− 1 jika w0 + w1 x1 + w2 x2 + .... + wn xn ≤ 0

x0=1 w0

x1 w1

x2 w2

wn

n

∑ wi x

i

i =0

o = 1

jika

n

∑ j =0

wi x j

xn − 1 untuk yang lainnya

x1, x2, ... , xn adalah input,

Gambar 2.8 Perceptron

o(x1 ,..., xn ) adalah output dan wi adalah konstanta real

atau bobot (weight), dimana bobot menentukan kontribusi dari input xi pada output

perceptron. Fungsi perceptron dapat dituliskan sebagai :

11

Page 67: CHAIRUN NISA-FST.pdf

r r r

o(x ) = sgn(w ⋅ x ) (2.5)

dan

dengan

1

sgn (y) =−1

jika

jika

r r

y>0

y≤0

(2.6)

y = w' ⋅ x (2.7)

2.4.1. Aturan Pembelajaran Perceptron

Masalah pembelajaran perceptron tunggal adalah menentukan vektor

bobot, karena perceptron menghasilkan output ± 1 untuk setiap contoh

percobaan. Beberapa algoritma diketahui dapat menyelesaikan

permasalahan tersebut, antara lain: perceptron rule dan delta rule.

Algoritma tersebut sangat penting dalam jaringan saraf buatan karena

merupakan dasar dari pembelajaran jaringan untuk lapisan banyak.

Salah satu cara untuk mempelajari vektor bobot yang tepat yaitu

dimulai dengan penentuan bobot secara acak, kemudian secara iteratif

dengan menggunakan perceptron untuk menghasilkan output pada setiap

contoh percobaan, setelah itu memodifikasikan bobot perceptron. Proses ini

terus diulang sampai pengklasifikasian perceptron untuk semua contoh

percobaan menjadi tepat. Bobot dimodifiikasi pada setiap langkah

berdasarkan aturan pembelajaran perceptron (perceptron learning rule),

yang meninjau kembali bobot wi dengan input xi berdasarkan kaidah:

dengan

wi ← wi + ∆wi

∆wi

= η (t − o)xi

(2.8)

(2.9)

12

Page 68: CHAIRUN NISA-FST.pdf

2

keterangan:

t = target output contoh percobaan

o = output perceptron

η = konstanta positif yang disebut learning rate

2.4.2. Delta Rule

Perceptron rule dapat digunakan untuk mencari vektor bobot yang

paling tepat ketika contoh data percobaannya terpisah secara linear. Namun,

tidak semua data dapat dipisahkan secara linear. Dalam hal ini perceptron

rule tidak mampu mengatasi permasalahan dengan kasus data yang tidak

dapat dipisahkan secara linear, data tersebut dikenal dengan istilah data non-

linearly separable sets. Oleh karena itu, pada pembahasan yang berikutnya

digunakanlah delta rule yang dapat mengatasi permasalahan tersebut.

Kunci dari delta rule dalam mencari ruang hipotesis dari bobot

vektor yang mungkin adalah dengan menggunakan gradient descent

sehingga didapatkan bobot yang paling tepat untuk suatu contoh percobaan.

Aturan ini penting karena gradient descent merupakan dasar untuk

algoritma backpropagation yaitu pembelajaran untuk jaringan dengan

banyak unit yang terhubung.

Terdapat banyak cara untuk mendefinisikan nilai error dari model

(vektor bobot). Salah satu ukuran yang dapat menurunkan nilai error dengan

tepat adalah :

r 1 2

E (w) ≡ ∑ (t d − od ) d∈D

(3.0)

13

Page 69: CHAIRUN NISA-FST.pdf

dengan D adalah himpunan dari contoh data percobaan, td adalah target

output untuk contoh percobaan d dan od adalah output dari unit linear untuk

r contoh percobaan d. Error E digolongkan sebagai fungsi dari w karena

output unit linear o bergantung pada bobot vektor.

Karena permukaan error terdiri dari minimum global tunggal,

algoritma delta rule hanya akan mengkonvergenkan vektor bobot dengan

error minimum, tanpa memperhatikan apakah contoh percobaannya terpisah

secara linear atau tidak. Nilai η yang digunakan pada algoritma ini awalnya

adalah bilangan yang tidak kecil namun juga tidak terlalu besar, kemudian

untuk mendapatkan bobot yang tepat nilai η diperkecil setelah langkah

perbaikan ke-n. Jika η terlalu besar, pencarian turunan gradient akan

menimbulkan resiko, yaitu terlalu banyaknya langkah yang dilakukan untuk

mencari permukan error yang minimum.

2.5. Gambaran Stokastik Untuk Gradient Descent

Salah satu pola model umum yang digunakan pada proses pembelajaran

adalah gradient descent. Gradient descent merupakan suatu strategi untuk mencari

ruang model yang tak terbatas atau besar yang dapat digunakan ketika ruang model

memuat parameter model yang kontinu dan error dapat diturunkan dengan

parameter modelnya tersebut. Namun, gradient descent ini juga memiliki

kelemahan yaitu tidak mudah digunakan dan terkadang lambat dalam

pengkonvergenan solusinya. Jika ada beberapa minimum lokal pada permukaan

error, maka tidak ada jaminan bahwa akan didapatkan minimum global [11].

14

Page 70: CHAIRUN NISA-FST.pdf

Tujuan digunakannya gradient descent yaitu untuk mempermudah strategi

pencarian model, hal tersebut dikenal dengan incremental gradient descent atau

stokastik gradient descent. Sedangkan ide dasar pada stokastik gradient descent

yaitu pencarian bobot yang tepat dilakukan berdasarkan perhitungan error pada

setiap contoh baris datanya. Stokastik gradient descent biasanya menggunakan nilai

learning rate η yang cukup kecil agar langkah pengulangan yang dilakukan tidak

terlalu besar, sehingga didapatkan perkiraan gradient descent yang mendekati nilai

sebenarnya.

2.6 Data Pengenalan Huruf Alphabet

Data pengenalan huruf berasal dari David J. Slate [5] (Northwestern

University) pada tahun 1991 dan telah banyak dipakai dalam berbagai penelitian.

Salah satunya adalah penelitian yang dilakukan P.W.Frey dan D.J. Slate [2]

dengan judul Letter Recognition Using Holland-Style Adaptive Classifiers. Tingkat

ketelitian pada penelitian ini mencapai 80% dan memiliki nilai error mencapai 20%.

15

Page 71: CHAIRUN NISA-FST.pdf

16

Page 72: CHAIRUN NISA-FST.pdf

BAB III

JARINGAN SARAF BUATAN LAPISAN BANYAK

Jaringan saraf buatan lapisan banyak merupakan perluasan dari jaringan

saraf buatan lapisan tunggal. Pada jaringan saraf buatan lapisan tunggal

menggunakan pendekatan algoritma perceptron yang hanya menghasilkan fungsi

linear. Sebaliknya, Jaringan saraf buatan lapisan banyak menggunakan

pendekatan algoritma backpropagation yang akan merepresentasikan fungsi non

linear. Dalam jaringan ini selain unit input dan output terdapat unit tersembunyi.

Hubungan antar lapisan berlangsung satu arah.

3.1 Unit Sigmoid

Unit perceptron merupakan salah satu tipe dari jaringan saraf buatan

dengan unit tunggal dengan fungsi yang dihasilkan adalah fungsi yang

linear. Namun, unit perceptron tidak dapat menjelaskan fungsi yang non

linear, Oleh karena itu, Jaringan saraf buatan lapisan banyak mampu

menggambarkan fungsi yang non linear. Salah satu solusinya adalah dengan

unit sigmoid, yaitu sebuah unit yang mirip dengan perceptron, dan proses

dasar pekerjaan dilakukan sesuai tahapan.

Sama dengan perceptron, unit sigmoid pertama kali menghitung

kombinasi linear dari input, kemudian menggunakan nilai batas untuk

hasilnya. Pada kasus unit sigmoid, hasil output merupakan fungsi yang

kontinu dari input-inputnya dan unit sigmoid menghitung output ok, secara

singkat rumus yang digunakan dapat ditulis sebagai:

1

Page 73: CHAIRUN NISA-FST.pdf

( )

x

Rumus fungsi sigmoid:

o( net )= n

∑ i =0

w ji.

xi + θ

j 0

(3.1)

σ = 1

−o ( net )

(3.2)

Maka output ok

1 + e

n

ok = σ (∑ i =0

w ji.

xi

+ θ j 0

)

(3.3)

dimana x1, x2, ..., xn adalah input, o(x1 ,..., xn ) adalah output dan wi adalah

bobot yang menentukan kontribusi dari input xi pada output

backpropagation. σ disebut fungsi sigmoid atau fungsi logistik. Range

output yang dihasilkan oleh unit sigmoid antara 0 sampai 1, dan bersifat

monoton naik. Karena unit sigmoid memetakan domain bilangan input yang

sangat besar ke range output yang kecil, Sigmoid sering disebut dengan

pengkompresan hasil dari unit. Fungsi sigmoid memiliki sifat bahwa

turunannya secara mudah diperlihatkan dalam bentuk output

= σ (y ) ⋅ (1 − σ (y )) . Unit sigmoid diilustrasikan sebagai berikut:

dσ y dy

x0=1

w0

w1

1

x2 w2

w0

xn

n

net = ∑ wi x j + θ j 0

j =0

Gambar 3.1. Sigmoid

o = σ (net) =

1

1 + e −o ( net )

2

Page 74: CHAIRUN NISA-FST.pdf

= k k

3.2. Turunan dari Aturan Algoritma Backpropagation

Masalah yang paling pokok dalam bab ini adalah aturan penurunan

stokastik gradient descent yang diimplementasikan oleh algoritma

backpropagation. Berdasarkan persamaan (3.0) bahwa stokastik gradient

descent melibatkan iterasi pada sebuah waktu contoh percobaan, untuk

setiap contoh percobaan d menurunkan nilai gradient dari error Ed pada

contoh tunggal. Dengan kata lain, untuk setiap contoh percobaan d setiap

bobot wij di update oleh penambahan ∆wij dengan rumus sebagai berikut:

∆wi j

= −η =∂E

d

∂wi j

(3.4)

Dimana Ed adalah error pada contoh percobaan d ditambahkan dengan

semua unit output pada jaringan (persamaan 3.0)

1

Ed 2 ∑ (t − o )2

k∈output

outputnya disini adalah himpunan dari unit output pada jaringan, tk adalah

nilai target dari unit k untuk contoh percobaan d dan ok adalah output dari

unit k pada contoh percobaan d.

Notasi :

x ji = input ke i sampai input j

wji = bobot dengan input ke i sampai input j

netj = ∑i

w ji

x ji

(jumlahan bobot dari input untuk unit j)

oj = output dihitung berdasarkan unit j

tj = target output untuk unit j

3

Page 75: CHAIRUN NISA-FST.pdf

j

σ = fungsi sigmoid

output = himpunan dari unit-unit pada lapisan terakhir dari

suatu jaringan

Downstream(j) =himpunan dari unit-unit yang berada satu lapisan

dibawahnya termasuk output dari unit j

Penurunan stokastik gradient descent =∂Ed

∂w ji

merupakan implementasi

dari persamaan (3.4). Dengan catatan bahwa bobot wij dapat mempengaruhi

sisa dari jaringan hanya sampai netj. Oleh karena itu,

=∂E d ∂E ∂net

j

= d

∂w ji ∂net j ∂w ji

= =∂E

d ∂∑i

w ji x ji

∂net j

= =∂Ed x ∂net

ji

∂w ji

(3.5)

dalam penurunan =∂Ed

∂w ji

terdapat dua pandangan kasus yaitu: kasus dimana

unit j adalah unit keluaran untuk jaringan dan kasus dimana j adalah unit

tersembunyi untuk jaringan.

Kasus 1 : Aturan percobaan untuk bobot unit output.

wij dapat mempengaruhi sisa dari jaringan hanya sampai netj, netj dapat

mempengaruhi jaringan hanya sampai o j. Oleh karena itu,

4

Page 76: CHAIRUN NISA-FST.pdf

( ) j j

( )

j

∂Ed

j j

=∂Ed =

=∂E d ∂o

j

(3.6) ∂net j ∂o j ∂net j

pandang bentuk pertama pada persamaan 3.0

∂Ed ∂ 1 2

= ∂o ∂o 2 ∑ (t k − ok )

j j k∈output

Penurunan (t k

∂o j − o

k )2

akan nol untuk semua unit output k kecuali saat k = j.

=∂E

d = ∂ 1 (t −o )2

∂oj ∂oj 2

1 ∂(t −o ) = 2 t −o 2

j j ∂o

j

= −(tj −o

j ) (3.7)

karena ∂o

j

o j = σ net j , penurunan ∂net j

merupakan penurunan dari fungsi

sigmoid, yang sama dengan σ (net j )(1 − σ (net j )) . Oleh karena itu,

∂o j ∂σ (net

j )

= ∂net j ∂net j

= σ ' (net )

= σ (net j )(1 − σ (net j ))

= o j (1 − o j )

(3.8)

substitusikan persamaan (3.7) dan (3.8) kedalam persamaan (3.6). Didapatkan,

=∂E

d = =∂E

d ∂o j

∂net j ∂o j ∂net j

= −(t j − o j )o j (1 − o j ) ∂net

(3.9)

j

5

Page 77: CHAIRUN NISA-FST.pdf

j

dan kombinasikan persamaan (3.9) dengan persamaan (3.4). Maka didapatkan

aturan stokastik gradient descent untuk unit output

∆wi j

= −η =∂E

d

∂wij

= −η =∂E

d ∂net j

∂net j ∂w ji

= η (t j − o j )o j (1 − o j )x ji

(3.10)

Kasus 2 : Aturan Percobaan untuk Bobot unit tersembunyi

Pada kasus ini j merupakan unit tersembunyi pada jaringan, turunan dari aturan

percobaan untuk wji harus mengmbil perhitungan secara tidak langsung dimana wji

dapat mempengaruhi output jaringan dan Ed. Notasikan himpunan semua unit

yang input-inputnya termasuk dalam output unit j dengan Downstream (j). Catat

bahwa netj dapat mempengaruhi jaringan keluaran dan Ed hanya sampai unit pada

Downstream (j). Oleh karena itu, dapat ditulis sebagai berikut:

=∂E

d = ∑ =∂E

d ∂net

k

∂net j k∈Downstream( j ) ∂net k ∂net j

= ∑ − δ =∂net k

k net

k∈Downstream( j ) ∂ j

∂net ∂o j

= ∑ − δ k

k∈Downstream( j )

k ∂o ∂net

j

= ∑ − δ w ∂o j

k∈Downstream( j ) k kj ∂net j

= ∑ − δ k wkj o j (1 − o j ) k∈Downstream( j )

(3.11)

6

Page 78: CHAIRUN NISA-FST.pdf

setelah mengatur kembali bentuk persamaan di atas dan menggunakan δ j

untuk menotasikan − =∂E

d , didapatkan ∂net j

δ j = o j (1 − o j ) ∑δ k wkj

k∈Downstream( j )

(3.12)

dan

∆w ji = ηδ j x ji

(3.13)

3.3. Penggunaan Faktor Momentum

Banyak variasi yang dapat dikembangkan dari penggunaan algoritma

backpropagation, salah satunya adalah mengubah aturan perubahan bobot

pada algoritma backpropagation persamaan 3.13, yaitu membuat perubahan

bobot pada n iterasi yang secara parsial bergantung pada update yang terjadi

selama (n-1) iterasi, dengan persamaan:

∆w ji (n ) = ηδ j x ji + α∆w ji (n − 1)

(3.14)

∆w ji (n) adalah weight-update yang dilakukan selama n iterasi dan

0 ≤ α < 1 merupakan konstanta yang disebut momentum. Dengan

menambah variabel α ke dalam rumus perubahan bobot mengakibatkan

konvergensi akan lebih cepat untuk mendekati itersasi yang dilakukan sesuai

tahapan sampai bobot mencapai solusinya.

7

Page 79: CHAIRUN NISA-FST.pdf

3.4. Pembelajaran Jaringan Sembang Acylic

Pada algoritma backpropagation yang telah dijelaskan dengan

menggunakan dua lapisan unit tersembunyi pada jaringan. Namun, jika

algoritma backpropagation menggunakan lebih dari dua lapisan unit

tersembunyi pada jaringan maka aturan perubahan bobot (Persamaan 3.13).

tetap digunakan, dan hanya mengubah cara perhitungan nilai δ . Secara

umum, nilai δ r untuk r unit pada m lapisanr dihitung dari nilai δ pada

lapisanr m+1.

δ r = or (1 − or ) ∑ wsr δ s

s∈layer m+1

(3.15)

Pembelajaran tersebut sama-sama mengeneralisasi algoritma untuk

graph langsung acyclic, tanpa memperhatikan apakah unit jaringan yang

ditetapkan ada pada lapisan uniform. Aturan untuk menghitung δ untuk

unit internal adalah

δ r = or (1 − or ) ∑ wsrδ s

s∈downstream( r )

(3.16)

dimana Downstream(r) adalah himpunan dari unit-unit yang turun dari unit r

pada jaringan, yaitu semua unit yang input-inputnya termasuk dalam output

dari unit r.

3.3 Algoritma Backpropagation

Algoritma backpropagation mempelajari bobot untuk jaringan saraf

buatan lapisan banyak dengan himpunan dari unit-unitnya dan saling

berhubungan. Algoritma ini menggunakan gradient descent untuk mencoba

8

Page 80: CHAIRUN NISA-FST.pdf

2

meminimalisasi kuadrat error antara nilai input dan nilai target pada

jaringan.

Terdapat banyak cara untuk mendefinisikan nilai error dari model

(vektor bobot). Berbeda dengan persamaan (3.0) definisikan kembali E

sebagai penjumlahan error dari semua unit keluaran jaringan. Proses ini

merupakan salah satu ukuran yang dapat menurukan nilai error dengan tepat

adalah

r 1 2

E (w) ≡ ∑ ∑ (t kd − okd ) d∈D k∈outputs

(3.17)

D adalah himpunan dari contoh data percobaan, outputnya adalah himpunan

dari unit output pada jaringan, tkd dan okd masing-masing adalah nilai target

dan nilai output dengan unit output k dan contoh percobaan d.

Permasalahan yang digambarkan oleh algoritma backpropagation

adalah untuk mencari ruang hipotesis yang besar dan didefinisikan oleh

semua nilai bobot yang mungkin untuk setiap unit pada jaringan. Salah satu

perbedaan pokok pada kasus jaringan saraf buatan lapisan banyak yaitu

permukaan error dapat memiliki perkalian minimum lokal. Hal ini berarti

turunan gradient dapat menjamin kekonvergenan untuk beberapa minimum

lokal, dan bukan error minimum global.

Walaupun tidak dijaminnya konvergen ke arah global minimum,

Algoritma backpropagation merupakan fungsi yang efektif dalam metode

pembelajaran [11]. Fungsi error pada gradient descent dapat diilustrasikan

sebagai permukaan error dengan n-dimensi, ketika kemiringan gradient

9

Page 81: CHAIRUN NISA-FST.pdf

descent menurun dalam lokal minimum sehingga akan berpengaruh dalam

perubahan bobot.

Perbedaan performa ruang hipotesis antara algoritma

backpropagation jaringan saraf buatan lapisan banyak dengan performa

pembelajaran algoritma pada metode yang lain, yaitu algoritma

backpropagation memiliki ruang hipotesis pada n-dimensi dari n-bobot

jaringan. Dengan catatan ruang hipotesis memiliki fungsi yang kontinu.

Sedangkan hipotesis pada pembelajaran algoritma yang lain seperti

pembelajaran decision tree dan metode yang lain memiliki proses pencarian

hipotesis yang berbeda-beda. Untuk jelasnya pembelajaran tentang decision

tree menggunakan algoritma ID3 dapat ditemukan di [6].

Seperti penjelasan sebelumnya, Algoritma backpropagation

diimplementasikan dengan mencari kemiringan gradient descent pada bobot

jaringan, nilai error E yang diperoleh akan mengurangi iterasi yang berada

diantara nilai target pada contoh percobaan dan hasil output. Karena

permukaan jaringan saraf buatan lapisan banyak menggambarkan

permukaan yang tidak linear pada lokal minima, Sehingga kemiringan

gradient descent terdapat pada permukaan error. Hasil algoritma

backpropagation akan menunjukan ke arah konvergen terhadap lokal

minimum dalam mencari nilai error dan tidak membutuhkan nilai error ke

arah global minimum.

Nilai error minimum dapat dicari pada saat jaringan saraf buatan

lapisan banyak menginisialisasikan dan dibangkitkan secara random atau

10

Page 82: CHAIRUN NISA-FST.pdf

acak untuk mentukan bobot koneksi antar unit dari suatu lapisan dengan

lapisan sesudahnya, jadi antar unit-unit di lapisan tersembunyi saling

terkoneksi satu sama lain dengan unit-unit di lapisan tersembunyi, dan antar

unit-unit di tersembunyi lapisan akan saling terkoneksi satu sama lain

dengan unit-unit pada lapisan output. Nilai bobot inilah yang akan

menentukan proses pembelajaran kecerdasan buatan.

Pada saat proses training, nilai bobot tersebut akan terus berubah

sehingga didapatkan kesesuaian antara input dengan output dengan error

minimum. Dengan kata lain, Pada proses training akan menentukan nilai

minimum error yang bisa di tolerir oleh jaringan saraf buatan lapisan banyak

seperti yang disampaikan diatas bahwa algoritma backpropagation tidak

akan memberikan kepastian jawaban untuk suatu kasus yang tidak pernah

dilatihkan, pasti ada nilai error dari jawaban sistem pembelajaran dengan

jawaban yang seharusnya, nilai error tersebut yang harus di definisikan

sebelum melatih proses pembelajaran sehingga sistem tersebut bisa

menjawab dengan tingkat kebenaran semaksimal mungkin (misal: tingkat

kebenaran sistem 99,9999% dengan nilai Error 0.0001).

Algoritma backpropagation merupakan proses pembelajaran yang

mampu menjelaskan beberapa fungsi yang terdapat dalam data. Fungsi-

fungsi data tersebut dapat digambarkan secara keseluruhan dengan beberapa

unit yang digunakan pada lapisannya dan beberapa lapisan yang digunakan

dalam jaringan. Fungsi-fungsi ini dapat dibagi menjadi tiga yaitu fungsi

boolean, fungsi bernilai kontinu dan fungsi sembarang. Fungsi boolean

11

Page 83: CHAIRUN NISA-FST.pdf

adalah fungsi yang rangenya hanya memiliki Z elemen, fungsi ini dapat

digambarkan dengan model struktur jaringan dengan baik menggunakan

jaringan terdiri dari dua lapisan. Sedangkan fungsi kontinu merupakan

fungsi yang rangenya berupa interval, fungsi ini juga dapat digambarkan

dengan struktur jaringan saraf buatan dengan baik menggunakan jaringan

terdiri dari dua lapisan. Terakhir fungsi sembarang adalah sebuah fungsi

yang berbeda dari kedua fungsi sebelumnya. fungsi ini dapat

menggambarkan model struktur jaringan cukup baik dengan menggunakan

tiga lapisan pada unit.

Induktif bias merupakan suatu cara yang digunakan algoritma

backpropagation dalam menginferensi populasi dari data percobaan. Sample

data di proses dalam proses pembelajaran, kemudian performa model dari

sample data tersebut diuji kembali ke populasi data percobaan. Hal ini secara

praktis biasanya dapat dilakukan dengan membagi dua data menjadi data

training dan data test. Tujuan pembelajaran induktif bias untuk mendapatkan

performa dari sample data dengan nilai error yang relatif kecil dan dapat

dibandingkan dengan performa yang dihasilkan pada data populasi.

Algoritma backpropagation menggunakan jaringan lapisanr

feedforward yang terdiri dari dua unit lapisan sigmoid dengan lapisan yang

dihubungkan ke semua unit dari lapisan yang terdahulu. Notasi yang

digunakan pada algoritma ini adalah :

12

Page 84: CHAIRUN NISA-FST.pdf

a) Sebuah index menententukan setiap titik dari jaringan, dimana sebuah

”titik” merupakan salah satu input atau output dari beberapa unit pada

jaringan.

b) xij menotasikan input dari titik i ke unit j, dan wij menotasikan hubungan

bobot.

c) δ n menotasikan error dengan unit n.

Algoritma Backpropagation

BACKPROPAGATION (Contoh percobaan, η , nin , nout , nhidden )

r r r

Setiap contoh percobaan merupakan pasangan dari bentuk (x, t ) , dimana x

r

adalah vektor dari nilai unit input, dan t

jaringan target.

adalah vektor dari nilai output

η adalah learning rate (0,05), nin adalah bilangan dari input jaringan,

ntersembunyi adalah bilangan dari unit pada lapisanr tersembunyi, dan nout adalah

bilangan dari unit output.

input dari unit i sampai j dinotasikan dengan xji, dan bobot dari i sampai j

dinotasikan dengan wji.

1. Buat jaringan feedforward dengan input nin, unit tersembunyi nhiiden, dan

unit output nout.

2. Inisialkan semua bobot awal jaringan ke bilangan acak yang kecil

(antara -0,05 sampai 0,05).

3. Hitung output o(net ) dari setiap unit k pada jaringan. n

o(net) = ∑ w ji xi

i =0

+ θ j 0 (3.1)

4. Hitung fungsi sigmoid( σ ) dari setiap unit k pada jaringan.

σ = 1

1 + e −o ( net )

(3.2)

13

Page 85: CHAIRUN NISA-FST.pdf

5. Hitung output pada lapisan keluaran ( ok ).

n

ok = σ (∑ i =0

w

ji. x

i + θ

j 0 )

(3.3)

6. Hitung nilai error pada lapisan output ok, dengan bentuk error( δ k ).

δ k

← ok (1 − o

k )(t

k − o

k )

(3.9)

7. Hitung nilai error pada lapisan tersembunyi h, dengan bentuk error( δ h ).

δ h ← ok (1 − ok )∑ wkhδ k

(3.12)

δ r = or (1 − or ) ∑ wsr δ s ;Untuk jaringan uniform m-lapisan (3.15) s∈layer m+1

δ r = or (1 − or ) ∑ wsr δ s

s∈downstream( r )

; Untuk jaringan sembarang n-iterasi (3.16)

8. Hitung perubahan setiap bobot jaringan( ∆ wji ).

∆w ji

= ηδ j x

ji

; j = k , h

(3.13)

∆w ji (n) = ηδ j x ji + α∆w ji (n − 1)

9. Hitung perubahan bobot jaringan baru.

w ji ← w ji + ∆w ji

; Untuk n-iterasi (3.14)

(2.8)

Algoritma backpropagation akan lebih dipahami dengan melakukan

proses perhitungan pada data sederhana dibawah ini.

Tabel 3.1. Fungsi XOR

Variabel Prediktor Variabel Target

x1 x2 t

1 1 0 1 0 1

0 1 1 0 0 0

Langkah 1.

Membuat Jaringan feedforward dengan unit input nin yaitu x1 dan x2 , terdapat 2

lapisan unit tersembunyi nhiiden yaitu z1 , z2 , z3

, z4 dan unit output nout.

14

Page 86: CHAIRUN NISA-FST.pdf

Y

w50 w31 w32

1 z3 z 4

w

30

1

w40

z1

w 21

w22

w23

w24

z

2

w10

1

w20

w11

w12

x1

w13

w14

x2

Gambar 3.2. Jaringan feedforward dengan dua lapisan unit tersembunyi

Langkah 2.

Setelah membuat jaringan feedforward kemudian inisialkan semua bobot jaringan

ke bilangan acak yang kecil antara -0,05 sampai 0,05 dan bobot awal ditentukan

secara random

- Misal bobot awal unit input ke unit tersembunyi

w11 = 0,05 w13 = 0,03

w12 = -0,05 w14 = -0,02

- dan bobot awal unit tersembunyi lapis 1 ke unit tersembunyi lapis 2

w21 = 0,03 w23 = 0,04

w22 = -0,01 w24 = 0,05.

15

Page 87: CHAIRUN NISA-FST.pdf

1

2

3

4

- Lebih lanjut lagi bobot awal unit tersembunyi ke unit output

w31 = -0,04

w32 = 0,05,

- Bobot awal bias ke unit tersembunyi lapis 1

w10 = -0,03

w20 = 0,04,

- Bobot awal bias ke unit tersembunyi lapis 2

w30

= 0,02

w40

=0,01

- Serta terakhir bobot awal bias ke unit output adalah

w50 =0,03

Langkah 3.

Hitung output o(net ) dari setiap unit k pada unit tersembunyi :

n

rumus : o(net ) = ∑ w ji x i

i =0

+ θ j 0

o1 (net) = (0,05)(1) + (0,03)(1) + (-0,03) = 0,05

o2 (net) = (-0,05)(1) + (-0,02)(1) + (0,04) = -0,03

o3 (net) = (0,03)(1) + (0,04)(1) + (0,02) = 0,09

o4 (net) = (-0,01)(1) + (0,05)(1) + (0,01) = 0,05

Langkah 4.

Hitung fungsi sigmoid( σ ) dari setiap unit k pada jaringan :

σ = 1

1 + e − o ( net )

σ (net ) = 1

= 0,51 1 + e − 0 , 05

σ (net ) = 1

= 0,49 1 + e 0 , 03

σ (net ) = 1

= 0,52 1 + e − 0 , 09

σ (net ) = 1

= 0,51 1 + e − 0 , 05

16

Page 88: CHAIRUN NISA-FST.pdf

=

Langkah 5.

Hitung output o(net ) dari setiap unit k pada lapisan keluaran output ok :

n

ok = ∑ w

ji x

i

i =0

+ θ j 0

= (0,52)(-0,04)+(0,51)(0,05)+0,03 = 0,0347

1 1 o = = 0,5

k 1 + e

− o k 1 + e − 0 , 0347

Langkah 6.

Setelah mendapatkan nilai output pada langkah 5, kemudian hitung error

berdasarkan kesalahan untuk setiap unit output jaringan k, hitung bentuk error δ k

δ k ← ok (1 − ok )(t k − ok )= (0,5) (1-0,5) (0-0,5) = -0,125

δ k

merupakan error yang dipakai dalam perubahan bobot lapisan dibawahnya.

ok merupakan nilai output pada jaringan keluaran dan tk adalah target keluaran.

Langkah 7.

Kemudian cari penjumlahan error berdasarkan error untuk setiap unit tersembunyi

h, hitung bentuk error δ h

δ h ← ok (1 − ok ) ∑ wkhδ k

k∈outputs

Pertama cari penjumlahan delta rule dari unit tersembunyi, dimana

dari hasil delta rule pada unit keluaran

δ k = -0,125

δ k

=

∑ wkhδ k

k∈output

δ 1 = (-0,125) (0,05) = -0,006

δ 2

= (-0,125) (-0,04) = 0,005

δ 3

=

(-0,125) (0,04) + (-0,125)(0,05) = 0,011

δ 4

= (-0,125) (0,03) + (-0,125)(-0,01) = -0,002

δ h ← ok (1 − ok ) ∑ wkhδ k

k∈outputs

δ1

= (-0,006) ( 0,51) (1-0,51) = 0,001

17

Page 89: CHAIRUN NISA-FST.pdf

δ 2 = (0,005) (0,52) (1-0,52) = -0,001

δ 3

=

(0,011) (0,49) (1-0,49) = 0,002

δ 4

= (-0,002) (0,51) (1-0,51) = -0,0004

Langkah 8.

Hitung perubahan setiap bobot jaringan( ∆ wji )

∆w ji

= ηδ j x

ji

Suku perubahan bobot keluaran ∆w ji

= -0,125 hasil langkah 4.

dengan learning rate η = 0,05 , delta rule δ k

∆w ji

= ηδ j x

ji

j=0,1,2,3,...

∆w50 = (0,05) (-0,125) (1) = -0,00625

∆w31 =(0,05) (-0,125) (0,52) = -0,00325

∆w32

=(0,05) (-0,125)(0,51) = -0,00318

Suku perubahan bobot ke unit tersembunyi ∆w ji

delta rule hasil delta rule langkah 5.

dengan learning rate η = 0,05 ,

∆w ji

= ηδ j x

ji

j=0,1,2,3,..

� Unit tersembunyi lapis 1

∆w10

= (0,05) (0,001) (1) = 0,00005

∆w20 = (0,05) (-0,001) (1) = -0,00005

∆w11 = (0,05) (0,001) (1) = 0,00005

∆w12 = (0,05) (-0,001) (1) = -0,00005

∆w13 = (0,05) (0,001) (1) = 0,00005

∆w14

= (0,05) (-0,001) (1) = -0,00005

� Unit tersembunyi lapis 2

∆w30

=(0,05) (-0,0004) (1) = -0,00002

∆w40

=(0,05) (0,002) (1) =0,0001

∆w21

=(0,05) (-0,0004) (1) = -0,00002

18

Page 90: CHAIRUN NISA-FST.pdf

∆w22 =(0,05) (0,002) (1) = 0,0001

∆w23

=(0,05) (-0,0004) (1) = -0,00002

∆w24

=(0,05) (0,002) (1) = 0,0001

Langkah 9.

Hitung perubahan bobot jaringan baru.

w ji

← w ji

+ ∆w ji

Perubahan bobot unit keluaran :

∆w50 = (0,03) + (-0,006)= 0,024

∆w31 = (-0,04) + (-0,003)= -0,043

∆w32

= (0,05) + (-0,003)= 0,047

Perubahan bobot unit tersembunyi layar 1

∆w10 = -0,03 + 0,00005 = -0,03

∆w20 = 0,04 - 0,00005 = 0,04

∆w11

= 0,05 + 0,00005 = 0,05

∆w12

= -0,05 - 0,00005 = -0,05

∆w13 = 0,03 + 0,00005 = 0,03

∆w14

= -0,02 - 0,00005 = -0,02

Perubahan bobot unit tersembunyi layar 2

∆w30

= 0,02 – 0,00002 = 0,02

∆w40 = 0,01 + 0,0001 = 0,01

∆w21 = 0,03 – 0,00002 =0,03

∆w22 = -0,01 +0,0001 = -0,01

∆w23 = 0,04 – 0,00002 = 0,04

∆w24

= 0,05 + 0,0001 = 0,05

lakukan iterasi sampai variabel prediktor menghasilkan unit output.

19

Page 91: CHAIRUN NISA-FST.pdf

Algoritma backpropagation dimulai dari pembentukan sebuah jaringan

dengan unit tersembunyi dan unit output serta menginisialisasi semua bobot

jaringan ke nilai random yang kecil. Untuk setiap contoh percobaan

menggunakan suatu jaringan untuk menghitung nilai error dari output

jaringan, menghitung gradient descent dan kemudian mengupdate semua

bobot pada jaringan. Proses ini dilakukan sampai menghasilkan klasifikasi

dengan model yang tepat.

3.6. Analisis Multiklasifikasi

Algoritma backpropagation pada jaringan saraf buatan lapisan banyak

dengan beberapa unit yang terhubung dapat dikembangkan untuk

permasalahan multiklasifikasi. Untuk lebih jelasnya modifikasi dari

algoritma backpropagation ini masalah multiklasifikasi dijelaskan dengan

contoh berikut.

Tabel 3.2. Contoh Data Sederhana

Variabel Prediktor Variabel Target

x1 x

2 y

1 1 a

1 0 b

0 1 c 0 0 d

Diberikan contoh permasalahan data seperti tabel 3.2. Multiklasifikasi

dimulai dengan membuat jaringan feedforward dengan unit input nin yaitu

x1 , x2. dan terdapat satu lapisan unit tersembunyi nhiden yaitu z1 , z2 , z3

dan

unit output yaitu a, b, c , d.

20

Page 92: CHAIRUN NISA-FST.pdf

a b c d

w40

1

w50

w60

w

70

w22

w21

z1

w23

w24

w26

w 25

w27

z

2

w

28

w31

w29

w

32

w33

z3

w10

1

w20

w

30

w

11

X1

w

12

w

13

w

14

w15

x2

w16

Gambar 3.3. Struktur jaringan dengan bilangan n-arry

Cara kerja dalam permasalahan multiklasifikasi memiliki kesamaan

dengan binary klasifikasi yaitu membuat struktur jaringan kemudian

merandom bobot jaringan dan menghitung unit output. Perbedaannya

terletak pada proses perhitungan output dimana untuk kasus multiklasifikasi

hasil output akan bekerja sesuai dengan proses klasifikasi, yaitu perhitungan

output pada kelas A diproses melalui pembelajaran algoritma

backpropagation dengan bilangan binary, jika hasil output masuk kedalam

klasifikasi kelas A, maka kelas tersebut mengandung nilai 1, Sedangkan

selain kelas A mengandung nilai 0. Keadaan ini dikerjakan sesuai dengan

proses pembelajaran multiklasifikasi yang berarti proses binary n kali.

21

Page 93: CHAIRUN NISA-FST.pdf

Cara kerja algoritma backpropagation pada jaringan saraf buatan

lapisan banyak dapat diringkas dalam bentuk flowchart sebagai berikut:

Start

70% Training Data

30% Test Data

1. Membuat

jaringan

feedforword

2. Randomize bobot

|wji|<0,05

Hitung n

3. o(net) = ∑ w ji x

i

i =0

+ θ j 0

4. σ = 1

1 + e −o ( net )

n

5. ok = σ (∑ i =0

w ji. xi + θ j 0 )

6. δ k ← ok (1 − ok )(t k − ok ) 7. δ h ← ok (1 − ok )∑ wkhδ k

8. ∆w ji = ηδ j x ji ; j= k,h

9. w ji ← w ji + ∆w ji

Tidak td=od

∀ d ∈ D

Page 94: CHAIRUN NISA-FST.pdf

Ya

Akurasi error

generalisasi

End

Gambar 3.4. Flowchart Algoritma Backpropagation

22

Page 95: CHAIRUN NISA-FST.pdf

BAB IV

STUDI NUMERIK DAN ANALISIS

Pada bab ini akan dijelaskan mengenai metode jaringan saraf buatan

lapisan banyak menggunakan algoritma backpropagation dalam menghasilkan

error minimum dalam mencari model yang tepat. Permasalahan yang akan dibahas

yaitu mengenai permasalahan klasifikasi pengenalan huruf alphabet.

4.1. Deskripsi Studi Numerik

Metode jaringan saraf buatan lapisan banyak dapat diaplikasikan pada

berbagai masalah tertentu di kehidupan sehari-hari. Untuk lebih memahami

proses pengklasifikasian pada metode jaringan saraf buatan lapisan banyak

dan nilai error, maka dilakukan studi numerik dengan mengambil

permasalahan yang sederhana. Data-data tersebut diperoleh dari machine

learning database [8]. Dalam proses kerjanya, data ini dipisahkan menjadi

dua bagian yaitu training data dan test data. Pembagian data ini dilakukan

secara random. Pada studi numerik disini penulis mengambil proporsi 70%

training data dan 30% test data.

Pengolahan data yang dilakukan dalam skripsi ini menggunakan

algoritma backpropagation dengan bantuan software SPSS 16 dalam

pencarian nilai errornya. Hal tersebut dilakukan karena asumsi dari data

yang digunakan belum diketahui. Untuk mendapatkan nilai error yang lebih

valid, percobaan tersebut dilakukan sebanyak sepuluh kali dengan sample

Page 96: CHAIRUN NISA-FST.pdf

random atau biasa dikenal dengan 10 fold cross validation (CV).

1

Page 97: CHAIRUN NISA-FST.pdf

4.2. Pengenalan Huruf Alphabet

Data pengenalan huruf alphabet merupakan salah satu data yang cocok

untuk mengetahui pengenalan suatu pola. Permasalahan yang akan diangkat

pada studi numerik adalah mencari nilai error minimum untuk

mengidentifikasi setiap huruf dengan tulisan tangan berwarna hitam-putih

yang terdapat dalam persegi panjang gambar digital dengan satuan pixel,

huruf tersebut akan diklasifikasikan ke salah satu dari 26 huruf alphabet.

Huruf-huruf tersebut berasal dari 20 bentuk huruf yang berbeda dan setiap

huruf dari berbagai karakter tersebut diacak secara random. Simulasi yang

dilakukan pada studi numerik ini menggunakan 20.000 baris data.

Cara penulisan diambil dari 20 bentuk yang berbeda menggunakan dua

cara teknik penulisan, yaitu stroke style merupakan penulisan huruf yang

dilakukan dengan cara mengambil dari titik atas sampai titik bawah yang

terdapat dalam 6 jenis cara penulisan yaitu simplex, duplex, triplex, complex,

dan ghotic. Kemudian 6 jenis huruf tersebut dimasukan ke dalam bentuk

tulisan seperti Block, Script, Italic, English, Italian dan German.

Setiap karakter huruf di proses pertama kali dengan merubah kedalam

koordinat vektor, dan pengidentifikasian dilakukan pada garis paling bawah

pada huruf. Segmen garis tersebut dirubah ukurannya menjadi koordinat

(x,y) yang berbentuk persegi panjang dengan satuan pixel. Ukuran pixel

akan menggambarkan titik-titik yang berwarna hitam dan putih. Posisi ”on”

pada satuan pixel yang berwarna hitam dan ”off” satuan pixel yang

berwarna putih. Setiap huruf akan diidentifikasikan pada pixel on berwarna

2

Page 98: CHAIRUN NISA-FST.pdf

hitam yang akan berbentuk huruf dan pixel tersebut berukuran persegi

panjang dengan ukuran 45 x 45 pixel.

Nilai error minimum diproses dalam pengidentifikasian huruf dari

20.000 baris data yang akan di karakteristik oleh 16 variabel prediktornya

kemudian akan diproses ke dalam klasifikasi 26 huruf alphabet yang

menjadi variabel target. Data pengenalan huruf tidak memuat data yang

tidak lengkap (missing value). Setiap huruf diklasifikasikan berdasarkan 17

variabel yang terdiri dari satu variabel target dan 16 variabel prediktor.

Variabel prediktor ini merupakan sebuah bilangan integer yang berkisar

antara 0 sampai 15. Variabel ini terdiri dari:

a. Variabel target: 26 huruf alphabet dari A sampai Z

b. Variabel prediktor:

1. V1 merupakan posisi horizontal dihitung dari sebelah kiri gambar dan

huruf berada di tengah box

2. V2 merupakan posisi vertikal dihitung dari bagian bawah pada box.

3. V3 merupakan panjang box.

4. V4 merupakan tinggi box.

5. V5 merupakan jumlah pixel on pada huruf dalam box.

6. V6 merupakan rataan nilai x pada pixel berwarna hitam “on”

7. V7 merupakan rataan nilai y pada pixel berwarna hitam “on”

8. V8 merupakan variansi rataan nilai x pada pixel berwarna hitam “on”

9. V9 merupakan variansi rataan nilai y pada pixel berwarna hitam “on”

3

Page 99: CHAIRUN NISA-FST.pdf

10. V10 merupakan jumlah rataan x dan y pada pixel berwarna

hitam“on”

11. V11 merupakan variansi rataan nilai x dikalikan dengan rataan y

pada pixel berwarna hitam “on”

12. V12 merupakan variansi rataan nilai y dikalikan dengan rataan x pada

pixel berwarna hitam “on”

13. V13 merupakan rataan posisi pixel ”on” dari kiri ke kanan.

14. V14 merupakan jumlah posisi vertikal pada rataan posisi pixel ”on”

dari kiri ke kanan.

15. V15 merupakan rataan posisi pixel ”on” dari bawah ke atas.

16. V16 merupakan jumlah posisi horizontal pada rataan posisi pixel

”on” dari bawah ke atas.

Untuk lebih jelasnya pengidentifikasian huruf alphabet menggunakan

16 variabel prediktor akan dijelaskan dengan contoh berikut.

Gambar 4.1. Contoh sampel yang merepresentasikan huruf ‘A dan

Pembagian region pada sample berikut nilai pixel aktifnya

Huruf A diprediksi berada dalam posisi horizontal yang dihitung dari

sebelah kiri gambar dan huruf berada di tengah box pada titik koordinat 13

pixel, posisi vertikal dihitung dari bagian bawah pada box di titik koordinat

22 pixel, Sedangkan tinggi box berada pada titik koordinat 22 pixel. Jika

4

Page 100: CHAIRUN NISA-FST.pdf

huruf A berada dalam karakteristik 16 variabel prediktor maka huruf

tersebut sudah memiliki error minimum dan berhasil dalam

mengklasifikasikan huruf alphabet.

Gambar 4.2 menjelaskan struktur hasil pengidentifikasian huruf

alphabet yaitu lapisan pertama terdapat 20.000 baris data yang digunakan

sebagai input, banyaknya unit pada dua lapisan tersembunyi yang digunakan

yaitu 40 unit pada lapisan kesatu dan 30 unit pada lapisan kedua, dan lapisan

terakhir merupakan target yang dihasilkan dalam pengenalan huruf alphabet

Gambar 4.2 Struktur JSB untuk Data Pengenalan Huruf Alphabet

5

Page 101: CHAIRUN NISA-FST.pdf

4.3. Analisis Numerik

Sebuah contoh percobaan mengenai data pengenalan huruf alphabet

menggambarkan perubahan nilai error dari algoritma backpropagation pada

jaringan saraf buatan lapisan banyak. Hasil output yang diperoleh dari

sepuluh percobaan yang dilakukan dengan parameter yaitu banyaknya unit

pada dua lapisan tersembunyi yang digunakan tetap yaitu 40 unit pada

lapisan kesatu dan 30 unit pada lapisan kedua, momentum(α ) = 0,9 dan

nilai learning rate (η ) yang digunakan berbeda-beda.

Dalam proses kerjanya, Terdapat 20.000 baris data pengenalan huruf

alphabet (Lampiran 2) dipisahkan menjadi dua bagian yaitu training data

dan test data. Tabel 4.1 merupakan hasil SPSS 16 case processing

summary dari data tersebut menjelaskan pembagian data dilakukan secara

random. Pada studi numerik disini penulis mengambil proporsi 70%

training data dan 30% test data sebagai berikut dibawah ini.

Tabel 4.1 Hasil SPSS Case Processing Summary

Training Data Test Data Percobaan

Persen N Persen N 1 70% 14009 30% 5990

2 70.1% 14012 29.9% 5988 3 69.8% 13964 30.2% 6036 4 70.1% 14015 29.9% 5984 5 69.4% 13874 30.6% 6126

6 70.2% 14043 29.8% 5957 7 70% 14007 30% 5993 8 70.1% 14023 29.9% 5976

9 70% 14008 30% 5992 10 70% 14002 30% 5997

Ket: N = Banyaknya data yang digunakan dalam proses studi numerik

6

Page 102: CHAIRUN NISA-FST.pdf

Percobaan SPSS mengeluarkan hasil berupa nilai relatif error dan

sum of squares error dari training data dan test data (Tabel 4.2). Relatif

error disebut juga percent incorrect predictions merupakan nilai error yang

dihasilkan pada percobaan tersebut (Lampiran 1). Sedangkan sum of squares

error merupakan banyaknya data yang mengandung nilai error pada

percobaan tersebut. Hasil eksperimen ini digunakan untuk melihat

kecenderungan nilai error yang dihasilkan pada percobaan data pengenalan

huruf alphabet. Jika banyaknya unit pada dua lapisan tersembunyi yang

digunakan tetap yaitu 40 unit pada lapisan kesatu dan 30 unit pada lapisan

kedua, momentum(α ) = 0,9 dan nilai learning rate (η ) yang digunakan

berbeda-beda.

Tabel 4.2. Hasil SPSS Model Summary.

Training data Test data

Percobaan

Banyak unit

tersembunyi

η

α Sum of

squares

error

Relatif

error Sum of

squares

error

Relatif

error

1 40 & 30 unit 0.1 0.9 2849 29,6% 1292 30,4%

2 40 & 30 unit 0.2 0.9 2671 27,3% 1270 30,7%

3 40 & 30 unit 0.3 0.9 2486 25,8% 1202 28,4%

4 40 & 30 unit 0.4 0.9 2592 26,1% 1195 27,8%

5 40 & 30 unit 0.5 0.9 2547 25,2% 1227 27,8%

6 40 & 30 unit 0.6 0.9 2325 24% 1106 26,1%

7 40 & 30 unit 0.7 0.9 2558 26,7% 1170 28,1%

8 40 & 30 unit 0.8 0.9 2709 27,3% 1210 28,7%

9 40 & 30 unit 0.9 0.9 2619 26,5% 1195 28,7%

10 40 & 30 unit 1 0.9 1924 26,5% 1184 27,5%

7

Page 103: CHAIRUN NISA-FST.pdf

Hasil Eksperimen pada jaringan saraf buatan lapisan banyak yang dilakukan

pada studi numerik data pengenalan huruf menggunakan 20.000 data. Hasil dari

sepuluh percobaan eksperimen terdapat satu percobaan yang memiliki nilai error

terbesar pada percobaan pertama yaitu pada training data relatif error sebesar

29,6% dan sum of squares error sebesar 2849 data dan pada test data sebesar

relatif error sebesar 30,4% dan sum of squares error 1292 data. Sedangkan

percobaan keenam memiliki nilai error terkecil yaitu pada training data relatif

error sebesar 24% dan sum of squares error 2325 data dan pada test data sebesar

relatif error sebesar 26,1% dan sum of squares error 1292 data.

Hasil dari sepuluh percobaan dengan parameter terdiri dari momentum,

jumlah unit dan learning rate yang berbeda menyebabkan nilai error cenderung

mengalami fluktuasi, keadaan ini disebabkan karena pada algoritma

backpropagation bobot awal dilakukan secara acak dan faktor parameter yang

mempengaruhi nilai disetiap iterasinya.

8

Page 104: CHAIRUN NISA-FST.pdf

BAB V

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Cara kerja algoritma backpropagation dalam menentukan bobot awal

yaitu dimulai dengan memilih bobot secara acak yang bernilai kecil antara

-0,05 sampai dengan 0,05. Dalam algoritmanya bobot ini diperbaiki dalam

setiap iterasinya hingga didapatkan jaringan saraf buatan yang terbaik

dimana nilai output jaringan akan sama atau hampir sama dengan nilai target

pada data.

Berdasarkan hasil percobaan, percobaan pertama memiliki nilai error

sebesar 29,6% pada training data dan 30,4% pada test data, nilai percobaan

ini merupakan nilai error terbesar dari sepuluh percobaan. Sedangkan

percobaan keenam memiliki nilai error sebesar 24% pada training data dan

26,1% pada test data, nilai ini merupakan nilai terkecil pada sepuluh

percobaan yang dilakukan.

Hasil dari sepuluh percobaan dengan parameter terdiri dari momentum,

jumlah unit dan learning rate yang berbeda menyebabkan nilai error

cenderung mengalami fluktuasi, keadaan ini disebabkan karena pada

algoritma backpropagation bobot awal dilakukan secara acak dan faktor

parameter yang mempengaruhi nilai disetiap iterasinya.

Page 105: CHAIRUN NISA-FST.pdf

1

Page 106: CHAIRUN NISA-FST.pdf

5.2. Saran

Algoritma backpropagation memiliki proses yang sangat panjang dan

aturan-aturannya yang tidak dapat diaplikasikan secara mudah. Oleh karena

itu, diharapkan skripsi selanjutnya dapat mengkaji lebih dalam mengenai

berbagai macam aplikasi pada jaringan saraf buatan dengan metode yang

berbeda sehingga dapat diterapkan kedalam dunia nyata, dalam hal ini

pembuatan aplikasi menyeluruh yang secara langsung dapat digunakan oleh

pengguna.(user).

2