• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI 2.1 Jaringan Syaraf Tiruan - Implementasi Algoritma Backpropagation Jaringan Syaraf Tiruan untuk Mendeteksi Penyakit Tanaman Karet (Hevea brasiliensis)

N/A
N/A
Protected

Academic year: 2019

Membagikan "BAB 2 LANDASAN TEORI 2.1 Jaringan Syaraf Tiruan - Implementasi Algoritma Backpropagation Jaringan Syaraf Tiruan untuk Mendeteksi Penyakit Tanaman Karet (Hevea brasiliensis)"

Copied!
29
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Jaringan Syaraf Tiruan

Jaringan saraf tiruan bisa dibayangkan seperti otak buatan di dalam cerita-cerita fiksi ilmiah. Otak buatan ini dapat berpikir seperti manusia, dan juga sepandai manusia dalam menyimpulkan sesuatu dari potongan-potongan informasi yang diterima. Khayalan manusia tersebut mendorong para peneliti untuk mewujudkannya. Komputer diusahakan agar bisa berpikir sama seperti cara berpikir manusia. Caranya adalah dengan melakukan aktivitas-aktivitas yang terjadi di dalam sebuah jaringan saraf biologis [13].

Jaringan saraf biologis merupakan kumpulan sel-sel saraf (neuron). Neuron mempunyai tugas mengolah informasi yang bekerja berdasarkan impuls/sinyal yang diberikan pada neuron. Komponen-komponen utama neuron dikelompokkan menjadi tiga yaitu dendrit bertugas menerima informasi, badan sel (soma) berfungsi sebagai tempat pengolahan informasi, dan akson (neurit) berfungsi mengirimkan impuls-impluls ke sel saraf lainnya. Impuls dikirimkan melalui sinapsis-sinapsis. Sinapsis merupakan koneksi antara neuron yang satu dengan neuron lainnya.

(2)

2.1.1 Pengertian Jaringan Syaraf Tiruan

Jaringan syaraf tiruan (JST) adalah sistem pemroses informasi yang memiliki karakteristik mirip dengan jaringan syaraf biologi [15]. Menurut Kusumadewi [7],jaringan saraf tiruanadalah salah satu representasi buatan dari otak manusia yang selalu mencoba untuk mensimulasikan proses pembelajaran pada otak manusia tersebut.

JST merupakan suatu model kecerdasan yang diilhami dari struktur otak manusia dan kemudian diimplementasikan menggunakan program komputer yang mampu menyelesaikan sejumlah proses perhitungan selama proses pembelajaran berlangsung [2].

Jaringan syaraf tiruan akan mentransformasikan informasi dalam bentuk bobot dari satu neuron ke neuron yang lainnya, informasi tersebut akan diproses oleh suatu fungsi perambatan dan semua bobot input/masukan yang datang dijumlahkan kemudian dibandingkan dengan suatu nilai ambang tertentu melalui fungsi aktivasi setiap neuron. Bila nilai melampaui nilai ambang maka neuron akan diaktifkan dan informasi keluaran diteruskan ke neuron yang tersambung dengannya [8].

2.1.2 Komponen Jaringan Syaraf Tiruan

Dalam meniru sistem jaringan biologis maka sistem jaringan saraf tiruan memiliki 3 karakteristik utama, yaitu:

1. Arsitektur jaringan: merupakan pola keterhubungan antara neuron. Keterhubungan neuron-neuron inilah yang membentuk suatu jaringan.

2. Algoritma jaringan: merupakan metode untuk menentukan bobot hubungan. 3. Fungsi aktivasi: merupakan fungsi untuk menentukan nilai keluaran

(3)

Seperti halnya otak manusia, jaringan syaraf tiruan juga terdiri dari beberapa neuron [7]. Neuron adalah unit pemrosesan informasi yang menjadi dasar dalam pengoperasian jaringan syaraf tiruan [15]. Neuron terdiri dari tiga elemen pembentuk:

1. Himpunan unit-unit yang dihubungkan dengan jalur koneksi. Jalur-jalur tersebut memiliki bobot/kekuatan yang berbeda-beda. Bobot yang bernilai positif akan memperkuat sinyal dan yang bernilai negatif akan memperlemah sinyal yang dibawanya.

2. Suatu unit penjumlahan yang akan menjumlahkan input-input sinyal yang sudah dikalikan dengan bobotnya.

3. Fungsi aktivasi yang akan menentukan apakah sinyal dari input neuron akan diteruskan ke neuron lain atau tidak.

Neuron buatan (artificial neuron) dirancang untuk menirukan karakteristik neuron biologis [2].

Gambar 2.1 Neuron buatan sederhana Keterangan:

x1, x2, ..., xn = input berupa sinyal yang masuk kedalam sinapsis neuron

wk1, wk2, ... , wkn = bobot penghubung sinapsis yang menyimpan pola pembelajaran

(4)

∑ = blok penjumlahan

uk = output

Dari gambar 2.1 terlihat serangkaian input yang dilakukan pada suatu neuron buatan. Setiap sinyal dikalikan dengan bobot (weight), sebelum masuk ke blok penjumlahan yang kurang lebih bersesuaian dengan badan sel syaraf biologis, fungsi ini menjumlahkan semua input terboboti (perkalian semua input dengan bobotnya) secara aljabar dan menghasilkan sebuah output (keluaran). Dalam unit keluaran, variabel x dimasukkan ke dalam suatu fungsi f tertentu untuk menghasilkan keluaran akhir.

Gambar 2.2 Struktur neuron jaringan syaraf tiruan

Keterangan:

∑ = fungsi penjumlahan

