You are on page 1of 2

JARINGAN SARAF TIRUAN Jaringan Saraf Tiruan (Artificial Neural Network) merupakan salah satu sistem pemrosesan informasi

yang didesain dengan menirukan cara kerja otak manusia dalam menyelesaikan suatu masalah dengan melakukan proses belajar melalui perubahan bobot sinapsisnya. Jaringan saraf tiruan mampu melakukan pengenalan kegiatan berbasis data masa lalu. Data masa lalu akan dipelajari oleh jaringan saraf tiruan sehingga mempunyai kemampuan untuk memberikan keputusan terhadap data yang belum pernah dipelajari. Selain itu jaringan saraf tiruan merupakan suatu metode komputasi yang meniru sistem jaringan saraf biologi. Metode ini menggunakan ini elemen perhitungan non-linear dasar yang disebut neuron yang diorganisasikan sebagai jaringan yang saling berhubungan, sehingga mirip dengan jaringan saraf manusia. Jaringan saraf tiruan dibentuk untuk memecahkan masalah tertentu seperti pengenalan pola klafikasi karena proses pembelajaran. Layaknya neuron biologi, jaringan saraf tiruan merupakan sistem yang bersifat foult tolerant dalam 2 hal. Pertama dapat mengenali sinyal input yang agak berbeda dari yang pernah diterima. Kedua tetap mampu bekerja meskipun beberapa neuronnya tidak mampu bekerja dengan baik. Jika sebuah neuron rusak, neuron yang lainnya dapat dilatih untuk menggantikan fungsi neuron yang rusak tersebut. Jaringan saraf tiruan seperti manusia, belajar dari suatu contoh karena mempunyai karakteristik yang adaptif, yaitu dapat belajar dari data-data sebelumnya dan mengenal pola data yang selalu berubah. Selain itu, jaringan saraf tiruan merupakan sistem yang terprogram artinya semua keluaran atau kesimpulan yang ditarik oleh jaringan didasarkan pada pengalamannya selama mengikiuti proses pembelajaran/pelatihan. Hal yang ingin dicapai dengan melatih jaringan saraf tiruan adalah untuk mencapai keseimbangan antara kemampuan memorisasi dan generalisasi. Kemampuan memorisasi adalah kemampuan jaringan saraf tiruan unutk mengambil kembali secara sempurna sebuah pola yang dipelajari. Sedangkan kemampuan generalisasi merupakan kemampuan jaringan saraf tiruan untuk menghasilkan respons yang bisa diterima terhadap pola-pola input yang serupa (namun tidak identik) dengan pola-pola yanhg sebelumnya telah dipelajari. Hal ini sangat bermanfaat bila pada suatu saat ke dalam jarinagn saraf tiruan itu diinputkan informasi baru yang belum pernah dipelajari, maka jarinagn saraf tiruan itu masih akan tetap dapat memberikan tanggapan yang baik, memberikan keluaran yang paling mendekati. Cara pembelajaran atau pelatihan jaringan saraf tiruan dikelompokkan menjadi beberapa bagian, 2 diantaranya supervised learning dan unsupervised learning. A. SUPERVISED LEARNING 1 Supervised learning merupakan suatu pembelajaran yang terawasi dimana jika output yang diharapkan telah diketahui sebelumnya. Biasanya pembelajaran ini dilakukan dengan menggunakan data yang telah ada. Pada metode ini, setiap pola yang diberikan kedalam jaringan saraf tiruan telah diketahui outputnya. Satu pola input akan diberikan ke satu neuron pada lapisan input. Pola ini akan dirambatkan di sepanjang jaringan syaraf hingga sampai ke neuron pada lapisan output. Lapisan output ini akan membangkitkan pola output yang nantinya akan dicocokkan dengan pola output targetnya. Nah, apabila terjadi perbedaan antara pola output hasil pembelajaran dengan pola output target, maka akan muncul error. Dan apabila nilai error ini masih cukup besar, itu berarti masih perlu dilakukan pembelajaran yang lebih lanjut. Contoh algoritma jaringan saraf tiruan yang mernggunakan metode supervised learning adalah hebbian (hebb rule), perceptron, adaline, boltzman, hapfield, dan backpropagation. Pada kesempatan ini saya akan membahas tentang metode hebb rule dan perceptron. v Hebb rule merupakan metode pembelajaran dalam supervised yang paling sederhana, karena pada metoode ini pembelajaran dilakukan dengan cara memperbaiki nilai bobot sedemikian rupa sehingga jika ada 2 neuron yang terhubung, dan keduanya pada kondisi hidup (on) pada saat yang sama, maka bobot antara kedua dinaikkan. Apabila data dipresentasiakn secara bipolar, maka perbaikan bobotnya adalah wi(baru)=wi(lama)+xi*y Keterangan: wi : bobot data input ke-i; xi : input data ke-i; y : output data. Misalkan kita menggunakan pasangan vektor input (s) dan vektor output sebagai pasangan vektor yang akan dilatih. Sedangkan vektor yang hendak digunakan sebagai testing adalah vektor (x). Algoritma pasangan vektor diatas adalah sebagai berikut: 0. Insialisasi semua bobot dimana: wij=0; i =1,2n; j =1,2..m 1. Pada pasangan input-output(s-t), maka terlebih dahulu dilakukan langkahlangkah sebagai berikut: a. Set input dengan nilai yang sama dengan vektor inputnya: xi=si; (i=1,2,n) b. Set outputnya dengan nilai yang sam dengan vektor outputnya: yj=tj; (j=1,2,..,m) c. Kemudian jika terjadi kesalahan maka perbaiki bobotnya: wij(baru)=wij(lama)+xi*yj; (i=1,2,.,n dan j=1,2,.,m) sebagai catatan bahwa nilai bias selalu 1. Contoh: Sebagaimana yang kita ketahui dalam fungsi OR jika A & B= 0 maka OR 0, tetapi jika salah satunya adalah 1 maka OR 1, atau dengan kata lain jika angkanya berbeda maka hasilnya 1. Misalkan kita ingin membuat jaringan syaraf untuk melakukan pembelajaran terhadap fungsi OR dengan input dan target bipolar sebagai berikut: Input Bias Target -1 -1 1 -1 -1 1 1 1 1 -1 1 1 1 1 1 1

