Anda di halaman 1dari 12

Tugas Metode Penyelesaian Pada ANN (Artificial

Neural Networks)

Dibuat oleh :
Yudha Rachman Maulana
2011420018

Mata Kuliah Kecerdasan Buatan


Fakultas Teknik
Jurusan Teknik Informatika
Universitas Dr. Soetomo Surabaya

METODE PENYELESAIAN ANN (Artificial Neural


Networks) / JARINGAN SYARAF TIRUAN
1. Metode PERCEPTRON
Multi-Layer Perceptron adalah jaringan syaraf tiruan feed-forward yang terdiri dari sejumlah neuron yang
dihubungkan oleh bobot-bobot penghubung.
Neuron-neuron tersebut disusun dalam lapisan-lapisan yang terdiri dari satu lapisan input (input
layer), satu atau lebih lapisan tersembunyi (hidden layer), dan satu lapisan output (output layer). Lapisan
input menerima sinyal dari luar, kemudian melewatkannya ke lapisan tersembunyi pertama, yang akan
diteruskan sehingga akhirnya mencapai lapisan output.

Tidak ada batasan banyaknya hidden layer dan jumlah neuron pada setiap layernya. Setiap neuron pada
input layer terhubung dengan setiap neuron pada hidden layer. Demikian juga, setiap neuron pada
hidden layer terhubung ke setiap neuron pada output layer. Setiapneuron, kecuali pada layer input,
memiliki input tambahan yang disebut bias. Bilangan yang diperlihatkan pada gambar di atas digunakan
untuk mengidentifikasi setiap node pada masing-masing layer.
Kemudian, jaringan dilatih agar keluaran jaringan sesuai dengan pola pasangan masukan-target yang
telah ditentukan. Proses pelatihan adalah proses iteratif untuk mementukan bobot-bobot koneksi antara
neuron yang paling optimal. Kata back propagation yang sering dikaitkan pada MLP merujuk pada cara
bagaimana gradien perubahan bobot dihitung. Jaringan MLP yang sudah dilatih dengan baik akan
memberikan keluaran yang masuk akal jika diberi masukan yang serupa (tidak harus sama) dengan pola
yang dipakai dalam pelatihan.
Berikut ini adalah tahap-tahapan dalam penyelesaian masalah menggunakan metode Jaringan Syarat
Tiruan menggunakan Multilayer Percepteron.
1. Identifikasi masalah
Tahap ini merupakan identifikasi masalah yang hendak diselesaikan dengan jaringan syaraf tiruan,
meliputi identifikasi jenis dan jumlah masukan serta keluaran pada jaringan.
2. Menyiapkan training data set
Training data set merupakan kumpulan pasangan data masukan-keluaran berdasarkan pengetahuan yang
telah dikumpulkan sebelumnya. Banyaknya data set harus mencukupi dan dapat p p mewakili setiap
kondisi yang hendak diselesaikan. Terbatasnya data set akan menyebabkan akurasi jaringan menjadi
rendah.
3. Inisialisasi dan pembentukan jaringan
Tahap inisialisasi meliputi penentuan topologi, pemilihan fungsi aktivasi, dan pemilihan fungsi pelatihan
jaringan. Penentuan topologi adalah penentuan banyaknya hidden layer dan penentuan jumlah neuron
pada input layer, hidden layer dan output layer.
4. Simulasi jaringan