Jaringan syaraf tiruan terdiri dari neuron-neuron, dan ada hubungan antara neuron-neuron tersebut. Neuron-neuron tersebut akan mentransformasikan informasi yang diterima melalui sambungan keluar menuju neuron-neuron yang lain. Pada jaringan syaraf, hubungan ini dikenal dengan nama bobot. Informasi tersebut disimpan pada suatu nilai tertentu pada bobot tersebut. Informasi (disebut dengan input) akan dikirimkan ke neuron dengan bobot kedatangan tertentu. Input ini akan diproses oleh suatu fungsi perambatan yang akan menjumlahkan nilai-nilai semua bobot yang

(5)

datang. Hasil penjumlahan ini kemudian akan dibandingkan dengan suatu nilai ambang (threshold) tertentu melalui fungsi aktivasi setiap neuron. Apabila input tersebut melewati suatu nilai ambang tertentu, maka neuron tersebut akan diaktifkan, tapi kalau tidak, maka neuron tersebut tidak akan diaktifkan. Apabila neuron tersebut diaktifkan, maka neuron tersebut akan mengirimkan output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya. Demikian seterusnya.

Pada jaringan syaraf, neuron-neuron akan dikumpulkan dalam lapisan-lapisan

(layer) yang disebut dengan lapisan neuron (neuron layers). Biasanya neuron-neuron

pada satu lapisan akan dihubungkan dengan lapisan-lapisan sebelum dan sesudahnya (kecuali lapisan input dan lapisan output). Informasi yang diberikan pada jaringan syaraf akan dirambatkan lapisan ke lapisan, mulai dari lapisan input sampai ke lapisan output melalui lapisan yang lainnya, yang sering dikenal dengan nama lapisan tersembunyi (hidden layer). Tergantung pada algoritma pembelajarannya [6].

Jaringan saraf tiruan bekerja berdasarkan asumsi awal yang diberikan sebagai titik tolak pembanding pada proses selanjutnya. Proses belajar pada jaringan saraf tiruan ditunjukkan dengan perubahan bobot penghubung antar-sel jaringan saraf [4].

Ciri utama yang dimiliki oleh jaringan saraf tiruan adalah kemampuannya untuk belajar. Belajar (learning) pada JST dapat diartikan sebagai proses penyesuaian parameter pembobot karena keluaran yang diinginkan tergantung pada harga pembobot interkoneksi yang dimiliki oleh sel. Proses belajar akan dihentikan jika nilai kesalahan atau error sudah dianggap cukup kecil untuk semua pasangan data latihan. Jaringan yang sedang melakukan proses belajar disebut berada dalam tahap latihan (training) [17].

Kemampuan JST untuk belajar dan memperbaiki dirinya telah menghasilkan banyak algoritma atau aturan belajar alternatif yang dapat digunakan, dari sekian banyak aturan yang ada, yang paling sering digunakan adalah aturan belajar

backpropagation yang termasuk kategori supervised learning yang dapat digunakan

(6)

2.1.3 Manfaat dan Aplikasi Jaringan Syaraf Tiruan

Dengan tingkat kemampuan yang sangat baik, beberapa aplikasi jaringan saraf tiruan sangat cocok untuk diterapkan pada:

1. Klasifikasi, memilih suatu input data ke dalam satu kategori tertentu yang ditetapkan

2. Asosiasi, menggambarkan suatu objek secara keseluruhan hanya dengan sebuah bagian dari objek lain

3. Self organizing, kemampuan untuk mengolah data-data input tanpa harus

memiliki data sebagai target

4. Optimasi, menemukan suatu jawaban atau solusi yang paling baik sehingga seringkali dengan meminimalisasikan suatu fungsi biaya (optimizer)

Berikut ini beberapa aplikasi jaringan syaraf tiruan [14]: 1. Detektor virus komputer

Jaringan saraf tiruan digunakan untuk mendeteksi dan mengoreksi virus komputer. Contohnya, program anti virus IBM yang selain mendeteksi juga mengeradikasi virus-virus baru secara otomatis. Virus baru yang ditemukan kemudian digunakan sebagai set pelatihan untuk versi antivirus berikutnya yang jauh lebih cerdas. Jaringan saraf yang digunakan adalah propagasi balik.

2. Pendeteksian kanker kulit

Jaringan saraf tiruan digunakan untuk mendiagnosis malignant melanoma. 3. Pengidentifikasian pola-pola data pasar saham

Jaringan saraf digunakan untuk memproses informasi dari basis data yang besar untuk mencari pola dan kecenderungan. Hasil pengolahan ini digunakan dalam keputusan investasi.

4. Pendeteksi bom

(7)

5. Pengontrol gerakan dan penglihatan robot

Jaringan saraf tiruan digunakan untuk koordinasi mata-tangan robot memegang objek melalui pelatihan robot.

6. Pendukung pengolahan bahasa alami

Pada pengenalan suara, jaringan saraf tiruan melalui pelatihan menyimpan informasi-informasi bagian-bagian pembicaraan untuk nantinya dicocokkan secara cepat dengan pola-pola input.

7. Pendukung Decision Support System (DSS)

Optimasi: jaringan saraf tiruan dapat digunakan untuk menentukan solusi optimal dari masalah-masalah yang melibatkan banyak parameter, misalnya masalah TSP (Traveling Salesperson Problem). Alokasi sumber daya: alokasi ditentukan berdasarkan data historis. Sistem hibrid: sistem yang melakukan analisis statistikal standar pada kumpulan data yang telah diseleksi oleh jaringan saraf tiruan. Basis data cerdas (intelligent databases): tujuan dari basis data cerdas adalah untuk menangani informasi dan pembuatan keputusan dengan cara yang lebih mirip manusia. Jaringan saraf berperan penting dalam penemuan pola-pola data, menemukan pendekatan yang cocok, dan perkiraan terbaik.

