Jaringan Saraf Tiruan Penerapan Jaringan Saraf Tiruan Untuk Memprediksi Pergerakan Harga Minyak Mentah Dunia Menggunakan Metode Backpropagation

BAB 2 TINJAUAN PUSTAKA

2.1 Jaringan Saraf Tiruan

Jaringan saraf tiruan JST pertama kali diperkenankan oleh McCulloch dan Walter Pitts pada tahun 1943. Jaringan saraf tiruan merupakan suatu sistem pemrosesan informasi yang memiliki karakteristik-karakteristik menyerupai jaringan saraf biologi [2]. Dengan meniru sistem jaringan biologis maka sistem jaringan saraf tiruan memiliki 3 karakteristik utama, yaitu [1]: 1. Arsitektur jaringan Merupakan pola keterhubungan antara neuron. Keterhubungan neuron- neuron inilah yang membentuk suatu jaringan. 2. Algoritma Pembelajaran Merupakan metode untuk menentukan nilai bobot hubungan. Ada dua jenis metode utama, yaitu metode pelatihan atau pembelajaran memorisasi dan metode pengenalan atau aplikasi. 3. Fungsi Aktivasi Merupakan fungsi untuk menentukan nilai keluaran output berdasarkan nilai total masukan input pada neuron. Fungsi aktivasi suatu algoritma jaringan dapat berbeda dengan fungsi aktivasi algoritma jaringan lain.

2.1.1 Arsitektur jaringan saraf tiruan

Satu sel saraf dapat dimodelkan secara matematis seperti diilustrasikan oleh Gambar 1. Satu sel saraf terdiri dari tiga bagian, yaitu fungsi penjumlah summing function, Universitas Sumatera Utara 8 Synaptic weights fungsi aktivasi activation function dan keluaran output. Secara matematis, dapat digambarkan sebuah neuron dengan menuliskan pasangan persamaan sebagai berikut: Gambar 2.1. Model Neuron[1] y = f ∑ � �=1 w i x i + � keterangan: x i = sinyal masukan ke-i. w i = bobot hubungan ke-i. � = bias f. = fungsi aktivasi atau elemen pemroses y = sinyal keluaran. Beberapa konsep yang berhubungan dengan pemrosesan informasi tersebut seperti yang disebutkan di atas, yaitu: 1. Input Nilai numerik atau representasi suatu atribut merupakan input dari jaringan. Beberapa tipe data seperti teks, gambar dan suara dapat juga digunakan sebagai input. 2. Output Output jaringan berisi solusi untuk permasalahan. 3. Bobot weights Unsur kunci Jaringan saraf tiruan adalah bobot. Bobot menunjukkan suatu kekuatan relatif relative strength atau nilai matematik dari input data atau w 2 w i U k Output Y k Summing function Activation function w 1 ∑ f . x 1 x 2 x i Input Signal Threshol dθ . . . . . . b 1 Universitas Sumatera Utara 9 banyaknya koneksi yang memindahkan data dari satu lapisan ke lapisan yang lainnya. Bobot sangat penting karena menyimpan pola pembelajaran dari informasi. 4. Fungsi Penjumlahan Fungsi penjumlahan merupakan perkalian setiap nilai input dengan bobotnya. 5. Fungsi Aktivasi Fungsi aktivasi merupakan hubungan antara tingkat aktivasi internal dan output yang bisa berupa linier atau non-linier Arsitektur pada jaringan saraf tiruan menggambarkan jumlah neuron dan hubungan bobot yang dipakai dan fungsi aktivasi. Secara umum arsitektur jaringan saraf dapat dibedakan menjadi tiga kelas yang berbeda, yaitu jaringan umpan-maju lapisan tunggal single layer feedforward network atau perceptron, jaringan umpan- maju lapisan jamak multilayer perceptron dan jaringan dengan lapisan kompetitif [6].

2.1.2 Jaringan saraf tiruan backpropagation