Simulasi jaringan dilakukan untuk melihat keluaran jaringan berdasarkan masukan, bobot neuron dan
fungsi aktivasinya.
5. Pelatihan / training jaringan
Sebelum melakukan pelatihan, dilakukan penentuan parameter training terlebih dahulu, seperti
penentuan jumlah iterasi, learning rate, error yang diijinkan. Setelah itu dilakukan pelatihan yang
merupakan proses iteratif untuk menentukan bobot koneksi antar neuron.
6. Menggunakan jaringan untuk pengenalan pola
Setelah pelatihan dilakukan, jaringan siap untuk digunakan untuk pengenalan pola. Kemampuan jaringan
dalam mengenal pola sangat bergantung dari bagaimana jaringan tersebut dilatih.
Jaringan syaraf tiruan cocok digunakan untuk menyelesaikan masalah yang tidak linier, yang tidak dapat
dimodelkan secara matematis. Jaringan cukup belajar dari pasangan data masukan dan target yang
diinginkan, setelah itu jaringan dapat mengenali pola yang mirip dengan masukan ketika dilakukan
pelatihan. Karena itu, kinerja jaringan pun ditentukan oleh banyaknya pasangan data set selama training.
Bila data training cukup banyak dan konsisten, akurasi jaringan akan tinggi, sebaliknya bila data training
tidak memadai, akurasi jaringan rendah. Selain data training, akurasi jaringan juga ditentukan oleh
pemilihan topologi yang tepat.
Proses pembentukan jaringan sangat melelahkan, dilakukan secara terus menerus hingga diperoleh
jaringan yang paling baik. Tetapi setelah jaringan yang optimal ditemukan, proses pengenalan pola dapat
dilakukan secara cepat, lebih cepat bila dibandingkan metoda lainnya.
Seperti yang telah disampaikan sebelumnya, bahwa metode MLP merupakan salah satu metode dari
Jaringan Syaraf Tirual (JST) sangat cocok untuk menyelesaikan masalah yang tidak linear dan non
deterministik. Contoh aplikasinya antara lain adalah:

Untuk speech recognition


Untuk image recognition
Untuk software mesin tranlasi

2. Metode HEBB RULE

Hebb memperkenalkan aturan pembelajaran/pelatihan pada JST

Pembelajaran dilakukan dgn memodifikasi kekuatan sinaptik (bobot) dgn cara


sedemikan hingga : jika 2 neuron saling berhubungan dalam waktu dan kondisi
yg sama (on) maka bobot dari kedua neuron tsb akan dinaikkan
JST satu lapisan yg dilatih dengan aturan Hebb disebut dgn jaringan Hebb
2.1 Algoritma
langkah 0 : Bobot dan bias diberi nilai awal :
wi = 0 (i = 1,2,,n) ; b = 0
langkah 1 : untuk tiap pasangan input dan target, s : t, lakukan langkah 2 sampai 4 :
langkah 2 : set aktivasi untuk unit input :
xi = si
(i = 1,2,,n)
langkah 3 : set aktivasi untuk unit output :
y=t
langkah 4 : perbaiki nilai bobot :
wi(baru) = wi(lama) +xiy
(i = 1,2,,n)
perbaiki nilai bias :
b(baru) = b(lama) + y
Biasanya perubahan bobot disimbolkan dgn w
w = xiy sehingga wi(baru) = wi(lama) + w
Catatan :
nilai bias dari unit input biasanya secara eksplisit tidak dipakai pada aturan Hebb.
Biasanya nilai bias selalu 1. Sebab tanpa nilai bias masalah tidak akan ada solusi.
2.2 Aplikasi
Contoh aplikasi JST Hebb untuk solusi fungsi logika AND
Contoh 2.1: jaringan Hebb untuk fungsi logika AND : input biner dan target biner
Input
target Perubahan bobot : w1 = x1y ; w2 =
x1
x2
B
t
x2y Perubahan bias : b = y
1
1
1
1
1
0
1
0
Hasil selengkapnya dapat dilihat dalam
0
1
1
0
tabel 2.1
0
0
1
0

x1

Input
x2

1
1
0
0

1
0
1
0

target
t

1
1
1
1

1
0
0
0

1
0
0
0

Perubahan bobot-bias
w1 w2
b
1
0
0
0

1
0
0
0

1
0
0
0

Bobot dan bias


w1
w2
B
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1

Tabel 2.1 Hasil perhitungan JST Hebb untuk solusi fungsi logika
AND dengan input biner dan target biner

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

Dari tabel 2.1, batas keputusan (decision boundary) dari fungsi logika AND
dinyatakan dengan persamaan garis pemisah (separating line) :
w1 x1 + w2 x2 + b =
0 1.x1 + 1.x2 + 1 = 0
x1 + x2 + 1 = 0 atau x2 = -x1 - 1
x2
0

x2 x1 1

x1

-1