2.1.4 Arsitektur Jaringan Syaraf Tiruan

Penyusunan neuron pada lapisan-lapisan dan pola koneksinya dalam dan antarlapisan disebut arsitektur jaringan [9]. Dalam menentukan jumlah dari lapisan, unit input tidak terhitung sebagai lapisan karena unit tersebut tidak melakukan proses komputasi. Atau bisa dikatakan bahwa jumlah lapisan pada jaringan ditentukan berdasarkan lapisan yang berisikan bobot antar koneksi dari kumpulan neuron-neuron.

Beberapa arsitektur jaringan syaraf tiruan, yaitu: 1. Jaringan dengan lapisan tunggal (single layer network)

(8)

akan mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi. Pada Gambar 2.3, neuron-neuron pada lapisan input terhubung langsung dengan neuron-neuron pada lapisan output.

Gambar 2.3 Arsitektur jaringan syaraf tiruan dengan lapisan tunggal

Keterangan:

X1, Xi,..., Xn = neuron-neuron pada lapisan input Y1, Yj,..., Ym = neuron-neuron pada lapisan output w11,..., wnm = bobot dari lapisan input ke lapisan output

2. Jaringan dengan banyak lapisan (multilayer network)

Jaringan dengan banyak lapisan memiliki satu atau lebih lapisan yang terletak di antara lapisan input dan lapisan output. Lapisan tersebut disebut lapisan tersembunyi (hidden layer). Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih sulit daripada lapisan dengan lapisan

W1m W11

Wi1

Wn1

W1j

Wij

Wnj

Wim

Wnm

X1

Xi

Xn

Y1

Yj

(9)

tunggal, tentu saja dengan pembelajaran yang lebih rumit. Namun demikian, pada banyak kasus, pembelajaran pada jaringan dengan banyak lapisan ini lebih sukses dalam menyelesaikan masalah.

Gambar 2.4 Arsitektur jaringan syaraf tiruan dengan banyak lapisan

Keterangan:

X1, Xi,..., Xn = neuron-neuron pada lapisan input

Z1, Zj,..., Zp = neuron-neuron pada lapisan tersembunyi Y1, Yk,..., Ym = neuron-neuron pada lapisan output

v11,..., vnp = bobot dari lapisan input ke lapisan tersembunyi w11,..., wpm = bobot dari lapisan tersembunyi ke lapisan output

3. Jaringan dengan lapisan kompetitif (competitive layer network)

Hubungan antarneuron pada lapisan kompetitif ini tidak diperlihatkan pada diagram arsitektur seperti jaringan yang lain. Pada jaringan kompetitif neuron

(10)

saling berkompetisi sehingga hanya satu diantaranya yang aktif, prinsip ini disebut winner-takes-all atau yang menanglah yang mengambil bagiannya.

Gambar 2.5 Arsitektur jaringan syaraf tiruan dengan lapisan kompetitif Keterangan:

A1, Ai,Aj, Am = neuron-neuron

-𝜀𝜀 = bobot antara neuron yang satu dengan neuron yang lainnya 1 = bobot pada neuron ke neuron itu sendiri

2.1.5 Fungsi Aktivasi Jaringan Syaraf Tiruan

Dalam jaringan syaraf tiruan, fungsi aktivasi dipakai untuk menentukan keluaran suatu neuron. Ada beberapa fungsi aktivasi yang sering digunakan dalam jaringan syaraf tiruan, antara lain:

1. Fungsi Undak Biner (Hard Limit)

Jaringan dengan lapisan tunggal sering menggunakan fungsi undak (step

function) untuk mengkonversikan input dari suatu variabel yang bernilai kontinu

ke suatu output biner (0 atau 1).

A1 1

Am 1

Aj Ai

-ɛ -ɛ

1 1

(11)

Fungsi undak biner (hard limit) dirumuskan sebagai:

Gambar 2.6 Fungsi aktivasi: Undak Biner (hard limit)

2. Fungsi Undak Biner (Threshold)

Fungsi undak biner dengan menggunakan nilai ambang sering juga disebut dengan nama fungsi nilai ambang (threshold) atau fungsi Heaviside.

Fungsi undak biner (dengan nilai ambang 𝜃𝜃) dirumuskan sebagai:

Gambar 2.7 Fungsi aktivasi: Undak Biner (threshold)

3. Fungsi Bipolar (Symetric Hard Limit)

Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner, hanya saja output yang dihasilkan berupa 1, 0, atau –1.

0 1 y

x θ

y = 0, jika x<𝜃𝜃 1, jika x≥ 𝜃𝜃 y =

0, jika x≤ 0 1, jika x>0

0 1 y

(12)

Fungsi Symetric Hard Limit dirumuskan sebagai:

Gambar 2.8 Fungsi aktivasi: Bipolar (symetric hard limit)

4. Fungsi Bipolar (dengan threshold)

Fungsi bipolar sebenarnya hampir sama dengan fungsi undak biner dengan

threshold, hanya saja output yang dihasilkan berupa 1, 0 atau –1.

Fungsi bipolar (dengan nilai ambang𝜃𝜃) dirumuskan sebagai:

Gambar 2.9 Fungsi aktivasi: Bipolar (threshold)

5. Fungsi Linear (identitas)

Fungsi linear memiliki nilai output yang sama dengan nilai inputnya.

0 1 y

x

- 1

