Downscaling K-fold Cross Validation

input awal yang sedikit berbeda. Gambar 1 menunjukkan visualisasi layering pada GCM.

2.2 Downscaling

Downscaling didefinisikan sebagai upaya menghubungkan antara sirkulasi peubah skala global peubah penjelas dan peubah skala lokal peubah respon, Sutikno 2008. Istilah downscaling sering salah jika diartikan secara tekstual yaitu suatu cara untuk meningkatkan resolusi. Downscaling lebih menunjukkan proses perpindahan dari peubah penjelas ke peubah respon, yaitu perpindahan dari skala besar ke skala kecil regionaltitik. Gambar 2 memberikan ilustrasi proses downscaling. Pendekatan statistical downscaling SD menggunakan data regional statistic dynamical downscaling atau global statistical downscaling untuk Gambar 1 Visualisasi Layering pada GCM Sumber: Climatic Research Unit memperoleh hubungan fungsional antara skala lokal dengan skala global GCM, seperti model regresi. Pendekatan SD disusun berdasarkan adanya hubungan antara grid skala besar prediktor dengan grid skala lokal respon yang dinyatakan dengan model statistik yang dapat digunaan untuk menterjemahkan anomali-anomali skala global yang menjadi anomali dari beberapa peubah iklim lokal Zorita dan Storch 1999, dalam Wigena 2006. Dalam hal ini SD merupakan suatu fungsi transfer yang menggambarkan hubungan fungsional sirkulasi atmosfer global dengan unsur-unsur iklim lokal, yang bentuk umumnya adalah : , , , , g s q t p t X f Y  1 Dengan : Y : Peubah-peubah iklim lokal q : banyaknya peubah X X : Peubah-peubah luaran GCM s : banyaknya lapisan atmosfer t : periode waktu g : banyaknya grid domain GCM p : banyaknya peubah Y Gambar 2 Ilustrasi proses downscaling, Sumber : Sutikno 2008 Peubah penjelas GCM Dynamical Downscaling Observasi permukaan Peubah respon Statistical Downscaling RCM

2.3 Jaringan Saraf Tiruan Neural Network