x1 x2 1 0
(daerah tanpa diarsir)

-1

x1 x2 1 0
(Daerah diarsir)

Gambar 2.2 Batas keputusan fungsi AND : input dan target biner

Dapat dilihat dari tabel 2.1, garis batas keputusan dari input pertama sampai input
terakhir tidak mengalami perubahan yaitu : x2 = -x1 - 1 (gamb 2.2)
Setelah mendapat nilai bobot dan bias maka kita melakukan Testing thd pola
input dengan memakai bobot dan bias yg didapat dalam proses pelatihan
x1
1
1
0
0

w1 = 1 , w2 = 1, dan b = 1
input
Bobot
bias
x2
w1
w2
b
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
1

net b xi wi
i

3
2
2
1

output
y=f(net)
1
1
1
1

target
1
0
0
0

Tabel 2.2 Hasil Testing logika AND : input dan target biner

Tabel 2.2 menunjukkan bahwa hanya input yg pertama menghasilkan output(y)


yg sesuai dengan target
Hasil ini menunjukkan JST Hebb yg dilatih dg pasangan pola input biner dan
target biner tidak menghasilkan JST yg sempurna.
Contoh 2.2: Jaringan Hebb untuk fungsi AND : input biner dan target bipolar

Input
x2
1
0
1
0

x1
1
1
0
0
Input
x2

B
1
1
1
1

target
t
1
-1
-1
-1

Hasil selengkapnya dapat dilihat


dalam tabel 2.3

Bobot dan bias


w1
w2
b
y
b
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
-1
-1
-1
0
-1
0
1
0
1
1
-1
-1
0
-1
-1
0
0
-1
0
1
-1
-1
0
0
-1
0
0
-2
Tabel 2.3 Hasil perhitungan JST Hebb untuk solusi fungsi
logika AND dengan input biner dan target bipolar

x1
1
1
0
0

Target
T

Perubahan bobot : w1 = x1y ; w2 =


x2y Perubahan bias : b = y

Perubahan bobot-bias
w1 w2
b

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

w1 = 0 , w2 = 0, dan b = -2
input
Bobot
x2
w1
w2
1
0
0
0
0
0
1
0
0
0
0
0

bias
b
-2
-2
-2
-2

net b xi wi
i

-2
-2
-2
-2

output
y=f(net)
-1
-1
-1
-1

target
1
-1
-1
-1

Tabel 2.4 Hasil Testing logika AND : input biner dan target bipolar

Tabel 2.4 menunjukkan bahwa input yg pertama menghasilkan output(y) tidak


sesuai dengan target, sedang input kedua, ketiga, dan keempat sesuai dg target
Hasil ini menunjukkan JST Hebb yg dilatih dg pasangan pola input biner dan
target bipolar tidak menghasilkan JST yg sempurna
Contoh 2.3: Jaringan Hebb untuk fungsi AND : input bipolar dan target bipolar
Input
Target Perubahan bobot : w1 = x1y ; w2 =
x1
x2
b
T
x2y Perubahan bias : b = y
1
1
1
1
1
-1
1
-1
Hasil selengkapnya dapat dilihat
-1
1
1
-1
dalam tabel 2.4
-1
-1
1
-1

Input
x1
x2
1
1
-1
-1

1
-1
1
-1

Target
t

1
1
1
1

1
-1
-1
-1

1
-1
-1
-1

Perubahan bobot-bias
w1
w2
b
1
-1
1
1

1
1
-1
1

1
-1
-1
-1

Bobot dan bias


w1
w2
b
0
0
0
1
1
1
0
2
0
1
1
-1
2
2
-2

Tabel 2.4 Hasil perhitungan JST Hebb untuk solusi fungsi logika AND
dengan input bipolar dan target bipolar

Hasil Testing thd pola input dengan memakai bobot dan bias yg didapat dalam
proses pelatihan
w1 = 2 , w2 = 2, dan b = -2
Input
Bobot
x1
x2
w1
w2
1
1
2
2
1
-1
2
2
-1
1
2
2
-1
-1
2
2

bias
b
-2
-2
-2
-2

net b xi wi
i