0 1 y

x

- 1 θ

y = 0, jika x= 0 1, jika x>0

-1, jika x< 0

(13)

Fungsi linear dirumuskan sebagai: y = x

Gambar 2.10 Fungsi aktivasi: Linear (identitas)

6. FungsiSaturating Linear

Fungsi ini akan bernilai 0 jika inputnya kurang dari –½, dan akan bernilai 1 jika inputnya lebih dari ½. Sedangkan jika nilai input terletak antara –½ dan ½, maka outpunya akan bernilai sama dengan nilai input ditambah ½.

Fungsi saturating linear dirumuskan sebagai:

Gambar 2.11 Fungsi aktivasi: Saturating Linear

0 1 y

x

- 0,5 0,5

y = x+0,5; jika 0,5x0,5 1; jika x≥ 0,5

0; jika x≤ −0,5 0 1 y

x

- 1

(14)

7. Fungsi Symetric Saturating Linear

Fungsi ini akan bernilai -1 jika inputnya kurang dari –1, dan akan bernilai 1 jika inputnya lebih dari 1. Sedangkan jika nilai input terletak antara –1 dan 1, maka outpunya akan bernilai sama dengan nilai inputnya.

Fungsi symetric saturating linear dirumuskan sebagai:

Gambar 2.12 Fungsi aktivasi: Symetric Saturating Linear

8. Fungsi Sigmoid Biner

Fungsi ini digunakan untuk jaringan syaraf yang dilatih dengan menggunakan metode backpropagation. Fungsi sigmoid biner memiliki nilai pada range 0 sampai 1. Oleh karena itu, fungsi ini sering digunakan untuk jaringan syaraf yang membutuhkan nilai output yang terletak pada interval 0 sampai 1. Namun, fungsi ini bisa juga digunakan oleh jaringan syaraf yang nilai outputnya 0 atau 1.

Fungsi sigmoid biner dirumuskan sebagai: y = 𝑓𝑓(𝑥𝑥)= 1

1+ 𝑒𝑒−𝑥𝑥

dengan 𝑓𝑓′(𝑥𝑥) = 𝑓𝑓(𝑥𝑥)[1− 𝑓𝑓(𝑥𝑥)] y = x; jika 1≤x≤1

1; jika x≥1

-1; jika x≤ −1

1

0 1 x

y

- 1

(15)

Gambar 2.13 Fungsi aktivasi: Sigmoid Biner

9. Fungsi Sigmoid Bipolar

Fungsi sigmoid bipolar hampir sama dengan fungsi sigmoid biner, hanya saja output dari fungsi ini memiliki range antara 1 sampai –1.

Fungsi sigmoid bipolar dirumuskan sebagai:

y = 𝑓𝑓(𝑥𝑥)= 2

1 + 𝑒𝑒−𝑥𝑥 − 1

dengan 𝑓𝑓′(𝑥𝑥) =[1+𝑓𝑓(𝑥𝑥)][1−𝑓𝑓(𝑥𝑥)]

2

Gambar 2.14 Fungsi aktivasi: Sigmoid Bipolar

10.Fungsi Hyperbolic Tangent

Memiliki range antara –1 sampai 1. Untuk fungsi hyperbolic tangent, dirumuskan sebagai:

y = 𝑓𝑓(𝑥𝑥)= 𝑒𝑒𝑥𝑥 −𝑒𝑒−𝑥𝑥

𝑒𝑒𝑥𝑥 + 𝑒𝑒−𝑥𝑥atauy = 𝑓𝑓(𝑥𝑥)=

1 −𝑒𝑒−𝑥𝑥 1 + 𝑒𝑒−𝑥𝑥

(16)

2.1.6 Bias dan Threshold

Kadang-kadang dalam jaringan ditambahkan sebuah unit masukan yang nilainya selalu sama dengan 1. Unit yang sedemikian disebut bias. Bias dapat dipandang sebagai input yang nilainya sama dengan 1. Bias berfungsi mengubah nilai

thresholdmenjadi sama dengan 0 [15].

2.1.7 Pelatihan Jaringan Syaraf Tiruan

Sebelum digunakan, JST dilatih untuk mengenal fungsi pemetaan. Pelatihan merupakan proses belajar JST yang dilakukan dengan menyesuaikan bobot interkoneksi jaringan [10]. Proses belajar JST diklasifikasikan menjadi dua:

1. Belajar dengan pengawasan (supervised learning)

Jaringan memberikan tanggapan dengan mendapatkan target tertentu. Sebelum jaringan mengubah sendiri bobotnya untuk mencapai target, bobot interkoneksi diinisialisasi. Proses belajar JST dengan pengawasan adalah proses belajar dengan memberikan latihan untuk mencapai suatu target keluaran yang ditentukan. JST mendapatkan latihan untuk mengenal pola-pola tertentu. Dengan memberikan target keluaran, perubahan masukan akan diadaptasi oleh keluaran dengan mengubah bobot interkoneksinya mengikuti algoritma belajar yang ditentukan. Set pelatihan dipilih dari fungsi keluaran maksimum setiap keadaan parameter yang diubah. Dengan menginisialisasi bobot tiap sel, JST akan mencari errorterkecil, sehingga bentuk fungsi keluaran mendekati target yang diinginkan. Berdasarkan proses belajar yang dilakukan, kita perlu memperhatikan beberapa hal dalam menyusun set pelatihan, yaitu:

1) Pemberian urutan pola yang akan diajarkan 2) Kriteria perhitungan error

(17)

4) Jumlah iterasi yang harus dilalui 5) Inisialisasi bobot dan parameter awal