Jaringan saraf tiruan JST 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 mengenali kegiatan dengan berbasis data pada masa lalu. Data masa lalu akan dipelajari oelh jaringan saraf tiruan sehingga mempunyai kemampuan untuk memberi keputusan terhadap data yang belum pernah dipelajari Hermawan 2006. Jaringan saraf tiruan didefinisikan sebagai suatu system pemerosesan informasi yang mempunyai karakteristik menyerupai jaringan saraf manusia. JST tercipta sebagai suatu generalisasi model matematis dari pemahaman manusia human cognition yang didasarkan atas asumsi sebagai berikut: 1 Pemrosesan informasi terjadi pada elemen sederhana yang disebut neuron Gambar 3. 2 Isyarat mengalir di antara sel sarafneuron melalui suatu sambungan penghubung, 3 Setiap sambungan penghubung memiliki bobot yang bersesuaian. Bobot ini akan digunakan untuk menggandakanmengalikan isyarat yang akan dikirim melaluinya. 4 Setiap sel saraf akan menerapkan fungsi aktivasi terhadap isyarat hasil penjumlahan berbobot yang masuk kepadanya untuk menentukan isyarat keluarannya. Gambar 3 Sel neuron pada manusia Sumber: http:vv.carleton.ca~neilneuralneuron-a.html Berbeda dengan metode lain, algoritma untuk JST beroperasi secara langsung dengan angka sehingga data yang tidak numerik harus diubah menjadi data numerik. Dibandingkan dengan cara perhitungan konvensional, JST tidak memerlukan atau menggunakan suatu model matematis atas permasalahan yang dihadapi. Oleh karena itu, JST juga dikenal sebagai model free-estimator. JST memiliki sejumlah besar kelebihan dibandingkan dengan metode perhitungan lainnya Hermawan 2006, yaitu: 1 Kemampuan mengakuisisi pengetahuan walaupun dalam kondisi ada gangguan dan ketidakpastian. Hal ini karena JST mampu melakukan generalisasi, abstraksi, dan ekstraksi terhadap properti statistik dari data.. 2 Kemampuan mereprentasikan pengetahuan secara fleksibel. JST dapat menciptakan sendiri representasi melalui pengaturan sendiri atau kemampuan belajar self organizing. 3 Kemampuan untuk memberikan toleransi atas suatu distorsi errorfault, di mana gangguan kecil pada data dapat dianggap hanya sebagai noise guncangan belaka. 4 Kemampuan memproses pengetahuan secara efisien karena memakai sistem paralel, sehingga waktu yang diperlukan untuk mengoperasikannya menjadi lebih singkat. Walaupun memiliki beberapa kelebihan, JST juga mempunyai sejumlah keterbatasan, antara lain kekurangmampuannya dalam melakukan operasi-operasi numerik dengan presisi tinggi, operasi algoritma aritmatik, operasi logika, dan operasi simbolis serta lamanya proses pelatihan yang terkadang membutuhkan waktu berhari-hari untuk jumlah data yang besar. JST memiliki kemampuan yang sangat baik untuk beberapa aplikasi, antara lain klasifikasi, asosiasi, self organizing, dan optimasi. Karakteristik JST ditentukan oleh: 1 Pola hubungan antar-neuron disebut dengan arsitektur jaringan, 2 Metode penentuan bobot-bobot sambungan disebut dengan pelatihan atau proses belajar jaringan, 3 Fungsi aktivasi. Pembagian aristektur JST bisa dilihat dari kerangka kerja dan skema interkoneksi. Kerangka kerja JST bisa dilihat dari jumlah lapisan layer dan jumlah node pada setiap lapisan. Lapisan-lapisan penyusun JST dapay dibagi menjadi tiga Gambar 4, yaitu: 1 Lapisan input input layer Node-node di dalam lapisan input disebut unit-unit input. Unit-unit input menerima input dari dunia luar. Input yang dimasukkan merupakan penggambaran dari suatu masalah. 2 Lapisan tersembunyi hidden layer Node-node di dalam lapisan tersembunyi disebut unit-unit tersembunyi. Output dari lapisan ini tidak secara langsung dapat diamati. 3 Lapisan output output layer Node-node pada lapisan output disebut unit-unit output. Keluaran dari lapisan ini merupakan output JST terhadap suatu permasalahan. Gambar 4 Arsitektur Jaringan Saraf Tiruan Sumber: http:yeni.herdiyeni.staff.ipb.ad.id

2.3.1 Backpropagation

Jaringan saraf dengan lapisan tunggal memiliki keterbatasan dalam pengenalan pola. Kelemahan ini bisa ditanggulangi dengan menambahkan satubeberapa lapisan tersembunyi di antara lapisan masukan dan keluaran. Meskipun penggunaan lebih dari satu lapisan tersembunyi memiliki kelebihan manfaat untuk beberapa kasus, akan tetapi pelatihannya membutuhkan waktu yang lebih lama. Maka pada umumnya orang mulai mencoba mengguanakan sebuah lapisan tersembunyi terlebih dahulu Siang 2005. Backpropagation melatih jaringan untuk mendapatkan keseimbangan antara kemampuan jaringan untuk mengenali pola yang digunakan selama pelatihan serta kemampuan jaringan untuk memberikan respon yang benar terhadap pola masukan yang serupa dengan pola yang dipakai selama pelatihan.

2.3.2 Fungsi Aktivasi

Fungsi aktivasi merupakan fungsi yang menentukan level aktivasi, yakni keadaan internal sebuah neuron dalam jaringan syaraf tiruan. Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat, yaitu kontinu, terdiferensial dengan mudah dan meruapakan fungsi yang tidak turun. Fungsi aktivasi yang sering digunakan antara lain:  Fungsi Sigmoid Biner Fungsi ini merupakan fungsi yang umum digunakan Siang 2005. Range-nya adalah 0,1 dan didefinisikan sebagai: 2 dengan turunan pertama: 3 Fungsi sigmoid biner ini diilustrasikan pada Gambar 5. Gambar 5 Fungsi sigmoid biner dengan range 0,1 1  Fungsi Sigmoid Bipolar Fungsi sigmoid bipolar merupakan fungsi yang memiliki range -1,1 dan didefinisikan sebagai: 4 dengan turunan: 5 Fungsi sigmoid bipolar digambarkan pada Gambar 6. Gambar 6 Fungsi sigmoid bipolar dengan range -1,1  Fungsi Identitas Fungsi aktivasi identitas akan menghitung nilai output dari neuron dan mengembalikan nilai tersebut menggunakan fungsi linier. Fungsi identitas didefinisikan sebagai: dimana . Fungsi identitas dapat dilihat pada Gambar 7. Gambar 7 Fungsi Identitas fx x