2
-2
-2
-6

output
y=f(net)
1
-1
-1
-1

Target
1
-1
-1
-1

Tabel 2.5 Hasil Testing logika AND : input bipolar dan target bipolar

Tabel 2.5 menunjukkan bahwa semua input menghasilkan output(y) sesuai


dengan target
Hasil ini menunjukkan JST Hebb yg dilatih dg pasangan pola input bipolar
dan target bipolar menghasilkan JST yg sempurna
Dari proses pelatihan (tabel 2.4) maka batas keputusan (decision boundary)
dari fungsi logika AND yg dilatih dgn pola input bipolar dan target bipolar
dinyatakan dengan persamaan garis pemisah (separating line) :
w 1 x1 + w 2 x2 + b
= 0 2.x1 + 2.x2 + (2) = 0

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


x2 x1 1

x2

x1 x2 1 0
(Daerah diarsir)

x1 x2 1 0
(daerah tanpa diarsir)
x1

Gambar 2.2 Batas keputusan fungsi AND : input dan target bipolar

Dari contoh 2.1 dimana digunakan data biner (input biner dan target biner)
maka
tidak terjadi perbaikan bobot untuk pasangan pola pelatihan untuk unit input

on (xi = 1) dan target off (t = 0) maupun untuk unit input dan target
keduanya dalam keadaan off (xi = 0 dan t = 0) :
w = xiy
= 0 sehingga
wi(baru) = wi(lama) +
w wi(baru) =
wi(lama)
Sedangkan dalam contoh 2.3 digunakan data bipolar (input dan target bipolar)
maka terjadi perbaikan bobot untuk semua pasangan pola pelatihan baik unit
input on (xi = 1) dan target off (t = -1)
Contoh 2.4: Jaringan Hebb untuk mengklasifikasi pola input 2 dimensi dari 2
buah huruf yaitu : X dan O. Pola dari huruf tsb dinyatakan
dgn :
#...#
.#.#.
..#..
.#.#.
#...#
Pola 1

.###.

#...#
#...#
#...#
.###.
Pola 2

jawab :
Dalam hal ini kita menganggap jaringan hanya mempunyai 1 output yaitu
kelas X(untuk huruf X) dan kelas bukan X (untuk huruf O). Misal kelas X
kita beri nilai target 1 sedangkan kelas bukan X kita beri target 1. Sedangkan
setiap lambang # kita beri nilai 1 dan lambang . kita beri nilai 1. Vektor
input untuk pola 1 dan pola 2 menjadi :
x1
Pola x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 2 x13 x14 x15
X 1 -1 -1 -1 1 -1
1 -1
1 -1 -1 -1
1 -1
-1
O -1 1
1
1 -1 1
-1 -1 -1 1
1 -1
-1 -1
1
Pola x16 x17
X -1 1
O 1 -1

x18 x19 x20 x21 X22 x23 x24 X25 Target


-1 1 -1 1
-1 -1 -1
1
1
-1 -1 1 -1
1
1 1 -1
-1
Tabel 2.6 Vektor input dari kedua

Bobot mula-mula :
Wi = 0 dimana i = 1,2,,25

pola (X dan O)

Sedangkan perubahan bobot (wi) dan bias setelah diberikan input pola 1 dan 2 :
w1 w2
w15

X
O

1
1

-1
-1

w16

X
O

w3

-1
-1

w17

-1
-1

w4

-1 1
-1 1

w18 w19

1
1

w5

-1
1

1
1

w6

w7

w8

w9

-1
-1

1
1

-1
1

1
1

w20

-1
-1

w21 w22

1
1

-1
-1

w10

-1 -1
-1 -1

w23 w24

-1
-1

w11

w12

-1
1

w25

1
1

1
-1

-1
-1

w13

w14

1
1

-1
1

Tabel 2.7 Perubahan bobot wi dan bias b


Dan bobot akhir (wi) dan bias b dapat ditentukan dari penjumlahan kedua
perubahan bobot diatas sehingga :
w1 w2 w3 w4 w5 w6 w7 W8 w9 w10 w11 w12 w13 w14 w15
2 -2 -2 -2
2 -2 2
0
2 -2 -2
0
2
0 -2
w16 w17 w18 w19 w20 w21 w22 w23 w24
-2
2 0
2
-2
2
-2 -2 -2