Pelatihan dilakukan dengan memberikan pasangan pola-pola masukan dan keluaran. Salah satu contoh JST yang menggunakan pembelajaran dengan pengawasan adalah jaringan bakpropagation.

2. Belajar tanpa pengawasan (unsupervised learning)

Pada belajar tanpa pengawasan jaringan tidak mendapatkan target, sehingga JST mengatur bobot interkoneksi sendiri. JST akan mengklasifikasikan contoh pola-pola masukan yang tersedia ke dalam kelompok yang berbeda-beda. Menurut [6], selama proses pembelajaran, nilai bobot disusun dalam suatu range tertentu tergantung pada nilai input yang diberikan. Tujuan pembelajaran ini adalah mengelompokkan unit-unit yang hampir sama dalam suatu area tertentu.

Hal yang ingin dicapai dengan melatih/mengajari jaringan saraf tiruan adalah untuk mencapai keseimbangan antara kemampuan memorisasi dan generalisasi. Yang dimaksud kemampuan memorisasi adalah kemampuan untuk memanggil kembali secara sempurna sebuah pola yang telah dipelajari. Kemampuan generalisasi adalah kemampuan jaringan saraf tiruan untuk menghasilkan respon yang bisa diterima terhadap pola-pola input yang serupa (namun tidak identik) dengan pola-pola yang sebelumnya telah dipelajari. Hal ini sangat bermanfaat bila pada suatu saat ke dalam jaringan saraf tiruan itu diinputkan informasi baru yang belum pernah dipelajari, maka jaringan saraf tiruan itu masih tetap dapat memberikan tanggapan yang baik, memberikan keluaran yang paling mendekati [14].

2.1.8 Aturan Pembelajaran Jaringan Syaraf Tiruan

(18)

1. Aturan Pengkoreksian Error

Prinsip dasar dari aturan pembelajaran pengkoreksian erroradalah memodifikasi bobot-bobot koneksi dengan menggunakan sinyal kesalahan (output target-output aktual) untuk mengurangi kesalahan secara bertahap.

2. Aturan Pembelajaran Boltzmann

Aturan pembelajaran boltzmann juga dapat dikatakan sebagai kasus lain dari pembelajaran pengkoreksian error. Bedanya, kesalahan (error) diukur bukan sebagai perbedaan langsung antara output aktual dengan output yang diinginkan, melainkan perbedaan antara korelasi output-output dari 2 buah neuron dalam kondisi operasi clamped dan free-running. Pada clamped, neuron-neuron visibel ditahan pada keadaan-keadaan tertentu. Pada free-running, baik neuron visibel maupun hiddendapat beroperasi dengan bebas.

3. Aturan Hebbian

Kekuatan koneksi antara 2 buah neuron akan meningkat jika kedua neuron memiliki tingkah laku yang sama (keduanya memiliki aktivasi positif atau keduanya memiliki aktivasi negatif).

4. Aturan Pembelajaran Kompetitif

Unit-unit output pada aturan pembelajaran kompetitif ini harus saling bersaing untuk beraktivasi. Jadi hanya satu unit ouput yang aktif pada satu waktu

(winner-take-all). Bobot-bobotnya diatur setelah satu node pemenang terpilih.

2.2Multilayer Perceptron

Perceptron merupakan algoritma pembelajaran yang menjadi dasar algoritma

backpropagation. Arsitektur perceptron belajar mengenali pola dengan metode

(19)

Gambar 2.15 Arsitektur jaringan perceptron

Keterangan:

x1, x2,..., xn = sinyal-sinyal input w1, w2,..., wn = bobot-bobot sinapsis

∑ xw + b = fungsi penjumlahan

F(y_in) = fungsi aktivasi

y = sinyal output

(20)

Gambar 2.16 Arsitektur jaringan lapis banyak (multilayer)

Keterangan:

X1, Xi,..., Xn = neuron-neuron pada lapisan input

Z1, Zj,..., Zp = neuron-neuron pada lapisan tersembunyi Y1, Yk,..., Ym = neuron-neuron pada lapisan output

v11,..., vnp = bobot dari lapisan input ke lapisan tersembunyi w11,..., wpm = bobot dari lapisan tersembunyi ke lapisan output

Perceptron multilapis adalah jaringan saraf tiruan umpan maju (feedforward

neural network) dan merupakan jaringan yang pembelajarannya terawasi sehingga ke

dalam jaringan perlu dimasukkan contoh-contoh respon untuk dikenali. Seperti halnya teknik jaringan saraf lainnya yang memiliki jenis pembelajaran terawasi, perceptron multilapis belajar mentransformasikan data input sedemikian rupa sehingga menghasilkan keluaran/ respon seperti yang diingini [13].

Jaringan dengan perceptron lapis banyak dengan metode back-propogation

(Backpropogation Multi Layer Perceptron) merupakan satu jenis JST yang sering

(21)

2.3 Backpropagation

Metode backpropagation (propagasi balik) merupakan metode pembelajaran lanjut yang dikembangkan dari aturan perceptron. Hal yang ditiru dari perceptron adalah tahapan dalam algoritma jaringan. Metode ini terdiri dari dua tahap, yaitu tahap

feedforward yang diambil dari perceptron dan tahap backpropagationerror [13].

Arsitektur jaringan backpropagation merupakan jaringan lapis banyak (multilayer).

Backpropagation merupakan algoritma pembelajaran yang terawasi dan