2.3.3 Algoritme Pelatihan Backpropagation

Pelatihan backpropagation meliputi 3 fase. Fase pertama adalah fase maju. Pola masukan dihitung maju mulai dari lapisan masukan hingga lapisan keluaran menggunakan fungsi aktivasi yang ditentukan. Fase kedua adalah fase mundur. Selisih antara keluaran jaringan dengan target yang diinginkan merupakan kesalahan yang terjadi. Kesalahan tersebut dipropagasikan mundur, dimulai dari garis yang berhubungan langsung dengan unit-unit di lapisan keluaran. Fase ketiga adalah modifikasi bobot untuk menurunkan kesalahan yang terjadi. Contoh struktur jaringan saraf tiruan yang akan digunakan pada algoritme ini dapat dilihat pada Lampiran 1. Algoritme pelatihan backpropagation adalah sebagai berikut: Langkah 0. Inisialisasi bobot biasanya digunakan nilai acak yang kecil Langkah 1. Selama syarat henti salah, lakukan langkah 2-9 Langkah 2. Untuk setiap pasangan pelatihan masukan dan target, lakukan 3-8 Fase 1 : Propagasi maju. Langkah 3. Setiap unit masukan X i ,i=1,...,n menerima sinyal masukan x i dan meneruskannya ke seluruh unit pada lapisan di atasnya hidden units. Langkah 4. Setiap unit tersembunyi Z j ,j=1,...,p menghitung total sinyal masukan terboboti     n i ij i j j v x v in z 1 _ 6 lalu menghitung sinyal keluarannya dengan fungsi aktivasi _ j j in z f z  7 dan mengirimkan sinyal ini ke seluruh unit pada lapisan di atasnya lapisan output Langkah 5. Setiap unit output Y k ,k=1,...,m menghitung total sinyal masukan terboboti     p i jk j k k w x w in y 1 _ 8 Lalu menghitung sinyal keluaran dengan fungsi aktivasi _ k k in y f y  9 Fase 2: Propagasi mundur Langkah 6. Setiap unit output Y k ,k=1,...,m menerima sebuah pola target yang sesuai dengan pola masukan pelatihannya. Unit tersebut menghitung informasi kesalahan _ k k k in y f y t    Kemudian menghitung koreksi bobot digunakan untuk mengubah w jk nanti, j k jk z w    dan menghitung koreksi bias k k w    serta mengirimkan nilai k  ke unit lapisan di bawahnya Langkah 7. Setiap unit tersembunyi Z j ,j=1,...,p menghitung selisih input dari unit-unit pada layer diatasnya    m k jk k j w in 1 _   10 lalu mengalikannya dengan turunan fungsi aktivasi untuk menghitung informasi error. __ _ j j j in z f in    11 selanjutnya menghitung koreksi bobot untuk mengubah v ij sebesar i j ij x v    12 dan menghitung koreksi biasnya j j v    Fase 3: Perubahan bobot. Langkah 8. Setiap unit output Y k ,k=1,...,m diubah bias dan bobot-bobotnya j=0,...,p : jk jk jk w old w new w    13 setiap unit tersembunyi Z j ,j=1,...,p diubah bias dan bobot- bobotnya i=1,...,n : ij ij ij v old v new v    14 Langkah 9. Uji syarat henti : Jika besar total squared-error    n k k k y t 1 2 lebih kecil dari toleransi yang telah ditentukan atau jumlah epoh pelatihan sudah mencapai epoh maksimum, maka selesai; jika tidak maka kembali ke langkah 1. Nilai toleransi  yang digunakan adalah 1   

2.3.4 Algoritme Pelatihan Lavenberg-Marquardt