w25 b
2
0

Tabel 2.8 Nilai bobot wi dan bias b akhir


Setelah mendapatkan bobot akhir (wi) dan bias b, selanjutnya dapat
dilakukan proses testing terhadap pola input. Pertama kita melakukan testing
thd pola 1
(huruf X) :

xi wi b 42 0 42
Selanjutnya kita melakukan testing thd pola 2 (huruf O) :

xi wi b 42 0 42
Hasil testing selengkapnya dapat dilihat dalam tabel 2.9 :
Input

Bobot

Bias

net b xi wi

Output

Target

x1
1
-1

x25
-1
-1

w1
2
2

w25
2
2

b
0
0

42
-42

y=f(net)
1
-1

Tabel 2.9 Hasil testing


Dari tabel 2.9 dapat dilihat hasil testing terhadap pola 1 (X) dan pola
2(O) menghasilkan output(y) yang sesuai dengan target.

1
-1

-1
-1

3. Metode DELTA RULE

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

input
b
x1

w1

output
y

wn

y_in

xn
Gambar 4.1 Arsitektur Adaline dgn satu unit output

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

Delta rule untuk adaline dengan satu unit output dirumuskan :

wi (t y _ in)xi ...................................................(4.1)
dimana,

selisih
n

y _ in xi wi

i 1

Sedangkan Delta rule untuk adaline dgn beberapa unit output dirumuskan :

wij (t j y _ in j )xi .................................................. (4.2)


dimana,
n

y _ in j xi wij
i1

b
x1

xn

w11
w1m

y1

wn1

ym

i = 1,2,n
j = 1,2,m

wnm
y_inj

tj

Gambar 4.2 Arsitektur Adaline dgn beberapa unit output

3.1 Adaline (adaptive linear neuron)


Diperkenalkan oleh Widrow dan Hoff (1960)
Jaringan adaline biasanya dilatih dengan metode Delta rule atau sering
disebut metode Least Mean Square (LMS)
Adaline adalah unit tunggal (neuron) yg menerima input dari beberapa
unit.
Arsitektur dari adaline

Beberapa adaline yg menerima sinyal dari unit input yg sama dapat


dipadukan dalam jaringan satu lapisan seperti dalam jaringan Perceptron.

Jika adaline dikombinasikan sedemikian hingga output dari beberapa


adaline menjadi input bagi adaline yg lain. Jaringan ini membentuk
jaringan banyak lapisan yg sering disebut dgn Madaline (many adaline).

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

selama kondisi berhenti bernilai salah, lakukan langkah 2 6

Langkah 2 : untuk setiap pasangan pola pelatihan bipolar s : t kerjakan


langkah 3 5
Langkah 3

set aktivasi unit input , i = 1,2,,n

xi = si
Langkah 4

tentukan input jaringan pada unit output :

y _ in b xi wi
i

Langkah 5

perbaiki nilai bias dan bobot :


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

Langkah 6 : tes kondisi berhenti. Jika perubahan bobot tertinggi yg terjadi


pada langkah 2 nilainya lebih kecil dari toleransi tertentu
maka hentikan jika tidak lanjutkan.

3.2 Madaline


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

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

Salah satu contoh madaline : jaringan 2 lapisan yg terdiri dari 1 lapisan


tersembunyi (terdiri dari 2 unit adaline) dan 1 lapisan output ( terdiri dari 1 unit
adaline).Lihat gambar 4.4
Hidden
layer
x1

w11
w12

b1

w21

x2

Output
layer
b3

z1
z2

v1

v2

w22 b2

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


output layer (1 unit adaline)

DAFTAR PUSTAKA

http://mail.stei.itb.ac.id/~soni/EL5133/Materi/05c-Neural%20Network-MLP.pdf
http://en.wikipedia.org/wiki/Multilayer_perceptron
http://igawidagda.files.wordpress.com/2012/02/diktat-jst.pdf

Anda mungkin juga menyukai