MODEL IDENTIFIKASI PETA SECARA OTOMATIS
MENGGUNAKAN KONSEP JARINGAN SARAF TIRUAN
BACKPROPAGATION
Era teknologi informasi semakin berkembang dengan cepat dan kompleks,
kehandalan sistem yang mengolah data dengan baik akan menghasilkan
informasi yang baik, begitu pula dengan pemakai sistem yang merupakan
faktor utama suatu aplikasi sistem yang sedang dijalankan selain
perangkat keras dan perangkat lunak. Brainware adalah konsep pemikiran
yang dimiliki oleh manusia dalam kaitannya dengan sistem komputer secara
luas. Konsep pemikiran manusia yang dapat melakukan pembelajaran
terhadap segala sesuatu yang ditemui nya merupakan hal menarik yang
menjadi landasan dibentuknya model Jaringan saraf tiruan (JST) dalam
domain yang cukup bervariasi dalam sistem cerdas. Sistem cerdas yang
diaplikasikan untuk identifikasi objek dua dimensi pada pemetaan wilayah
geografis merupakan sistem yang dapat memberikan pengetahuan dan
informasi mengenai keadaan wilayah pada suatu tempat atau daerah yang
diinginkan pemakai. Sistem yang dibangun dapat menentukan lokasi
wilayah, objek wisata, dan hal-hal yang terkait di dalamnya. Pemakai
hanya menunjuk bagian tertentu yang diinginkan dalam peta, kemudian
sistem akan memberikan informasi tentang wilayah yang diinginkan pemakai
tersebut. Penerapan sistem cerdas ini dapat diaplikasikan pada pola
pembelajaran siswa dan mahasiswa pada pelajaran geografi dan hal yang
menyangkut pemetaan wilayah, maupun tempat-tempat yang strategis,
terutama di jantung kota budaya ini.
JARINGAN SARAF TIRUAN UMPAN BALIK
Banyak model jaringan saraf tiruan dalam dunia riset JST, salah satu
modelnya adalah Jaringan saraf tiruan Backpropagation. Jaringan saraf
tiruan Backpropagation (BP) pertama kali diperkenalkan oleh Rumelhart,
Hinton dan William pada tahun 1986, kemudian Rumelhart dan Mc Cleland
mengembangkannya pada tahun 1988. Jaringan ini merupakan model jaringan
multilayer. Backpropagation paling banyak digunakan oleh pemakai
jaringan saraf tiruan, bahkan diperkirakan lebih dari 80 % proyek
jaringan saraf tiruan yang tengah dikembangkan menggunakan
Backpropagation. Dalam metode Backpropagation, biasanya, digunakan
jaringan multilayer. Sebagai contoh, pada Gambar 1 dilustrasikan
jaringan dengan sebuah hidden layer. Dalam jaringan, selain terdapat
unit input, unit tersembunyi (hidden units) dan output juga terdapat
bias yang diberikan pada unit-unit tersembunyi dan output.
Pada intinya, pelatihan dengan metode Backpropagation terdiri atas tiga langkah, yaitu sebagai berikut.
a. Data dimasukkan ke input jaringan (feedforward)
b. Perhitungan dan propagasi balik dari error yang bersangkutan
c. Pembaharuan (adjustment) bobot dan bias.
Saat umpan maju (feedforward), setiap unit input (Xi) akan menerima
sinyal input dan akan menyebarkan sinyal tersebut pada tiap hidden unit
(Zj). Setiap hidden unit kemudian akan menghitung aktivasinya dan
mengirim sinyal (zj) ke tiap unit output. Kemudian, setiap unit output
(Yk) juga akan menghitung aktivasinya (yk) untuk menghasilkan respon
terhadap input yang diberikan jaringan.
Saat proses pelatihan (training) setiap unit output membandingkan
aktivasinya (yk) dengan nilai target (desired output) untuk menentukan
besarnya error. Berdasarkan error tersebut, dihitung faktor δk. Faktor
δk digunakan untuk mendistribusikan error dari output kembali ke layer
sebelumnya. Dengan cara yang sama, faktor δi juga dihitung pada hidden
unit Zj. Faktor δk digunakan untuk memperbaharui bobot antara hidden
layer dan input layer.
Setelah semua faktor δ ditentukan, bobot untuk semua layer di
sesuaikan secara bersamaan. Pembaharuan bobot Wjk (dari hidden unit Zj
ke unit output Yk) dilakukan berdasarkan faktor δk dan aktivasi zj dari
hidden unit Zj. Sedangkan, pembaharuan bobot vij (dari input unit Xi ke
hidden unit Zj) dilakukan berdasarkanfaktor δj dan aktivasi xi dari
input.
Langkah 1.Inisialisasi bobot dan bias. Baik bobot maupun bias dapat
diset dengan sembarang angka (acak) dan biasanya, angka di sekitar 0
dan 1 atau -1 (bias positif atau negatif).
Langkah 2.Jika stop condition masih belum terpenuhi, jalankan langkah 3-10
Langkah 3.Untuk setiap data training, lakukan langkah 4-9
Umpan maju (feedforward)
Langkah 4.Setiap unit input (Xi, i= 1,…n) menerima sinyal input xi
dan menyebarkan sinyal tersebut pada seluruh unit pada hidden unit.
Perlu diketahui bahwa input xi yang dipakai di sini adalah input
training data yang sudah diskalakan.
Langkah 5.Setiap hidden unit (Zj, j=1,…,p) akan menjumlahkan sinyal-sinyal input yang sudah berbobot, termasuk biasnya.
dan memakai fungsi aktivasi yang telah ditentukan untuk menghitung
sinyal output dari hidden unit yang bersangkutan. zj = f ( z _ inj ),(2)
lalu mengirim sinyal output tersebut ke seluruh unit pada unit output.
Langkah 6. Setiap unit output (Yk, k=1,..,m) akan menjumlahkan sinyal-sinyal input yang sudah berbobot, termasuk biasnya,
dan memakai fungsi aktivasi yang telah ditentukan untuk menghitung
sinyal output dari unit output yang bersangkutan yj = f ( y _ ink ),(4)
lalu mengirim sinyal output ini ke seluruh unit pada unit output.
Propagasi error (backpropagation of error
Langkah 7.Setiap unit output (Yk, k = 1,…,m) menerima suatu target
patter (desired output) yang sesuai dengan input training pattern untuk
menghitung kesalahan (error) antara target dengan output yang dihasilkan
jaringan. δk = (tk − yk ) f ‘( y _ ink )(5) Sebagaimana input training
data, output training data tk juga telah diskalakan menurut fungsi
aktivasi yang dipakai Faktor δk digunakan untuk menghitung koreksi error
(∆Wjk) yang nantinya akan dipakai untuk memperbaharui Wjk, di mana
(6)∆Wjk = αδkzj selain itu, juga dihitung koreksi bias ∆W0k yang
nantinya akan dipakai untuk memperbaharui ∆W0k, di mana: ∆W 0 k =
αδk(7) Faktor δk kemudian dikirimkan ke layer yang berada pada langkah
8.
Langkah 8.Setiap hidden unit (Zj, j = 1,…,p) menjumlahkan input delta (yang
dikirim dari layer pada langkah 7) yang sudah berbobot.
Kemudian, hasilnya dikalikan dengan turunan dari fungsi aktivasi yang
digunakan jaringan untuk menghasilkan faktor koreksi error j.
di mana δj = δ _ inj f ‘( z _ inj ) (9)
Faktor δj digunakan untuk menghitung koreksi error (∆vij) yang
nantinya akan dipakai untuk memperbaharui vij, di mana: (10) ∆vij = αδj
xi
Selain itu, juga dihitung koreksi bias ∆v0j yang nantinya akan dipakai untuk memperbaharui v0j, di mana: ∆v0 j = αδj(11)
Pembaharuan bobot (adjustment) dan bias
Langkah 9.Setiap unit output (Yk, k = 1,…,m) akan memperbaharui bias
dan bobotnya dari setiap hidden unit (j = 0,…,p), (12)wjk(baru) =
wjk(lama) + ∆wjk demikian pula, setiap hidden unit (Zj, j= 1,…, p) akan
memperbaharui bias dan bobotnya dari setiap unit input (i = 0,…,n)
wij(baru) = wij(lama) + ∆vij(13)
Langkah 10.Memeriksa stop condition.
ANALISIS DAN PERANCANGAN SISTEM
Perancangan piranti lunak jaringan saraf tiruan didasari oleh model
multilayer perceptron dengan propagasi balik dan fungsi aktifasi sigmoid
biner untuk setiap neuronnya. Ide dasar yang dapat dilakukan pada
penelitian ini adalah menentukan masukan yang akan dilakukan proses
pembelajaran, selain itu karena model yang dikembangkan ini adalah model
pembelajaran terawasi (supervised learning), maka normalisasi output
juga harus diberikan pada saat awal pengembangan sistem.
3.1 Analisis Masukan dan Keluaran
Masukan utama adalah citra peta wilayah. Citra peta berwarna kemudian
dirubah menjadi gambar dengan skala keabuan, metode yang dipakai untuk
menjadikan peta tersebut berwarna grayscale adalah konversi yang
dikeluarkan oleh CCIR Recommendation 601-1 yaitu pada persamaan 14 di
bawah ini.
Dengan Y adalah nilai piksel yang baru pada mode grayscale, R adalah
nilai piksel merah, G adalah nilai piksel hijau, dan B adalah nilai
piksel biru
Masukan sistem adalah normalisasi dari segmentasi piksel terhadap
wilayah per kecamatan se kotamadya Yogyakarta yang telah dibuat nilai
histogram terhadap nilai grayscale. Gambar dibatasi dengan format BMP
dengan jumlah piksel image 776 * 521 piksel. Segmentasi dilakukan dengan
tiga tahap, yaitu
a. Segmentasi bujur sangkar, yaitu dengan melakukan pengelompokan
piksel dengan jumlah 20 piksel horisontal dan 20 piksel vertikal,
sehingga didapat jumlah piksel 400 buah untuk satu segmentasinya.
b. Segmentasi horisontal, yaitu dengan melakukan pengelompokan piksel dengan jumlah piksel 20 secara horisontal.
c. Segmentasi vertikal, yaitu dengan malakukan pengelompokan piksel dengan jumlah piksel 20 secara vertikal.
Dari pengelompokan tersebut, kemudian di buat frekuensi nilai
penyebaran nilai terang dan nilai gelap suatu warna piksel. Sehingga,
bila frekuensi warna terang lebih besar dari frekuensi warna gelap akan
dinormalisasi menjadi nilai terang atau 1. Begitu juga sebaliknya. Dari
hasil normalisasi tersebut diatas, maka didapat jumlah masukan yang sama
untuk seluruh pola wilayah kecamatan yang diberikan (tabel 1) dan
jumlah masukan yang akan masuk pada jaringan adalah 257 (jumlah bit
biner hasil normalisasi). Karena model Backpropagation yang dikembangkan
menggunakan model supervised, maka nilai keluaran juga harus diberikan
dan diidentifikasi dahulu. Output adalah nama wilayah kecamatan yang ada
di kotamadya Yogyakarta, sehingga jumlah yang didapat adalah 14. Nilai
14 dalam domain biner yang dapat terlingkupi menjadi 4 buah digit,
sehingga dapat ditentukan nilai biner untuk tiap-tiap kecamatan
tersebut. Sehingga (tabel 1).
Tabel 1. Contoh nilai biner input dan nilai biner output pelatihan
Rancangan Arsitektur Sistem yang akan dibangun
Dari hasil perancangan masukan dan keluaran yang telah di analisa,
kemudian ditentukan jumlah hidden, baik jumlah layernya ataupun jumlah
unit pada tiap layer yang ada. Jumlah hidden ditentukan dengan cara
trial and error, dalam arti hasil pembelajaran yang tercepat dan terbaik
itulah yang akan menentukan jumlah hidden layer tersebut. Adapun
perancangan jaringan saraf tiruan backpropagation adalah seperti Gambar
2.
HASIL PERCOBAAN
Dari hasil perancangan yang telah dibuat dihasilkan percobaan yang
terbaik. Terbaik disini diartikan mempunyai hasil ketepatan atau
kebenaran yang cukup baik (lebih dari 82 %) dan pembelajaran (waktu
maupun kestabilan) yang cukup baik. Dari percobaan yang dilakukan
didapat jumlah iterasi maksimal yang dicapai mencapai 25000 iterasi, dan
diperlukan pembelajaran 14 jam terhadap seluruh pola yang diberikan.
Selain hal tersebut juga ditetapkan konstanta pembelajaran terbaik
adalah 0.02 dengan toleransi kesalahan 0.01 dan lapisan tersembunyi 1
layer dengan jumlah unit 10 (lihat Tabel 1 dan 2)s.
Tabel 2. Hasil pengujian dengan konstanta belajar 0.7
Tabel 3. Hasil pengujian dengan konstanta belajar 0.02
KESIMPULAN
JST backpropagation dapat melakukan pembelajaran dan pengenalan
terhadap suatu pola dengan tingkat generalisasi yang cukup tinggi.
Sistemidentifikasi menghasilkan tingkat generalisasi sebesar 82,330%.
Tingkat kegagalan (failure) terhadap data percobaan sebesar 17 % dari
total 100 percobaan.SUMBER: http://journal.uii.ac.id/index.php/media-informatika/article/viewFile/4/4
Tidak ada komentar:
Posting Komentar