biasanya digunakan oleh perceptron dengan banyak lapisan untuk mengubah bobot-bobot yang terhubung dengan neuron-neuron yang ada pada lapisan tersembunyinya. Algoritma backpropagation menggunakan error output untuk mengubah nilai bobot-bobotnya dalam arah mundur (backward). Untuk mendapatkan error ini, tahap perambatan maju (forward propagation) harus dikerjakan terlebih dahulu [6]. Menurut Haykin [3], backpropagation adalah sebuah teknik spesifik untuk implementasi penurunan gradien bobot pada multilayer perceptron.

Training sebuah jaringan dengan backpropagation meliputi tahap berikut:

feedforward untuk training pola input, backpropagation untuk asosiasi error, dan

(22)

2.3.1 Arsitektur Jaringan Backpropagation

Gambar 2.17 Arsitektur Jaringan Backpropagation dengan Satu Lapisan Tersembunyi

Keterangan:

X1, Xi..., Xn = unit input

Z1, Zj...,Zp = unit lapisan tersembunyi (hidden layer) Y1, Yk...,Ym = unit output

v11,...,vnp = bobot dari lapisan input ke lapisan tersembunyi W11,...,wpm = bobot dari lapisan tersembunyi ke lapisan output

1 = bias

v01,v0j,...,v0p = bias dari lapisan input ke lapisan tersembunyi w01, w0k,...,w0m = bias dari lapisan tersembunyi ke lapisan output

Selama feedforward setiap unit input menerima sinyal input dan mengirimkan sinyal tersebut ke tiap unit tersembunyi. Tiap unit tersembunyi kemudian menghitung aktivasinya dan mengirim sinyal tersebut (zj) ke tiap unit output. Tiap unit output (Yk) menghitung aktivasinya (yk) untuk membentuk respon dari net untuk pola input yang diberikan.

Selama training, tiap unit output membandingkan aktivasi yang telah dihitung yk dengan nilai target tkuntuk medeterminasi asosiasi eror untuk pola dan unit tersebut.

(23)

Berdasarkan eror ini, faktor δk(k = 1,...,m) dihitung. δkdigunakan untuk distribusi erortersebut pada unit output Ykkembali ke semua unit pada lapisan sebelumnya (unit-unit tersembunyi yang terhubung ke Yk). Ini juga digunakan (nantinya) untuk

meng-updatebobot-bobot diantara lapisan output dan lapisan tersembunyi. Dengan cara yang

sama, faktor δj (j = 1,...,p) dihitung untuk tiap unit tersembunyi Zj. Tidak perlu merambatkan eror kembali ke lapisan input, tetapi δj digunakan untuk meng-

update-bobot-bobot diantara lapisan tersembunyi dan lapisan input.

Setelah semua faktor δ dideterminasi, bobot-bobot untuk semua lapisan disesuaikan secara simultan. Penyesuaian ke bobot wjk (dari unit tersembunyi Zjke unit ouput Yk) didasarkan pada faktor δk dan aktivasi zj dari unit tersembunyi. Penyesuaian bobot ke vij(dari unit input Xi ke unit tersembunyi Zj) didasarkan pada

faktor δj dan aktivasi xidari unit input.

2.3.2 Fungsi Aktivasi

Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi syarat yaitu: kontinu, terdiferensial dengan mudah, dan merupakan fungsi yang tidak turun. Salah satu fungsi yang memenuhi syarat tersebut sehingga sering dipakai adalah fungsi sigmoid bipolar yang memiliki range (-1,1).

y = 𝑓𝑓(𝑥𝑥)= 2

1 + 𝑒𝑒−𝑥𝑥 − 1

dengan 𝑓𝑓′(𝑥𝑥) =[1+𝑓𝑓(𝑥𝑥)][1−𝑓𝑓(𝑥𝑥)]

2

Fungsi sigmoid memiliki nilai maksimum = 1. Maka untuk pola yang targetnya lebih besar dari 1, pola masukan dan keluaran harus terlebih dahulu ditransformasi sehingga semua polanya memiliki range yang sama seperti fungsi sigmoid yang dipakai. Alternatif lain adalah menggunakan fungsi aktivasi sigmoid hanya pada layar yang bukan layar keluaran. Pada layar keluaran fungsi aktivasi yang dipakai adalah fungsi identitas:

(24)

Gambar 2.18 Fungsi aktivasi sigmoid bipolar

2.3.3 Algoritma Backpropagation

Algoritma pelatihan jaringan backpropagation:

1. Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil

2. Langkah 1 :Selama kondisi berhenti tidak terpenuhi (bernilai salah), kerjakan langkah-langkah berikut:

a. Untuk tiap-tiap pasangan pelatihan, lakukan:

Feedforward:

1) Tiap-tiap unit input (Xi, i = 1,2,3,…,n) menerima sinyal xi dan meneruskan sinyal tersebut ke semua unit pada lapisan yang ada diatasnya (lapisan tersembunyi).

2) Tiap-tiap unit tersembunyi (Zj, j = 1,2,3,..,p) menjumlahkan sinyal-sinyal input berbobot:

𝑧𝑧_𝑖𝑖𝑖𝑖𝑗𝑗= 𝑣𝑣0𝑗𝑗+ ∑𝑖𝑖𝑖𝑖=1𝑥𝑥𝑖𝑖𝑣𝑣𝑖𝑖𝑗𝑗 ...(2.1)

dimana v0 =bias dan v = bobot.

Gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

zj = 𝑓𝑓(𝑧𝑧_𝑖𝑖𝑖𝑖𝑗𝑗) ...(2.2)

dan kirimkan sinyal tersebut ke semua unit lapisan atasnya (unit-unit output).

(25)

