• Tidak ada hasil yang ditemukan

BAB 2 LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 LANDASAN TEORI"

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.

Pengembangan jaringansaraf tiruanpada awalnyatermotivasi olehpenelitiansistem sarafbiologisyangterdiri darijaringanneuron-neuron yang saling terhubung.

(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 � Bobot sinapsis Fungsi Penjumlahan uk Input . . . xn x1 x2 . . . wk1 wk2 wkn

(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

bobot Output ke neuro-neuron yang lain bobot Input dari neuro-neuron yang lain

Fungsi aktivasi Output

(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 memperbaiki kinerja jaringan saraf tiruan [1].

(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

Jaringan saraf tiruan dilatih untuk mengenali bentuk-bentuk bom dalam tampilan sinyal-sinyal spektrograf yang mengindikasikan muatan nitrogen tinggi pada barang-barang.

(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)

Jaringan dengan lapisan tunggal hanya memiliki satu lapisan dengan bobot-bobot terhubung. Jaringan ini hanya menerima input kemudian secara langsung

(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 Ym

(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

Vnj W11 Wp1 Wj1 W1k Wjk Wpk Wjm Wpm W1m Vij V1j Vn1 Vi1 V11 V1p Vnp Vip Zp Zj Z1 Xi X1 Xn Ym Yk Y1

(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 x

(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 y = 1, jika x≥ 𝜃𝜃 -1, jika x< 𝜃𝜃

(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,5 ≤x≤0,5 1; jika x≥ 0,5 0; jika x≤ −0,5 0 1 y x -1 -1 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 -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 + 𝑒𝑒−𝑥𝑥 dengan 𝑓𝑓′(𝑥𝑥) =[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

Aturan pembelajaran adalah aturan kerja secara umum dari teknik/algoritma jaringan saraf tiruan [14]. Ada empat tipe dasar aturan pembelajaran, yaitu:

(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 pembelajaran terbimbing [4]. Perceptron memiliki jaringan lapis tunggal [2]. Jaringan terdiri dari beberapa unit masukan (ditambah sebuah bias), dan memiliki sebuah unit keluaran. Fungsi aktivasi bukan merupakan fungsi biner (atau bipolar), tetapi memiliki kemungkinan -1, 0, atau 1 [15].

(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

Arsitektur jaringan dengan banyak lapisan (multilayer) merupakan perluasan dari arsitektur lapisan tunggal (single layer). Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak diantara lapisan input dan lapisan output (memiliki 1 atau lebih lapisan tersembunyi) [6]. Jumlah lapisan menentukan jumlah matriks bobot [9]. Fungsi Penjumlahan . . . Bobot sinapsis w1 w 2 w n y y_in F(y_in) . . x1 x2 xn Input � 𝑥𝑥𝑥𝑥 + 𝑏𝑏

(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 digunakan dalam berbagai aplikasi [16].

Lapisan

Input TersembunyiLapisan Lapisan Output Wpk Wp1 Wpm W11 W1k W1m Wj1 Wjk Wjm Vip Vn1 Vnj Vnp V11 V1j V1p Vi1 Vij Ym Y1 Yk Zp Z1 Zj X1 Xi Xn

(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 penyesuaian bobot.

(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.

. . .

. . .

. . .

. . .

. . .

. . .

w0k w01 w0m w11 w1k w1m wj1 wjk wjm wp1 wpk w pm Yk Ym Y1 1 v0j v01 v0p v11 v1j v1p vi1 vij vip vn1 vnj v np Zj Zp Z1 X1 Xi 1 Xn

(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).

3) Tiap-tiap unit output (Yk, k=1,2,3,…,m) menjumlahkan

(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.

2. Langkah 2: setiap unit input xi(dari unit ke-1 sampai unit ke-n pada lapisan

input; i=1,...,n) menerima sinyal input pengujian xike semua unit pada lapisan di

(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|| = �𝑣𝑣𝑗𝑗12 + 𝑣𝑣𝑗𝑗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

Dimulai dari pembangunan sebuah jaringan kecil kemudian secara bertahap dilakukan penambahan node-node tersembunyi.

Gambar

Gambar 2.1 Neuron buatan sederhana  Keterangan:
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

Halaman ini berisi menu data basis kasus yang berfungsi mengelola basis kasus dan menu logout untuk keluar dari area pakar. Halaman beranda pakar dapat dilihat pada

Tujuan pendidikan tergantung dari lembaga yang melaksanakan, tujuan tersebut pada dasarnya ditentukan oleh pandangan hidup orang yang mendesain pendidikan itu,

7.1.7 Selepas mendapat pengesahan dari Kumpulan Tuntutan Potongan, disket tuntutan sedia untuk di hantar kepada jabatan ( Prosedur 8 dan fail di e- mail kepada Jabatan Bendahari

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

Oleh karena itu, perlu disusun suatu Standar Kompetensi Lulusan (SKL) untuk tenaga kerja Indonesia yang dalam bidang pekerjaannya membutuhkan penguasaan Bahasa

Dalam rangka memberikan kepastian hukum dan landasan pelaksanaan pemungutan Retribusi Izin Mendirikan Bangunan di Kota Sukabumi telah ditetapkan Peraturan Daerah

PENGARUH PEMAHAMAN MAHASISWA AKUNTANSI TERHADAP KONSEP DASAR AKUNTANSI DENGAN LATAR BELAKAN SEKOLAH MENENGAH YANG BERBEDA PADA UNIVERSITAS MUHAMMADIYAH.. SIDOARJO –

Pertumbuhan tanaman produksi benih kedelai Varietas Anjasmoro di lahan sawah irigasi, tinggi tanaman lebih rendah tetapi jumlah cabangnya lebih banyak dibandingkan dengan