Terdapat banyak ide dan definisi yang berhubungan dengan “belajar”. Taksonomi proses belajar dalam jaringan saraf tiruan dibagi secara umum menjadi dua bagian [5]: 1. Supervised learning Supervised learning adalah proses belajar yang membutuhkan guru. Yang dimaksud guru disini adalah sesuatu yang memiliki pengetahuan tentang lingkungan. Guru bisa direpresentasikan sebagai sekumpulan sampel input- ouput. 2. Unsupervised learning Sesuai dengan namanya, unsupervised atau self-organized learning tidak membutuhkan guru untuk memantau proses belajar. Dengan kata lain, tidak ada sekumpulan input-output atau fungsi tertentu untuk dipelajari oleh jaringan. Universitas Sumatera Utara 10 Jaringan saraf tiruan backpropagation dikategotikan sebagai supervised learning yang melakukan pembelajaran sehingga memberikan output yang masuk akal jika diberi masukan serupa tidak harus sama dengan pola yang dipakai dalam pelatihan. Sifat generalisasi ini membuat pelatihan lebih efisien karena tidak perlu dilakukan pada semua data [9]. Backpropagation dibentuk dengan membuat generalisasi aturan pelatihan dalam model widrow-hoff dengan cara menambahkan layer tersembunyi. Kata backpropagation merujuk pada cara bagaimana gradien perubahan bobot dihitung. Suatu jaringan saraf tiruan backpropagation memproses informasi masukan pada setiap neuron. Pada gambar 2. ditunjukkan arsitektur JST backpropagation dengan tiga layer dimana unit masukan X, unit hidden layer Z, dan unit keluaran Y. Sedangkan v 0j adalah nilai bias untuk hidden layer Z dan w ok adalah nilai bias untuk keluaran Y. Y 1 Y k Y m w 01 w 11 w j1 w p1 w 0k w 1k w jk w pk w 0m w 1m w jm w pm Z 1 Z j Z p X 1 X i X n v 01 v 11 v i1 v n1 v 0j v 1j v ij v nj v 0p v 1p v ip v np 1 1 Gambar 2.2. Arsitektur Jaringan Saraf Tiruan dengan Backpropagation[7] Keterangan: X = Masukan input V = Bobot lapisan tersembunyi W = Bobot lapisan keluaran Universitas Sumatera Utara 11 n = Jumlah unit pengolah lapisan tersembunyi Z = Lapisan tersembunyi hidden layer Y = Keluaran output

2.1.3 Fungsi Aktivasi

Sebuah sinyal aktivasi diperlukan oleh suatu neuron untuk menyalakan atau memadamkan penjalaran sinyal dari neuron tersebut. Sinyal aktivasi dalam jaringan saraf tiruan ditentukan oleh suatu fungsi aktivasi. Fungsi aktivasi merupakan fungsi pengolah jumlahan data masukan menjadi data keluaran. Karakteristik pada fungsi aktivasi dari backpropagation adalah continue, dapat diturunkan, dan tidak menurun secara monoton. Fungsi aktivasi untuk algoritma backpropagation adalah sebagai berikut [6]: 1. Linier atau Purelin Fungsi linier akan membawa masukkan ke keluaran yang sebanding. Fungsi ini didefinisikan: Ilustrasi fungsi liner digambarkan pada gambar 2.3 berikut ini: Gambar 2.3. Fungsi Aktivasi Linier -1 1 x fx x x f = Universitas Sumatera Utara 12

2. Sigmoid Biner atau Logsig