𝑦𝑦_𝑖𝑖𝑖𝑖𝑘𝑘 = 𝑥𝑥0𝑘𝑘+ ∑𝑝𝑝𝑗𝑗=1𝑧𝑧𝑗𝑗𝑥𝑥𝑗𝑗𝑘𝑘 (2.3)

dimana w0 = bias dan v = bobot.

Gunakan fungsi aktivasi untuk menghitung sinyal outputnya:

yk = 𝑓𝑓(𝑦𝑦_𝑖𝑖𝑖𝑖𝑘𝑘) (2.4) Dan kirimkan sinyal tersebut ke semua unit di lapisan sisanya (unit-unit output).

b. Untuk tiap-tiap pasangan pelatihan, lakukan:

Backpropagation:

1. Tiap-tiap unit output (Yk,k = 1,2,3,…,m) menerima target pola yang berhubungan dengan pola input pembelajaran, hitung informasi erornya

δk = (tk – Yk) 𝑓𝑓’ (𝑦𝑦_𝑖𝑖𝑖𝑖𝑘𝑘) ...(2.5) dimana t = target output.

Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperoleh nilai wjk):

Δwjk = αδkzj ...(2.6) dimana α = learning rate

Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai w0k):

Δw0k = αδk...(2.7)

Kirimkanδkini ke unit-unit yang ada di lapisan bawahnya.

2. Tiap-tiap unit tersembunyi (Zj, j=1,2,3,…,p) menjumlahkandelta inputnya (dari unit-unit yang berada pada lapisan diatasnya):

𝛿𝛿_𝑖𝑖𝑖𝑖𝑗𝑗= ∑𝑚𝑚𝑘𝑘=1𝛿𝛿𝑘𝑘𝑥𝑥𝑗𝑗𝑘𝑘 ...(2.8)

Kalikan nilai ini dengan turunan dari fungsi aktivasinya untuk menghitung informasi eror:

(26)

Kemudian hitung koreksi bobot (yang nantinya akan digunakan untuk memperbaiki nilai vij):

Δvij = αδjxi ...(2.10)

Hitung juga koreksi bias (yang nantinya akan digunakan untuk memperbaiki nilai vij)

Δv0j = αδj ...(2.11)

c. Perbaharui bobot dan biasnya:

1. Tiap-tiap unit output (Yk, k=1,2,3,…m) memperbaiki bias dan bobotnya (j = 0,1,2,…,p):

wjk(baru) = wjk(lama) + Δwjk (bobot) ... (2.12) w0k(baru) = w0k(lama) + Δw0k(bias)... (2.13)

2. Tiap-tiap unit tersembunyi (Zj, j=1,2,3,…p) memperbaiki bias dan bobotnya (i = 0,1,2,…,n):

vij(baru) = vij(lama) + Δvij (bobot) ...(2.14) v0j(baru) = v0j(lama) + Δv0j(bias) ...(2.15)

d. Tes kondisi berhenti.

Setelah algoritma pelatihan jaringan backpropagationdilakukan dan diperoleh output yang paling mendekati target maka bobot dan bias akhir dari hasil pelatihan disimpan kemudian dilakukan proses pengujian dengan algoritma pengujian. Pada algoritma pengujian yang digunakan hanyalah tahap umpan maju (feedforward) saja.

Algoritma pengujian jaringan backpropagation:

0. Langkah 0: Inisialisasi bobot. Bobot ini diambil dari bobot-bobot terakhir yang diperoleh dari algoritma pelatihan.

1. Langkah 1: untuk setiap vektor input, lakukan langkah ke-2 sampai ke-4.

(27)

3. Langkah 3: Setiap unit di lapisan tersembunyi zj(dari unit ke-1 sampai unit ke-p; i=1,...,p) menghitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input xi. Sinyal output dari lapisan tersembunyi kemudian dikirim ke semua unit pada lapisan di atasnya.

𝑧𝑧_𝑖𝑖𝑖𝑖𝑗𝑗= 𝑣𝑣0𝑗𝑗+ ∑𝑖𝑖𝑗𝑗=1𝑥𝑥𝑖𝑖𝑣𝑣𝑖𝑖𝑗𝑗

Zj = 𝑓𝑓(𝑧𝑧_𝑖𝑖𝑖𝑖𝑗𝑗)

4. Langkah 4: Setiap unit output yk(dari unit ke-1 sampai unit ke-m; j=1,...,p; k=1,...,m) menghitung sinyal outputnya dengan menerapkan fungsi aktivasi terhadap penjumlahan sinyal-sinyal input bagi lapisan ini, yaitu sinyal-sinyal input zjdari lapisan tersembunyi.

𝑦𝑦_𝑖𝑖𝑖𝑖𝑘𝑘 = 𝑥𝑥0𝑘𝑘+ ∑𝑝𝑝𝑗𝑗=1𝑧𝑧𝑗𝑗𝑥𝑥𝑗𝑗𝑘𝑘

Yk = 𝑓𝑓(𝑦𝑦_𝑖𝑖𝑖𝑖𝑘𝑘)

5. Langkah 5:Menentukan nilai keluaran berdasarkan threshold(nilai ambang) yang telah ditetapkan (merupakan langkah tambahan). Dalam penelitian ini digunakan thresholddan output:

if Yk< -0,5 then Yk= -1,

elseif-0,5≤Yk≤ 0,5 then Yk= 0, else Yk= 1

Siklus dari satu kali pola pelatihan disebut epoch. Dalam penelitian bayaknya

epochmaksimal pada jaringan bisa diatur sebagai batasan pelatihan dimana pelatihan

jaringan boleh dihentikan.

Keterangan:

1. Xi (i = 1,2,...,n) : unit input

2. xi : sinyal input