X= T= Bobot awal= -1 -1 -1 w= -1 1 1 0 1 -1 1 0 1 1 1 b=0 (catatan penting: bobot awal dan bobot bias kita set=0) Data ke-1 w1 = 0+1=1 w2 =0+1=1 b =0-1=-1 Data ke-2 w1 = 1-1=0 w2 =1+1=2 b =0+1=1 Data ke-3 w1 = 0+1=1 w2 =2-1=1 b =0+1=1 Data ke-4 w1 = 1+1=2 w2 =1+1=2 b =1+1=2 Kita melakukan pengetesan terhadap salah satu data yang ada, misal kita ambil x=[-1-1] dan kita masukkan pada data ke-4 maka hasilnya adalah sebagai berikut: y=2+(-1*2)+(-1*2)=-2 karena nilai yin=-2, maka y=f(y in)=f(-2)=-1 (cocok dengan output yang diberikan) Perceptron merupakan salah satu bentuk jaringan syaraf tiruan yang sederhana. Perceptron biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang sering dikenal dengan pemisahan secara linear. Pada dasarnya, perceptron pada jaringan syaraf dengan satu lapisan memiliki bobot yang bisa diatur dan suatu nilai ambang(thershold). Algoritma yang digunakan oleh aturan perceptron ini akan mengatur parameter-parameter bebasnya melalui proses pembelajaran. Nilai thershold( pada fungsi aktivasi adalah non negatif. Fungsi aktivasi ini dibuat sedemikian rupa sehingga terjadi pembatasan antara daerah positif dan daerah negatif. Garis pemisah antara daerah positif dan daerah nol memiliki pertidaksamaan yaitu: w1x1+ w2x2+b > Sedangkan garis pemisah antara daerah negatif dengan daerah nol memiliki pertidaksamaan: w1x1+ w2x2+b < Misalkan kita gunakan pasangan vektor input (s) dan vektor output (t) sebagai pasangan vektor yang akan dilatih. Algoritmanya adalah: 0. Inisialisasi semua bobot dan bias: (agar penyelesaiannya jadi lebih sederhana maka kita set semua bobot dan bias sama dengan nol). Set learning rate( ): (0< 1). 1. Selama kondisi berhenti bernilai false. Lakukan langkah-langkah sebagai berikut: (i) Untuk setiap pasangan pembelajaran s-t, maka: a. Set input dengan nilai sama dengan vektor input: xi=si; b. Hitung respon untuk unit output: yin=b+yc. Perbaiki bobot dan bias jika terjadi error: jika yt maka: wi(baru)=wi(lama)+ b(baru)=b(lama)+ jika tidak, maka: wi(baru)= wi(lama) b(baru)=b(lama) Selanjutnya lakukan tes kondisi berhenti: jika tidak terjadi perubahan pada bobot pada (i) maka kondisi berhenti adalah TRUE, namun jika masih terjadi perubahan pada kondisi berhenti maka FALSE. Nah, algoritma seperti diatas dapat digunakan baik untuk input biner maupun bipolar, dengan tertentu, dan bias yang dapat diatur. Pada algoritma tersebut bobot-bobot yang diperbaiki hanyalah bobot-bobot yang berhubungan dengan input yang aktif (xi0) dan bobot-bobot yang tidak menghasilkan nilai y yang benar. Sebagai contoh, misalkan kita ingin membuat jaringan syaraf yang melakukan pembelajaran terhadap fungsi AND dengan input biner dan target bipolar sebagai berikut: Input Bias Target 1 1 1 1 1 0 1 -1 0 1 1 -1 0 0 1 -1 Bobot awal : w=[0,0 0,0] Bobot bias awal : b=[0,0] Learning rate( ) : 0,8 Thershold(tetha) : 0,5 Epoh ke-1(siklus perubahan bobot ke-1) Data ke-1 yin=0,0+0,0+0,0=0,0 Hasil aktivasi= 0(-0,5 < yin < 0,5) Target =1 Bobot baru yang diperoleh: w1= 0,0+0,8*1,0*1,0=0,8 w2= 0,0+0,8*1,0*1,0=0,8 Maka bobot bias barunya:

b= 0,8+0,8*-1,0=0,8 Data ke-2 yin=0,8+0,8+0,0=1,6 Hasil aktivasi= 1(yin > 0,5) Target = -1 Bobot baru yang diperoleh: w1= 0,8+0,8*-1,0*1,0=0,8 w2= 0,8+0,8*-1,0*1,0=0,0 Maka bobot bias barunya: b= 0,8+0,8*-1,0=0,0 Data ke-3 yin=0,0+0,0+0,8=0,8 Hasil aktivasi= 1( yin > 0,5) Target = -1 Bobot baru yang diperoleh: w1= 0,0+0,8*1,0*0,0=0,0 w2= 0,8+0,8*-1,0*1,0=0,8 Maka bobot bias barunya: b= 0,0+0,8*-1,0=-0,8 Data ke-4 yin=-0,8+0,0+0,0=-0,8 Hasil aktivasi= -1( yin < 0,5) Target = -1 Epoh ke-10(siklus perubahan bobot ke-10) Data ke-1 yin=-3,2+1,6+2,4=0,8 Hasil aktivasi=-1(yin >0,5) Target =1 Data ke-2 yin=-3,2+1,6+0,0=-1,6 Hasil aktivasi=-1(yin <-0,5) Target = -1 Data ke-3 yin=-3,2+0,0+2,4=-0,8 Hasil aktivasi=-1(yin <-0,5) Target = -1 Data ke-4 yin=-3,2+0,0+0,0=-3,2 Hasil aktivasi=-1(yin <-0,5) Target = -1 Siklus perubahan setiap bobot tersebut terus diulangi sampai tidak terjadi perubahan bobot lagi. Nah pada algoritma ini perubahan bobot(epoh) sudah tidak terjadi pada langkah ke-10 sehingga pembelajaran dihentikan. Dan hasil yang diperoleh adalah: Nilai bobot(w1)=1,6 Nilai bobot(w2)=2,4 Bobot bias(b) =-3,2. Dengan demikian garis yang membatasi daerah positif dan daerah nol memenuhi pertidaksamaan: 1,6x 1+2,4x2-3,2 > 0,5 Sedangkan garuis yang membatasi antara daerah negatif dan daerah nolnya memenuhi pertidaksamaan: 1,6x 1+2,4x2-3,2 < 0,5 B. UNSUPERVISED LEARNING 1 Unsupervised learning merupakan pembelajan yang tidak terawasi dimana tidak memerlukan target output. Pada metode ini tidak dapat ditentukan hasil seperti apa yang diharapkan selama proses pembelajaran, nilai bobot yang disusun dalam proses range tertentu tergantung pada nilai output yang diberikan. Tujuan metode uinsupervised learning ini agar kita dapat mengelompokkan unit-unit yang hampir sama dalam satu area tertentu. Pembelajaran ini biasanya sangat cocok untuk klasifikasi pola. Contoh algoritma jaringan saraf tiruan yang menggunakan metode unsupervised ini adalah competitive, hebbian, kohonen, LVQ(Learning Vector Quantization), neocognitron. Pada kali ini saya akan membahas tentang metode kohonen. Jaringan syaraf self organizing, yang sering disebut juga topology preserving maps, yang mengansumsikan sebuah struktur topologi antar unit-unit cluster. Jaringan syaraf self organizing ini pertama kali diperkenalkan oleh Tuevo Kohonen dari University of Helsinki pada tahun 1981. Jaringan kohonen SOM(Self Organizing Map) merupakan salah satu model jaringan syaraf yang menggunakan metode pembelajaran unsupervised. Jaringan kohonen SOM terdiri dari 2 lapisan(layer), yaitu lapisan input dan lapisan output. Setiap neuron dalalm lapisan input terhubung dengan setiap neuron pada lapisan output. Setiap neuron dalam lapisan output merepresentasikan kelas dari input yang diberikan. Penulisan istilah yang ada pada struktur jaringan kohonen Self Organizing Map adalah sebagai berikut: X : vektor input pembelajaran. X=(x1, x2,, xj,..,x n) : learning rate : radius neighborhood X1 : neuron/node input w0j : bias pada neuron output ke-j Yj : neuron/node output ke-j C : konstanta Berikut ini adalah tahapan Algoritma dari kohonen self organizing map adalah sebagai berikut : Langkah 1. Inisialisasikan bobot wij. Set parameter-parameter tetangga dan set parameter learning rate. Langkah 2. Selama kondisi berhenti masih bernilai salah, kerjakan langkahlangkah berikut ini : a. Untuk masing-masing vektor input x, lakukan : Titik Pusat (0,0) x,y b. Untuk masing-masing j, lakukan perhitungan :

D(j)= ) c. Tentukan J sampai D( j) bernilai minimum. d. Untuk masing-masing unit j dengan spesifikasi tetangga tertentu pada j dan untuk semua I, kerjakan : wij(baru)=(wij)lama+ [xi wij( lama)] e. Perbaiki learning rate ( ) f. Kurangi radius tetangga pada waktu-waktu tertentu. g. Tes kondisi berhenti. Sebagai contohnya, data yang digunakan adalah penelitian berupa realisasi penerimaan keuangan daerah tingkat II suatu propinsi serta jumlah penduduk pertengahan tahunnya dalam sebuah kabupaten/kota. Atribut-atribut yang digunakan dalam penelitian ini adalah: a. X1 = Jumlah penduduk b. Pendapatan Daerah Sendiri(PDS) yang terdiri dari: 1. Pendapatan Asli Daerah(PDA) yang berupa: X2 = Pajak Daerah X3 = Retribusi Daerah X4 = Bagian laba usaha daerah X4 = Penerimaan lain-lain 2. Bagian pendapatan dari pemerintah dan instansi yang lebih tinggi yang berupa: X6 = Bagi hasil pajak X7 = Bagi hasil bukan pajak X8 = Subsidi daerah otonom X9 = Bantuan pembangunan X10= Penerimaan lainnya 3. Pinjaman pemerintah daerah X11= Pinjaman Pemerintah Pusat X12= Pinjaman Lembaga Keuangan Dalam Negeri X13= Pinjaman Dari Luar Negeri Data set yang digunakan sebagai input tersebut dinormalkan dengan nilai ratarata sebagai acuan yang analog dengan persamaan: f(x)Berdasarkan data yang tesebut maka akan terlihat untuk masing-masing atribut memiliki nilai terendah, nilai tertinggi, dan nilai rata-rata. Selanjutnya dari nilai rata-rata tersebut maka akan menjadi acuan untuk menentukan input dari data menuju ke input pada jaringan saraf tiruan kohonen dengan pengkodean 1 dan 0. Kemudian data-data input tersebut akan diproses oleh JST sehingga menghasilkan output berupa kelompok daerah tingkat II berdasarkan penerimaan daerah. Jaringan kohonen SOM ini akan menghubungkan antara neuron input dan neuron output dengan koneksi bobot, yang mana bobot ini selalu diperbaiki pada proses iterasi pelatihan jaringan. Kemudian aliran informasi system JST ini akan mengelompokan tingkat kesejahteraan daerah tingkat II, diawali dengan dimasukkannya data penerimaan daerah. Data-data inilah yang akan berfungsi sebagai input awal selain parameter input berupa learning rate( ), dan radius neighborhood(R).

You might also like