Fungsi ini memiliki sifat nonlinier sehingga sangat baik diterapkan dalam penyelesaian masalah yang kompleks. Keluaran dari fungsi sigmoid biner berupa bilangan biner 0 atau 1 atau nilai yang berada di antara 0 sampai 1. Sigmoid biner memiliki range dari [0,1] dan didefinisikan : exp 1 1 x x f − + = dan fungsi turunannya adalah : ] 1 [ 1 1 x f x f x f − = Ilustrasi fungsi sigmoid biner digambarkan pada gambar 2.4 berikut ini: Gambar 2.4. Sigmoid Biner[11]

3. Sigmoid Bipolar atau Tansig

Sigmoid Bipolar memiliki range dari -1,1 dan didefinisikan : 1 exp 1 2 − − + = x x f dan turunan fungsi adalah : [ ][ ] 1 1 2 1 2 2 x f x f x f − + = x fx -1 1 Universitas Sumatera Utara 13 Ilustrasi fungsi sigmoid bipolar digambarkan pada gambar 2.5 berikut ini: Gambar 2.5. Sigmoid Bipolar[12]

2.1.4 Algoritma pembelajaran metode backpropagation

Proses pelatihan backpropagation meliputi tiga tahap, yaitu tahap umpan maju feedforward, tahap umpan mundur, dan tahap update bobot dan bias[7]. Algoritma backpropagation diuraikan sebagai berikut: Fase I: Propagasi Maju Selama propagasi maju, sinyal masukan = x i dipropagasikan ke layer tersembunyi menggunakan fungsi aktivasi yang ditentukan. Keluaran dari setiap unit layer tersembunyi = z j tersebut selanjutnya dipropagasikan maju lagi ke layer tersembunyi di atasnya menggunakan fungsi aktivasi yang ditentukan. Demikian seterusnya hingga menghasilkan keluaran jaringan =y k . Berikutnya, keluaran jaringan = y k dibandingkan dengan target yang harus dicapai = t k . Selisih dari t k terhadap y k yaitu t k – y k adalah kesalahan yang terjadi. Jika kesalahan ini lebih kecil dari batas toleransi yang ditentukan, maka iterasi dihentikan. Akan tetapi apabila kesalahan masih lebih besar dari batas toleransinya, maka bobot setiap garis dalam jaringan akan dimodifikasi untuk mengurangi kesalahan yang terjadi. -1 x fx 1 Universitas Sumatera Utara 14 Fase II: Propagasi Mundur Berdasarkan kesalahan t k – y k , dihitung faktor δ k k = 1,2,..., m yang dipakai untuk mendistribusikan kesalahan di unit y k ke semua unit tersembunyi yang terhubung langsung dengan y k . δ k juga dipakai untuk mengubah bobot garis yang berhubungan langsung dengan unit keluaran. Dengan ca ra yang sama, dihitung faktor δj j = 1,2,…, p di setiap unit di layer tersembunyi sebagai dasar perubahan bobot semua garis yang berasal dari unit tersembunyi di layer di bawahnya. Demikian seterusnya hingga semua faktor δ di unit tersembunyi yang berhubungan langsung dengan unit masukan dihitung. Fase III: Perubahan Bobot Setelah semua faktor δ dihitung, bobot semua garis dimodifikasi bersamaan. Perubahan bobot suatu garis didasarkan atas faktor δ neuron di layer atasnya. Sebagai contoh, perubahan bobot garis yang menuju ke layer keluaran didasarkan atas δ k yang ada di unit keluaran. Ketiga fase terebut diulang-ulang terus hingga kondisi penghentian dipenuhi. Umumnya kondisi penghentian yang sering dipakai adalah jumlah iterasi atau kesalahan. Iterasi akan dihentikan jika jumlah iterasi yang dilakukan sudah melebihi jumlah maksimum iterasi yang ditetapkan, atau jika kesalahan yang terjadi sudah lebih kecil dari batas toleransi yang diijinkan. Algoritma pelatihan untuk jaringan dengan satu layer tersembunyi dengan fungsi aktivasi sigmoid biner adalah sebagai berikut [4]: Langkah 0 : Inisialisasi semua bobot dengan bilangan acak kecil. Langkah 1 : Jika kondisi penghentian belum terpenuhi, lakukan langkah 2 – 9. Langkah 2 : Untuk setiap pasang data pelatihan, lakukan langkah 3 – 8. Fase I : Propagasi maju Langkah 3 : Tiap unit masukan menerima sinyal dan meneruskannya ke unit tersembunyi di atasnya. Langkah 4 : Hitung semua keluaran di unit tersembunyi j z j = 1,2,…, p . Universitas Sumatera Utara 15 Langkah 5 : Hitung semua keluaran jaringan di unit k Fase II : Propagasi mundur Langkah 6 : Hitung faktor δ unit keluaran berdasarkan kesalahan di setiap unit keluaran y k k = 1,2,…,m . δ k merupakan unit kesalahan yang akan dipakai dalam perubahan bobot layer dibawahnya langkah 7. Hitung suku perubahan bobot w kj yang akan dipakai nanti untuk merubah bobot w kj dengan laju perceptron α Δw kj =αδ k z j ; k = 1,2,…,m ; j = 0,1,…, p Langkah 7 : Hitung faktor δ unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi z j j = 1,2,…, p . Faktor δ unit tersembunyi : δ j = δ_net j f ’z_net j = δ_net j z j 1– z j Hitung suku perubahan bobot Vji yang akan dipakai nanti untuk merubah bobot V ji . Δv ji = α δj xi ; j = 1,2,…,p ; I = 0,1,…,n Fase III : Perubahan bobot Langkah 8 : Hitung semua perubahan bobot. Perubahan bobot garis yang menuju ke unit keluaran : Wkj baru = Wkj lama + ΔWkj k = 1,2,…,m ; j = 0,1,…,p Perubahan bobot garis yang menuju ke unit tersembunyi : Universitas Sumatera Utara 16 Vji baru = Vji lama + Δvji j = 1,2…,p ; I = 0,1,…,n Setelah selesai dilakukan, jaringan dapat dipakai untuk pengenalan pola. Dalam hal ini, hanya propagasi maju langkah 4 dan 5 saja yang dipakai untuk menentukan keluaran jaringan. Apabila fungsi aktivasi yang dipakai bukan sigmoid biner, maka langkah 4 dan 5 harus disesuaikan. Demikian juga turunannya pada langkah 6 dan 7.

2.1.5 Preprocessing dan postprocessing

1. Min dan Max

Sebelum dilakukan pelatihan, seringkali dilakukan penskalaan pada input dan target sedemikian hingga data input dan target tersebut masuk dalam satu range tertentu[5]. Fungsi premnmx digunakan untuk menskala input dan output sedemikian hingga data- datanya akan terletak pada range [1,1]. Systax: [pn,minp,maxp,tn,mint,maxt] = premnmxp,t, atau [pn,minp,maxp] = premnmxp, atau [tn,mint,maxt] = premnmxt Dengan p adalah hasil input, dan t adalah matriks output. Fungsi ini akan menghasilkan: pn : matriks input yang ternormalisasi terletak pada range [-1,1] tn : matriks target yang ternormalisasi terletak pada range [-1,1] minp : nilai minimum pada matriks input aslip. maxp : nilai maksimum pada matriks input aslip. mint : nilai minimum pada matriks target aslip. maxt : nilai maksimum pada matriks target aslip. Apabila matriks yang sudah ternormalisasi ini ingin dikembalikan kebentuk aslinya, maka dapat digunakan fungsi postmnmx. Systax: [p,t] = postmnmxpn,minp,maxp,tn,mint,maxt, atau Universitas Sumatera Utara 17 [p] = postmnmx pn,minp,maxp, atau [t] = postmnmx tn,mint,maxt Dengan p dan t adalah matriks yang telah didenormalisasi. Apabila pada jaringan saraf tiruan yang telah dilatih menggunakan premnmx untuk preprocessing, maka apabila ada data input baru yang akan disimulasikan, data baru tersebut juga harus disesuaikan dengan nilai minimum dan maksimum dari jaringan. Untuk keperluan ini, dapat digunakan fungsi tramnmx.

2. Mean dan standar deviasi

Selain dengan meletakkan data input dan target pada range tertentu, proses normalisasi juga dapat dilakukan dengan bantuan mean dan standar deviasi[5]. Fungsi prestd akan membawa data ke bentuk normal dengan mean=0 dan deviasi standar=1. Syntax: [pn,meanp,stdp,tn,meant,stdt] = prestdp,t, atau [pn,meanp,stdp] = prestdp, atau [tn,meant,stdt] = prestdt Dengan p adalah hasil input, dan t adalah matriks output. Fungsi ini akan menghasilkan: pn : matriks input yang ternormalisasi terletak pada range [-1,1] tn : matriks target yang ternormalisasi terletak pada range [-1,1] meanp : mean pada matriks input aslip. stdp : standar deviasi pada matriks input aslip meant : mean pada matriks input targett. stdt : standar deviasi pada matriks target aslip Apabila matriks yang sudah ternormalisasi ini ingin dikembalikan kebentuk aslinya, maka dapat digunakan fungsi poststd. Systax: [p,t] = poststdpn,meanp,stdp,tn,meant,stdt, atau [p] = poststd pn,meanp,stdp, atau Universitas Sumatera Utara 18 [t] = poststd tn,meant,stdt Dengan p dan t adalah matriks yang telah didenormalisasi. Apabila pada jaringan saraf tiruan yang telah dilatih menggunakan trastd untuk preprocessing, maka apabila ada data input baru yang akan disimulasikan, data baru tersebut juga harus disesuaikan dengan nilai mean dan standar deviasi dari jaringan. Untuk keperluan ini, dapat digunakan fungsi trastd.

2.2 Aplikasi Backpropagation Dalam Prediksi