3. Zj (j = 1,2,...,p) : unit tersembunyi

4. zj : sinyal dari lapisan tersembunyi ke lapisan output 5. Yk (k=1,2,...,m) : unit output

(28)

7. voj : bias dari lapisan input ke lapisan tersembunyi 8. w0k : bias dari lapisan tersembunyi ke lapisan output

9. tk :target output

10.δk : informasi error yang diperoleh pada lapisan output yang akan dirambatkan ke lapisan tersembunyi 11.δj : informasi error yang diperoleh pada lapisan

tersembunyi

12.α : laju pemahaman(learning rate)

2.3.4 Pemilihan Bobot dan Bias Awal

Bobot awal akan mempengaruhi apakah jaringan mencapai titik minimum lokal atau global, dan seberapa cepat konvergensinya. Bobot yang menghasilkan nilai turunan aktivasi yang kecil sedapat mungkin dihindari karena akan menyebabkan perubahan bobot menjadi sangat kecil. Demikian pula bobot awal tidak boleh terlalu besar karena nilai turunan aktivasinya menjadi sangat kecil juga. Oleh karena itu dalam standar

backpropagation, bobot dan bias diisi dengan bilangan acak kecil [15].

Nguyen dan Windrow mengusulkan cara membuat inisialisasi bobot dan bias ke unit tersembunyi sehingga menghasilkan iterasi lebih cepat.

Dimana: n = jumlah unit masukan p = jumlah unit tersembunyi

𝛽𝛽 = faktor skala = 0.7 𝑖𝑖�𝑝𝑝

Algoritma Nguyen Windrow untuk setiap unit tersembunyi (j = 1,...,p) adalah sebagai berikut:

1. Inisialisasi semua bobot dengan (vji(lama)) dengan bilangan acak dalam interval [-0.5, 0.5]

2. Hitung || vj|| = �𝑣𝑣𝑗𝑗21+ 𝑣𝑣𝑗𝑗22+ … + 𝑣𝑣𝑗𝑗𝑖𝑖2

3. Bobot yang dipakai sebagai inisialisasi = vji = 𝛽𝛽𝑣𝑣𝑗𝑗𝑖𝑖 (𝑙𝑙𝑙𝑙𝑚𝑚𝑙𝑙)

(29)

4. Bias yang dipakai sebagai inisialisasi = vj0= bilangan acak antara −𝛽𝛽 dan 𝛽𝛽

2.3.5 Lapisan Tersembunyi

Hasil teoritis yang didapat menunjukkan bahwa jaringan dengan sebuah layar tersembunyi sudah cukup bagi backpropagation untuk mengenali sembarangan perkawanan antara masukan dan target dengan tingkat ketelitian yang ditentukan. Akan tetapi penambahan jumlah layar tersembunyi kadangkala membuat pelatihan lebih mudah [15].

Menurut Diyah [14], tidak ada aturan yang pasti untuk mengetahui seberapa banyak lapisan tersembunyi yang sebenarnya diperlukan. Ada 2 ide yang bisa dipakai. Pertama adalah dengan menerapkan jaringan yang besar kemudian memangkas yang tidak perlu, atau sebaliknya, bergerak dari jaringan yang kecil kemudian bergerak melakukan penambahan yang dipandang perlu.

1. Dari jaringan besar ke kecil

Arsitektur jaringan dibangun berdasarkan data, membentuk jaringan yang besar dan kemudian memangkas node-node dan koneksi-koneksi sampai menjadi jaringan terkecil yang bisa melakukan aplikasi.

2. Dari jaringan kecil ke besar

Gambar

Gambar 2.1 Neuron buatan sederhana
Gambar 2.2 Struktur neuron jaringan syaraf tiruan
Gambar 2.3  Arsitektur jaringan syaraf tiruan dengan lapisan tunggal
Gambar 2.4  Arsitektur jaringan syaraf tiruan dengan banyak lapisan
+7

Referensi

Dokumen terkait

Keputusan Menteri Riset, Teknologi, dan Pendidikan Tinggi Republik Indonesia Nomor 732/KPT/I/2018 tentang Izin Penyatuan dan Perubahan Bentuk Beberapa Perguruan Tinggi

Secara umum hasil penelitian menunjukkan ketiga subjek memiliki kecenderungan memandang diri sebagai seorang remaja indigo yang memahami dan menerima keunikan diri yang

Hasil dari penelitian oleh Titi Legiati (2012) faktor yang berpengaruh terhadap perilaku ibu hamil untuk tes HIV adalah dukungan suami dengan OR:15,711, artinya bahwa

Saran yang dapat diberikan adalah: 1) bagi lahan penelitian seyogyanya penggunaan elemen penghangat cairan intravena ini dapat dikembangkan, bukan saja kepada pasien pasca

Judul yang dipilih oleh Tim peneliti untuk Hibah Penelitian dan Pengabdian Pada Masyarakat Kemenristekdikti 2017 ini adalah “Rencana Kontinjensi Pengurangan Risiko Bencana

10.10.2 Menggunakan media pembelajaran dan sumber belajar yang relevan dengan karakteristik peserta didik dan mata pelajaran yang diampu untukmencapai.. 10.10.10.2 Memahami

Dalam kesepakatan yang ditandatangani 10 Agustus 2017, kedua negara menunjuk Rostec dan PT Perusahaan Perdagangan Indonesia (PPI) sebagai pelaksana teknis imbal beli antara

sebagaimana dimaksud dalam huruf a, perlu menetapkan Keputusan Kepala LIPI tentang Pengelola Layanan Pengadaan Barang/Jasa Secara Elektronik Lembaga Ilmu