Algoritme pelatihan Lavenberg-Marquardt LM merupakan algoritme pelatihan yang memiliki kemampuan memperoleh nilai konvergen yang cepat dibandingkan dengan algoritme pelatihan lain dalam kasus fungsi aproksimasi Beale et al 2011. Langkah dasar dari algoritme Lavenberg-Marquardt LM adalah penentuan matriks Hessian untuk mencari bobot-bobot dan bias koneksi yang digunakan dalam pelatihan JST Warsito 2007. Matriks Hessian adalah turunan kedua dari fungsi kinerja terhadap setiap komponen bobot dan bias. Untuk memudahkan komputasi, matriks Hessian diubah dengan pendekatan iterative pada setiap epoch selama algoritme pelatihan berjalan. Proses perubahannya dilakukan dengan menggunakan fungsi gradien. Apabila fungsi kinerja yang digunakan berbentuk jumlah kuadrat error SSE, maka matriks Hessian dapat diestimasi dengan persamaan berikut: 15 Dimana: : parameter Marquardt I : matriks identitas J : matriks Jakobian yang terdiri dari turunan pertama error jaringan terhadap masing-masing komponen bobot dan bias. Matriks Jakobian tersusun dari turunan pertama fungsi error terhadap masing-masing komponen bobot dan bias koneksi jaringan Hagan 1994. Nilai parameter Marquardt dapat berubah pada setiap epoch. Jika setelah berjalan satu epoch nilai fungsi error menjadi lebih kecil, nilai akan dibagi oleh faktor . Bobot dan bias baru yang diperoleh akan dipertahankan dan pelatihan dapat dilanjutkan ke epoch berikutnya. Sebaliknya, jika setelah berjalan satu epoch nilai fungsi error menjadi lebih besar maka nilai akan dikalikan faktor . Nilai perubahan bobot dan bias dihitung kembali sehingga menghasilkan nilai yang baru. Algoritme pelatihan dengan metode Levenberg-Marquardt dapat dijabarkan sebagai berikut: Langkah 0 :  Inisialisasi bobot awal dengan bilangan acak kecil  Inisialisasi epoch 0, MSE 0  Tetapkan maksimum epoch parameter LM , faktor dan target error. Langkah 1 : Jika kondisi penghentian belum terpenuhi epoch epoch maksimum atau MSE target error, lakukan langkah berikutnya. Langkah 2 :  Epoch = epoch + 1  Untuk setiap data pelatihan, lakukan langkah 3 – 4. Langkah 3 : Unitneuron output Y menerima target pola yang berhubungan dengan pola input pelatihan. Jika diberikan N pasangan input data pelatihan X r , t r , r = 1,2,…,N, dengan X r adalah input dan tr adalah target yang akan dicapai. Kesalahan pada suatu data pelatihan ke-r didefinisikan sebagai: e r = t r - y r 16 dengan : e r : kesalahan pada unit output t r : keluaran yang diinginkan target y r : keluaran actual. e adalah vektor kesalahan berukuran N x 1 yang tersusun dari e r , r = 1,2,…,N. e dapat dituliskan sebagai: . Misal bobot dan bias koneksi dinyatakan dalam vektor w, w merupakan vektor berukuran 2+np+1x1 dapat dituliskan sebagai: . Kesalahan suatu pelatihan jaringan oleh vektor bobot dan bias koneksi w pada suatu data pelatihan ke-r menjadi: e r w = t r – y r = t r – f x r , w 17 Vektor kesalahan oleh vektor bobot dan bias koneksi w menjadi ew berukuran Nx1 yang tersusun dari e r w , dengan r = 1,2,…,N. Hitung fungsi jumlah kuadrat error dengan persamaan: 18 Hitung matriks Jacobian untuk vektor bobot dan bias koneksi: 19 untuk r = 1,2,…N a. Hitung matriks Hessian untuk vektor bobot dan bias koneksi. 20 b. Hitung perubahan vektor bobot dan bias dengan persamaan berikut: 21 c. Hitung vektor bobot dan bias baru. 22 d. Hitung kesalahan yang terjadi oleh bobot dan bias koneksi yang baru. 23 e. Bandingkan Ew dengan Ewbaru.  Jika Ew = Ewbaru maka didapatkan dan kembali ke langkah a.  Jika Ew Ewbaru maka didapatkan 24 25 Kembali ke langkah 2.

2.4 K-fold Cross Validation

K-fold cross validation dilakukan untuk membagi training set dan test set. K-fold cross validation mengulang k-kali untuk membagi sebuah himpunan contoh secara acak menjadi k subset yang saling bebas, setiap ulangan disisakan satu subset untuk pengujian dan subset lainnya untuk pelatihan Tang et al 2008.

2.5 Jarak Euclid