## Optimasi Learning Radial Basis Function Neural Network dengan Extended Kalman Filter
Oni Soesanto, S.Si. M.Si 1, Arfan Eko Fahrudin, S.Si., M.Eng 2 Dodon Turianto N., S.Kom., M.Eng 3 1 Program Studi Matematika FMIPA Universitas Lambung Mangkurat 2 Program Studi Fisika FMIPA Universitas Lambung Mangkurat
3 Program Studi Ilmu Komputer FMIPA Universitas Lambung Mangkurat

## Abstrak
Dalam  paper  ini  dibahas  mengenai  optimasi  Radial  Basis  Function  Neural Network  (RBFNN)  dengan  Extended  Kalman  Filter.  Proses  learning  RBF  dengan Extended  Kalman  Filter  menggunakan  parameter  bobot    pada  hidden  center  RBF yaitu noise proses pada perhitungan bobot hidden center dan noise pengukuran pada data  output.  Extended  Kalman  Filter  pada  jaringan  syaraf    RBF  berfungsi mengoptimalkan bobot pada  hidden center dengan meminimalkan error pada output RBF dengan parameter proses pada unit center RBF dan parameter bobot output pada output layer.  Bobot output optimal diperoleh  pada  saat  error output pada  training RBF  telah  konvergen,  selanjutnya  digunakan  untuk  proses  testing.  Algoritma Extended  Kalman Filter dan  Radial  Basis Fuction (EKF-RBF) memungkinkan proses learning memungkinkan center dan variansi  pada  hidden  layer  tidak perlu dihitung sebelum bobot output optimum ditemukan. Hasil simulasi menunjukkan bahwa pada training,  performansi  klasifikasi  algoritma  EKF-RBF  mampu  mengenali  rata-rata 92.42%  dan  untuk  prediksi  didapatkan  MAE  sebesar  5,3846  dan  RMSE  sebesar 16,2398  dengan CPU time 24,4146  detik dengan iterasi rata-rata 68,8  iterasi, testing in sample  rata-rata MAE sebesar  4,3388,  rata-rata RMSE sebesar  13,2230  dan rata- rata CPU time sebesar  0,1123  detik  sedangkan  pada  testing out sample didapatkan rata-rata  MAE sebesar  4,1065,  RMSE sebesar  11,0126  dan CPU time sebesar  0,0265 detik.
Kata kunci : Extended Kalman Filter, Extended Kalman Filter – Radial Basis Function (EKF-RBF), Optimasi Jaringan Syaraf RBF

## 1. PENDAHULUAN
Jaringan syaraf tiruan atau Neural Network adalah suatu metode komputasi yang  meniru  sistem  jaringan  syaraf  biologis.  Metode  ini  menggunakan  elemen perhitungan  non-linier  dasar  yang  disebut  neuron yang  diorganisasikan  sebagai jaringan yang saling berhubungan, sehingga mirip dengan jaringan syaraf manusia. Jaringan syaraf dibedakan menjadi single layer dan multilayer (Fausset, 1994).
Salah  satu  jaringan  syarat  tiruan  dengan  multilayer    adalah  Radial  Basis Function Neural Network  (RBFNN). RBFNN tidak hanya memiliki kemampuan yang bagus  untuk  melakukan  klasifikasi,  tapi  juga  mempunyai  kecepatan  dan  tingkat keakuratan yang tinggi.  Struktur jaringan RBFNN standar terdiri dari dua lapisan, lapisan tersembunyi (hidden layer) nonlinier dan lapisan output linier (Dachapak, 2004).  Namun,  kelebihan  jaringan  RBFNN  berkurang  ketika  berkenaan  dengan
ruang  input  dengan  dimensi  yang  sangat  tinggi  sehingga  diperlukan penyederhanaan jaringan (Lu dkk., 2004).
Beberapa  metode  penyederhanaan  RBFNN  telah  dilakukan  diantaranya dengan menentukan lokasi center menggunakan teknik  instance reduction (Yousef dan Hindi,  2006), turunan parsial fungsi randomnya (Wang dkk.,  2006), Localized RBF Kernels (Cho dkk.,  2006) dan Principal  Component Analysis  (PCA)  (Lu  dkk., 2004).
Training  pada  RBFNN  menggunakan  struktur  khusus  yang  melibatkan dimensi tinggi  dan nonlinier input pada hidden layernya  untuk simulasi sejumlah training data yang memerlukan akurasi tinggi. Dengan struktur RBFNN yang khusus tersebut  maka  seringkali  menimbulkan  permasalahan  karena  hidden  layernya terlalu  besar, sehingga  diperlukan  penyederhanaan jaringan  (Wang  dkk.,  2006). Selanjutnya untuk proses pembelajaran (learning), penentuan center pada RBPNN mengikuti  model  pemilihan  center pada PNN  yaitu  dengan menggunakan  semua data training sebagai center. Untuk optimalisasi bobot pada layer output sekaligus parameter-parameter  selain  jumlah  hidden  center  (seperti  spread,  center,  dan bobot output) pada RBFNN dapat dilakukan dengan Kalman Filter (Amir, P., 2012).
Kelebihan learning RBFNN dengan Kalman Filter adalah center dan variansi pada hidden layer tidak perlu dihitung sebelum bobot output optimum ditemukan, dan proses inversi matriks hidden dapat diganti dengan pembagian biasa sehingga proses kompleksitas komputasinya dapat direduksi (Simon, 2002). Haykin (2001), secara khusus membahas Kalman Fiter untuk neural network dan beberapa varian Kalman Filter dan aplikasinya pada neural network seperti Unscented Kalman Filter pada  RBFNN    (Amir,  2012)  dan  Extended  Kalman  Filter  untuk  forecasting  (de Oliveira,  2013).  Liu, et.al.  (2012) menggunakan iterated unscented Kalman Filter untuk forecasting dengan backpropagation.
Dalam paper ini dibahas mengenai RBFNN dengan mengoptimalkan hidden centernya serta simulasi menggunakan Kalman Filter. RBFNN dan Extended Kalman Filter ini digunakan untuk prediksi debit sungai di Bendungan Sutami Malang.

## 2. METODE PENELITIAN

## 2.1 Extended Kalman Filter - Radial Basis Function (EKF-RBF)
Jaringan syaraf   RBF adalah model  jaringan  syaraf dengan  satu unit  pada hidden layer, dimana fungsi aktivasinya adalah fungsi basis dan fungsi linear pada lapisan  output.  Model  ini  merupakan  pemetaan  fungsi  nonlinier  multidimensi berdasar pada  jarak  antara  vektor  input  dan  vektor  center.  RBF  dengan  input berdimensi  n, dan  output  tunggal, dengan  jumlahan  bobot  dari berhingga banyak Fungsi Radial Basis dapt direpresentasikan seperti pada Gambar 1.
n x     y
Gambar  1.  Diagram  representasi dari Jaringan syaraf  Fungsi Radial  Basis d engan input berdimensi
n, dan output tunggal,
Kalman  Filter  adalah  suatu  pendekatan  teknis  untuk  menaksir  fungsi parameter  dalam  peramalan  atau  prediksi  deret  berkala  (time  series)  dengan kemampuan mengestimasi  suatu keadaan berdasarkan data yang  minim.  Kalman Filter  merupakan  suatu  algoritma  yang  menggabungkan  model  state  dan pengukuran.  Data  pengukuran  terbaru  menjadi  bagian  penting  dari  algoritma Kalman Filter karena data mutakhir akan mengoreksi hasil prediksi, sehingga hasil estimasi selalu mendekati kondisi yang sebenarnya (de Oliveira, 2012).
Penggunaan Extended  Kalman  Filter  pada  Neural Network  diperkenalkan oleh Singhal dan Wu (1989) pada jaringan multilayer feedforward. Jaringan syaraf RBF adalah model jaringan  syaraf multilayer  feedforward dengan satu  unit  pada hidden layer, dimana fungsi aktivasinya adalah fungsi basis dan fungsi linear pada lapisan  output.  Model  ini  merupakan  pemetaan  fungsi  nonlinier  multidimensi berdasar pada jarak antara vektor input dan vektor center. Proses training pada RBF neural network secara umum dapat dipandang sebagai permasalahan estimasi state untuk  sistem  nonlinier.  Jaringan    syaraf  RBF  dapat  digambarkan  sebagai  suatu sistem nonliner dengan suatu state berupa vektor bobot. RBF dapat diformulasikan sebagai konsep state space yang mirip dengan sistem dinamik  nonlinier sehingga dapat dicari vektor bobot terbaik dengan Extended Kalman Filter (Simon, 2002).
Respon output jaringan RBF dengan fungsi hidden center  RBF secara umum diberikan sebagai 𝑔(𝑣) = [𝑔 0 (𝑣)] 1/(1−𝑝 ) dapat dituliskan dalam bentuk berikut
ŷ = [ 𝑤 10 𝑤 11 𝑤 20 𝑤 21 ⋮ 𝑤 𝑛0 ⋮ 𝑤 𝑛1 … 𝑤 1𝑐 … 𝑤 2𝑐 ⋮ ⋯ ⋮ 𝑤 𝑛𝑐 ] [ 1 𝑔(‖𝑥 − 𝑣 1 ‖ 2 ) ⋮ 𝑔(‖𝑥 − 𝑣 𝑐 ‖ 2 ) ] ... (1)
dimana matriks bobot
[ 𝑤 10 𝑤 11 𝑤 20 𝑤 21 ⋮ 𝑤 𝑛0 ⋮ 𝑤 𝑛1 … 𝑤 1𝑐 … 𝑤 2𝑐 ⋮ ⋯ ⋮ 𝑤 𝑛𝑐 ] = [ 𝑤 1 𝑇 𝑤 1 𝑇 ⋮ 𝑤 𝑛 𝑇 ] = W ... (2)
Jika diberikan sejumlah M data training dengan respon input-output {xi, yi} dimana  (i=1,...,M),  maka  persamaan  dapat  diperluas  dengan 𝒚 ̂ = [𝑦̂ 1 …    𝑦̂ 𝑀 ] , sehingga persamaan (1) dapat dituliskan
ŷ = WH ... (3) n x     y
Untuk  meminimumkan  error  training  menggunakan  Gradient  Descent, dengan  error  function  didefinisikan  sebagai  kuadrat  matriks  norm  Frobenius berikut
𝐸 = 1 2 ‖Y − Y ̂‖ 𝐹 2 ... (4)
Dimana Y adalah matriks nilai target dari output RBF. Turunan parsial Y ̂ terhadap bobot 𝑤 𝑖 dan parameter 𝑣 𝑖 adalah
𝜕𝐸 𝜕𝑤 𝑖 = ∑(𝑦̂ 𝑖𝑘 − 𝑦 𝑖𝑘 ) 𝑀 𝑘=1 ℎ 𝑘 ,    (𝑖 = 1, … , 𝑛) 𝜕𝐸 𝜕𝑣 𝑖 = ∑ 2𝑔′ (‖𝑥 𝑘 − 𝑣 𝑗 ‖ 2 ) 𝑀 𝑘=1 (𝑥 𝑘 − 𝑣 𝑗 ) ∑ (𝑦 𝑖𝑘 − 𝑦̂ 𝑖𝑘 )𝑤 𝑖𝑗 𝑀 𝑘 =1 ,    (𝑗 = 1, … , 𝑐) ... (5)
Dimana 𝑦̂ 𝑖𝑘 adalah elemen baris ke-i dan kolom ke-k dari matriks Y ̂ dan 𝑦 𝑖𝑘 adalah elemen  matriks  Y.  Perubahan   bobot W    dan parameter  vj  secara itertif  adalah sebagai berikut
𝑤 𝑖 = 𝑤 𝑖 − 𝜂 𝜕𝐸 𝜕𝑤 𝑖 ,     (𝑖 = 1, … , 𝑛) 𝑣 𝑗 = 𝑣 𝑗 − 𝜂 𝜕𝐸 𝜕 𝑣 𝑗 ,     (𝑗 = 1, … , 𝑐) ... (6)
dimana 𝜂 adalah ukuran parameter gradient descent (Simon, 2002). Kalman  Filter  digunakan  untuk  meminimumkan  error pada  training  RBF. Bentuk  sistem  dinamik  nonlinier  dari  jaringan  syaraf  RBF  dapat  digambarkan sebagai  sistem  waktu  diskrit  nonlinier  dimensi  n,  secara  matematis  dinyatakan sebagai berikut:
𝜃 𝑘 +1 = 𝑓(𝜃 𝑘 ) + 𝜔 𝑘 𝑦 𝑘 = ℎ(𝜃 𝑘 ) + 𝑣 𝑘 ... (7) dimana  vektor 𝜃 𝑘 adalah sistem  state pada saat  ke-k, 𝜔 𝑘 noise  proses, 𝑦 𝑘 adalah vektor output, 𝑣 𝑘 noise output dan f(.) dan h(.) adalah fungsi vektor non linier dari state.
Permasalahan  dalam  Extended  Kalman  Filter  adalah  menentukan  nilai estimasi 𝜃̂ 𝑛+1 dari 𝜃 𝑘+1 yang diberikan y j dimana  j=0,...,  k.  Jika nonlinieritas  pada state space cukup smooth, estimasi state 𝜃̂ 𝑘 dapat diekspansi ke bentuk deret Taylor sehingga diperoleh
𝑓(𝜃 𝑘 ) = 𝑓(𝜃̂ 𝑘 ) + 𝐹 𝑘 × (𝜃 𝑘 − 𝜃̂ 𝑘 ) + bentuk orde lebih tinggi ℎ(𝜃 𝑘 ) = ℎ(𝜃̂ 𝑘 ) + 𝐻 𝑘 𝑇 × (𝜃 𝑘 − 𝜃̂ 𝑘 ) + bentuk orde lebih tinggi dimana didefinisikan bentuk
𝐹 𝑘 = 𝜕𝒇(𝜃) 𝜕𝜃 | 𝜃=𝜃 ̂ 𝑘 dan 𝐻 𝑘 𝑇 = 𝜕𝒉((𝜃)) 𝜕𝜃 | 𝜃=𝜃 ̂ 𝑘 ... (8)
Bentuk orde lebih tinggi dapat diaproksimasi menggunakan
𝜃 𝑘 +1 = 𝐹 𝑘 𝜃 𝑘 + 𝜔 𝑘 + 𝜙 𝑘 dan 𝑦 𝑘 = 𝐻 𝑘 𝑇 𝜃 𝑘 + 𝑣 𝑘 + 𝜑 𝑘 ... (9)
dimana
𝜙 𝑘 = 𝑓(𝜃̂ 𝑘 ) − 𝐹 𝑘 (𝜃̂ 𝑘 ) dan 𝜑 𝑘 =  ℎ(𝜃̂ 𝑘 ) − 𝐻 𝑘 𝑇 ℎ(𝜃̂ 𝑘 )
Untuk estimasi 𝜃̂ 𝑛 secara rekursif dapat diperoleh
𝜃̂ 𝑘 = 𝑓(𝜃̂ 𝑘−1 ) + 𝐾 𝑘 [𝑦 𝑘 − ℎ(𝜃̂ 𝑘−1 )] 𝐾 𝑘 = 𝑃 𝑘 𝐻 𝑘 (𝑅 + 𝐻 𝑘 𝑇 𝑃 𝑘 𝐻 𝑘 ) −1 𝑃 𝑘+1 = 𝐹 𝑘 (𝑃 𝑘 − 𝐾 𝑘 𝐻 𝑘 𝑇 𝑃 𝑘 )𝐹 𝑘 𝑇 + 𝑄 ... (10)
dimana 𝐾 𝑘 adalah Kalman Gain, 𝑃 𝑘 adalah matriks kovarian dari error estimasi state, 𝜃̂ 𝑘 +1 adalah estimasi state yang optimal pada kondisi 𝐴𝐸[𝜃 𝑘+1 |(𝑦 0 , 𝑦 1 , … , 𝑦 𝑘 )] untuk sejumlah k (Simon, 2002).
Kalman Filter dapat diaplikasikan pada proses training jaringan syaraf tiruan RBF. Dalam jaringan RBF, Kalman Filter digunakan untuk optimasi bobot matriks W dari hidden layer serta minimasi  parameter v yaitu bobot kuadrat terkecil.  Vektor error yang dihasilkan merupakan perbedaan antara output RBF dan nilai target dari output yang telah ditentukan. Misalkan diberikan jaringan syaraf dengan serjumalh m input,  c jumlah hidden center dan m output dengan y  adalah vektor target dari output RBF didefinisikan
𝑦 = [𝑦 11 ⋯ 𝑦 1𝑀 ⋯ 𝑦 𝑛1 ⋯ 𝑦 𝑛𝑀 ] 𝑇 ... (11)
maka ℎ(𝜃̂ 𝑘 ) adalah output aktual pada iterasi ke-k  diberikan
ℎ(𝜃̂ 𝑘 ) = [𝑦̂ 11 ⋯ 𝑦̂ 1𝑀 ⋯ 𝑦̂ 𝑛1 ⋯ 𝑦̂ 𝑛𝑀 ] 𝑘 𝑇 , ... (12)
dimana  y  dan 𝑦̂ adalah  vektor  merukuran  nM elemen  dengan n  adalah  dimensi output RBF dan M  adalah jumlah sampel training.
Pada proses optimasi dengan Kalman Filter, state sistem persamaan nonlinier dinyatakan dalam
𝜃 = [𝑤 1 𝑇 ⋯ 𝑤 𝑛 𝑇 ⋯ 𝑣 1 𝑇 ⋯ 𝑣 𝑐 𝑇 ] 𝑇 , . .. (13)
dimana  vektor 𝜃 terdiri dari sejumlah  (n(c+1)+mc) parameter RBF. Model  sistem non linier  dengan  Kalman Filter  pada RBF adalah 𝜃 𝑘 +1 = 𝜃 𝑘 ; 𝑦 𝑘 = ℎ(𝜃 𝑘 ) ,  dimana ℎ(𝜃 𝑘 ) adalah fungsi pemetaan non linier antara paramer-parameter RBF dan output. Pada  proses  kestabilan  algoritma  Kalman  Filter,  ditambahakan  parameter  noise process dan measurement noise sehingga model sistem menjadi
𝜃 𝑘+1 = 𝜃 𝑘 + 𝜔 𝑘 ; 𝑦 𝑘 = ℎ(𝜃 𝑘 ) + 𝑣 𝑘 , ... (14) yang selanjutnya dilakukan proses rekursif pada persamaan (10).
Turunan  parsial  dari  output  RBF  yang  berhubungan  dengan  parameter jaringan RBF dinyatakan sebagai
𝐻 𝑘 = [ 𝐻 𝑤 𝐻 𝑣 ] , dengan 𝐻 𝑤 = [ 𝐻 0 0 ⋮ 0 𝐻 ⋮ ⋯ ⋯ 0 ⋯ ⋮ 0 0 ⋮ 𝐻 ] dan 𝐻 𝑣 = [ −𝑤 11 𝑔 11 ′ 2(𝑥 1 − 𝑣 1 ) ⋯ ⋯ ⋮ −𝑤 1𝑐 𝑔 1𝑐 ′ 2(𝑥 1 − 𝑣 𝑐 ) ⋯ ⋮ ⋯ −𝑤 𝑛1 𝑔 𝑚1 ′ 2(𝑥 𝑚 − 𝑣 1 ) ⋯ −𝑤 𝑛1 𝑔 𝑚1 ′ 2(𝑥 𝑚 − 𝑣 1 ) ⋯ ⋮ −𝑤 1𝑐 𝑔 𝑚𝑐 ′ 2(𝑥 𝑚 − 𝑣 𝑐 ) ⋯ ⋯ ⋮ −𝑤 𝑛𝑐 𝑔 𝑚𝑐 ′ 2(𝑥 𝑚 − 𝑣 𝑐 ) ] ... (15)
Dimana H  adalah matriks  berukuran (c+1)×M   pada persamaan (10), 𝑤 𝑖𝑗 adalah elemen baris ke-i dan kolom ke-j dari matriks bobot W pada persamaaan (3), 𝑔 𝑖𝑗 ′ = 𝑔 (‖𝑥 𝑖 − 𝑣 𝑗 ‖ 2 ) dengan 𝑔(. ) adalah fungsi aktivasi pada hidden layer, 𝑥 𝑖 adalah input vektor ke-i, dan 𝑣 𝑗 adalah parameter noise pengukuran ke-j.  Matriks 𝐻 𝑘 berukuran (n(c+1)+nM),  matriks 𝐻 𝑣 berukuran  (mc×nM)    dan  matriks 𝐻 𝑘 berukuran (n(c+1)+mc) ×nM.
Dengan mengambil 𝑦 𝑘 ′ sebagai elemen target output RBF yang dipengaruhi oleh vektor parameter ke-i yang dinyatakan sebagai berikut
𝑦 𝑘 1 = [𝑦 11 ⋯  𝑦 1𝑀 ] 𝑇 ⋮ 𝑦 𝑘 𝑛 = [𝑦 𝑛1 ⋯ 𝑦 𝑛𝑀 ] 𝑇 𝑦 𝑘 𝑛+1 = [𝑦 𝑛1 ⋯ 𝑦 1𝑀 ⋯ 𝑦 𝑛1 ⋯ 𝑦 𝑛𝑀 ] 𝑇
... (16)
Hal  yang  sama  untuk ℎ 𝑖 (𝜃̂ 𝑘−1 ) yang  menyatakan  output  aktual  RBF  yang dipengaruhi oleh vektor parameter ke-i. Proses rekursi pada Extended Kalman Filter untuk vektor parameter ke-i  dimodifikasi dari persamaan (10) yaitu
𝜃̂ 𝑘 𝑖 = 𝑓(𝜃̂ 𝑘−1 𝑖 ) + 𝐾 𝑘 𝑖 [𝑦 𝑘 𝑖 − ℎ 𝑖 (𝜃̂ 𝑘−1 𝑖 )] 𝐾 𝑘 𝑖 = 𝑃 𝑘 𝑖 𝐻 𝑘 𝑖 (𝑅 𝑖 + (𝐻 𝑘 𝑖 ) 𝑇 𝑃 𝑘 𝑖 𝐻 𝑘 𝑖 ) −1 𝑃 𝑘+1 𝑖 = 𝐹 𝑘 (𝑃 𝑘 𝑖 − 𝐾 𝑘 𝑖 (𝐻 𝑘 𝑖 ) 𝑇 𝑃 𝑘 𝑖 ) 𝐹 𝑘 𝑇 + 𝑄 𝑖 ...
(17)
dimana  f(.)  adalah  fungsi  pemetaan  identitas  dan 𝐹 𝑘 adalah  matriks  identitas (Simon, 2001).

## 2.2 Data Simulasi
Data untuk pengujian diambil dari PT Jasa Tirta I Jawa Timur yang berpusat di  Malang  yaitu  data  harian Ketersediaan Air  di  Bendungan Sutami  tahun 2007- 2009. Data tahun 2007-2008 digunakan sebagai data training dan data tahun 2009 digunakan sebagai data testing. Ketersediaan air di bendungan Sutami dipengaruhi oleh beberapa faktor antara lain inflow, curah hujan dan debit aliran yang menuju aliran bendungan. Dalam penelitian ini data pengukuran yang diambil terdiri dari 8 variabel  pengukuran  yaitu  inflow  bendungan  Sutami,  debit  aliran  (Gadang, Tawangrajeni) dan curah hujan (Sutami).   Pada penelitian ini, untuk tahap training digunakan  data  sebanyak  730  data  sampel  sebanyak 5848 titik  data,  sedangkan untuk tahap testing digunakan data sebanyak 366 data sampel sebanyak 2920 titik data.  Proses  prediksi  dilakukan  terhadap data  debit  aliran  sungai  (Gadang  dan Tawangrajeni)  dengan  faktor  ekternal  meliputi  inflow  dan  curah  hujan (Poncokusumo, Sutami, Wagir, Sengguruh, Tangkil).

## 2.3 Metode Radial Basis Function dengan Extended Kalman Filter (EKF-RBF)

## 2.3.1 Preprocessing Data
Proses preprocessing  data  merupakan  proses pengolahan data  yang  akan digunakan  untuk  learning  jaringan  RBF.  RBF  merupakan  jaringan  syaraf tiruan dengan  hybrid  learning  dimana  pada  proses  training  menggunakan  supervised learning dan  unsupervised learning pada proses tesing. Karena proses training RBF bersifat supervised  (terawasi), maka diperlukan target output yang menjadi acuan. Untuk  data  training yang sudah terklasifikasi,  maka  target outputnya adalah klas setiap data training, sedangkan untuk data training yang belum terklasifikasi, maka data  tersebut  dapat  diklasifikasi  terlebih  dulu  dengan  menggunakan  beberapa metode  clustering  seperti  k-mean,  fuzzy  c-mean  dan    SOM.  Hasil  dari  proses clustering adalah center data yang dapat digunakan untuk inisialisasi RBF dan hasil klasifikasi yang digunakan sebagai target output RBF.

## 2.3.1 Algoritma EKF-RBF
Berikut algoritma learning  RBF dengan Extended Kalman Filter : Inisialisasi. Tahap inisialisasi  merupakan setting  beberapa parameter awal dalam proses learning yaitu
a. Jumlah hidden center (c), dimana jumlah hidden  center dapat disetting sejumlah k klas pada proses clustering dikalikan m jumlah variabel data input.
b. Batas treshold error (  ) untuk stopping criteria, dimana jika telah terpenuhi batas treshold maka proses iterasi pada Kalman Filter harus dihentikan
c. Spread (  ), parameter pada fungsi kernel Gaussian yaitu 𝜎 = 𝑑 𝑚𝑎𝑥 √𝐾 , dimana d max adalah jarak Euclid maksimal dari kelompok data training dan K adalah jumlah total kelompok training. Spread juga dapat disetting pada nilai antara 0 dan 1.
d. Inisialisasi parameter pada matriks kovarian estimate (Po)
e. Inisialisasi parameter pada matriks kovarian state (Qo)
f. Inisialisasi parameter pada matriks kovarian measurement (Ro)
g. Inisialisasi parameter fungsi pembangkit (m) pada proses perhitungan turunan parsial error pada noise ouput.
Training :  Proses training merupakan pelatihan dari data input RBF kedalam fungsi aktivasi Gaussian. Berikut tahapan dalam proses training:
a. Proses training dilakukan terhadap sejumlah n data input training yang dengan vektor  indeks  target  output  yang  berukuran  n×k  dari  hasil  clustering.  Pada proses training dilakukan inisialisasi berikut:
1) Inisialisasi  parameter 𝑤 (noise  process)  dinyatakan  dalam  matrik berukuran k×(c+1) dan parameter v (noise measurement) dinyatakan dalam matriks  berukuran n×c  yang menyatakan  nilai  mean  dari  matriks  x k yaitu data input pada setiap klas ke-k.
2) Inisialisasi  data input diambil sejumlah  M×m dimana M adalah jumlah data input yang diambil pada setiap klas dan m adalah jumlah variabel setiap data input.    Selanjutnya  dibentuk  dalam  augmented  matrix  (P)  selanjutnya dihitung matriks kovariannya.
3) Inisialisasi  matriks  Q  dengan  memasukkan  parameter  Qo  dan  inisialisasi matriks R dengan memasukkan parameter Ro
4) Inisialisasi 𝒙 ̂ yang dibentuk dari augmented matrix dari parameter 𝑤 dan v yang digunakan untuk pada proses update estimasi state.
b. Selanjutnya  dilakukan  inisialisasi  parameter pada jaringan RBF yang  meliputi beberapa proses berikut:
1) Perhitungan matriks  Gaussian  (h)  dengan persamaan ℎ 𝑗𝑘 = 𝑔 𝑖𝑗 ′ = 𝑔 (‖𝑥 𝑖 − 𝑣 𝑗 ‖ 2 ) (dimana k=1,...,M dan j=1,..., c)  yang berukuran M×c
2) Perhitungan  estimasi  output  aktual 𝑦̂ = 𝑤ℎ ,  dimana  w  adalah  augmented matrix dari noise process.
3) Dihitung inisialisasi error output pada estimasi awal dengan persamaan 𝐸 = 1 2 ‖y − ŷ‖ 𝐹 2
c. Perhitungan turunan parsial error output E terhadap v dan w dengan persamaan
𝜕𝐸
𝜕𝑤 𝑖 = ∑(𝑦̂ 𝑖𝑘 − 𝑦 𝑖𝑘 ) 𝑀 𝑘 =1 ℎ 𝑘 ,    (𝑖 = 1, … , 𝑛) 𝜕𝐸 𝜕𝑣 𝑖 = ∑ 2𝑔′ (‖𝑥 𝑘 − 𝑣 𝑗 ‖ 2 ) 𝑀 𝑘=1 (𝑥 𝑘 − 𝑣 𝑗 ) ∑(𝑦 𝑖𝑘 − 𝑦̂ 𝑖𝑘 )𝑤 𝑖𝑗 𝑀 𝑘=1 ,    (𝑗 = 1, … , 𝑐) error vektor RBF adalah 𝑦 𝑘 𝑖 − ℎ 𝑖 (𝑥̂ 𝑘−1 𝑖 ) d. Perhitungan Kalman Gain (K) dengan menggunakan augmanted matrix (H) dari turunan parsial error output E terhadap v dan w dengan persamaan
𝐾 𝑘 𝑖 = 𝑃 𝑘 𝑖 𝐻 𝑘 𝑖 (𝑅 𝑖 + (𝐻 𝑘 𝑖 ) 𝑇 𝑃 𝑘 𝑖 𝐻 𝑘 𝑖 ) −1
selanjutnya dilakukan update estimasi state dengan persamaan
𝑥̂ 𝑘 𝑖 = 𝑓(𝑥̂ 𝑘−1 𝑖 ) + 𝐾 𝑘 𝑖 [𝑦 𝑘 𝑖 − ℎ 𝑖 (𝑥̂ 𝑘−1 𝑖 )] dan update matriks kovarian P menggunakan persamaan
𝑃 𝑘+1 𝑖 = 𝐹 𝑘 (𝑃 𝑘 𝑖 − 𝐾 𝑘 𝑖 (𝐻 𝑘 𝑖 ) 𝑇 𝑃 𝑘 𝑖 ) 𝐹 𝑘 𝑇 + 𝑄 𝑖
e. Ekstrasi  matriks  w  dan  v  dari  matriks 𝒙 ̂ untuk  selanjutnya  digunakan  pada proses  trianing  untuk  menghitung  output  pada  jaringan  RBF.  Matrik  v selanjutnya  digunakan  untuk  menghitung  matriks  Gaussian  (h)  dimana ℎ 𝑗𝑘 = 𝑔 𝑖𝑗 ′ = 𝑔 (‖𝑥 𝑖 − 𝑣 𝑗 ‖ 2 ) dengan  k=1,...,M  dan  j=1,...,  c.  Sedangkan  matriks  w digunakan  untuk menghitung  output aktual  jaringan RBF   dengan persamaan 𝑦̂ = 𝑤ℎ .
f. Error output dihitung dengan persamaan 𝐸 = 1 2 ‖y − ŷ‖ 𝐹 2 dan selisih error setiap iterasi dihitung  dengan  E = (E lama – E)/ E lama . Langkah ini  merupakan proses perhitungan error klasifikasi pada prosesi training.
g. Jika nilai E>0 dan  E ≤  atau E ≤  ,  maka proses training dihentikan jika tidak maka ulangi proses (1) – (6).
h. Untuk  proses prediksi,  hasil  dari langkah (1)  -  (5) yaitu 𝒚 ̂ dilakukan  prediksi dengan persamaan 𝑥̂ = (𝑥 × 𝑦̂ 𝑇 ) × 𝑦̂ −1 dan untuk mengukur akurasi prediksi digunakan  Mean  Absolut  Error  (MAE)  dan  Root  Mean  Square  Error  (RMSE) dengan persamaan berikut:
𝑀𝐴𝐸 = 1 𝑁 ∑ |𝑥 𝑖 − 𝑥̂ 𝑖 | 𝑁 𝑖=1 dan 𝑅𝑀𝑆𝐸 = √ 1 𝑁 ∑ |𝑥 𝑖 − 𝑥̂ 𝑖 | 2 𝑁 𝑖 =1
Testing in sample :  Proses testing in sample  merupakan proses pengujian output hasil  RBF  dengan  target  output  hasil  clustering.  Proses  testing  menggunakan matriks v dan w hasil optimalisasi dengan Extended Kalman Filter yang selanjutnya digunakan untuk  menentukan output aktual  RBF. Berbeda dengan training,   pada testing tidak menggunakan target output hasil clustering dalam proses learningnya, namun  hanya  digunakan  untuk  validasi  terhadap  output  aktual  RBF.    Berikut tahapan dalam proses testing in sample :
a. Inisialisasi  data  input,  yaitu  sejumlah  (N-M)  data  hasil  clustering  selain  yang digunakan pada proses testing.
b. Hitung  matriks  Gaussian  (h)  dengan  persamaan ℎ 𝑗𝑘 = 𝑔 𝑖𝑗 ′ = 𝑔 (‖𝑥 𝑖 − 𝑣 𝑗 ‖ 2 ) (dimana k=1,...,(N-M) dan j=1,..., c)  yang berukuran (N-M)×c. Selanjutnya dengan
menggunakan  matriks  w  pada  proses training  dihitung  output  aktual  testing dengan persamaan 𝑦̂ = 𝑤ℎ .
c. Error output dihitung dari persamaan 𝐸 = √∑(𝑦 𝑖𝑗 − 𝑦̂ 𝑖𝑗 ) 2 /(𝑁 − 𝑀) , dimana y ij adalah target output dan 𝑦̂ 𝑖𝑗 adalah output aktual RBF, dimana  i=1,...,M , j=1,..., (N-M) dengan persentase kalsifikasi sama dengan 100×t/(N-M), dimana t adalah jumlah hasil klasifikasi  benar pada testing in sample.  Untuk  mengukur akurasi prediksi pada testing in sample digunakan persamaan Mean Absolut Error (MAE) dan Root Mean Square Error (RMSE) seperti pada langkah (8) pada training. Testing out sample :  Proses testing out sample merupakan proses pengujian diluar learning  dan proses clustering pada proses training dan testing in sample  dengan tujuan  prediksi  serta  mengukur error prediksi  dengan  persamaan Mean  Absolut Error (MAE)  dan  Root Mean  Square Error (RMSE)  seperti  pada langkah (8)  pada training. Selain itu, hasil pada learning out sample juga dihasilkan cluster data.

## 3. HASIL DAN PEMBAHASAN
Pada  proses  inisialisasi  training  RBF,  diambil  sampel  data  input  RBF sebanyak  300  sampel  data  meliputi  100  data  untuk  masing-masing  klas  yang diambil secara random berserta vektor data target outputnya yang dihasilkan pada proses clustering. Sedangkan sisa data training yang lain sejumlah 430 sampel data digunakan untuk proses testing in sample RBF. Proses testing in sample  merupakan proses testing dengan mengambil  data training tanpa target output. Data  training dan testing  in sample  diambil  dari data  tahun  2007-2008. Sedangkan data tahun 2009 diambil untuk data testing sebanyak 366 data sampel digunakan pada proses testing out sample yaitu proses testing  dengan mengambil data di luar data training maupun data testing in sample.
Simulasi  dilakukan  sebanyak  30  kali  ujicoba  dengan  inisialisasi  untuk Extended  Kalman  Filter  diberikan 𝜀 = 10 −3 , 𝑃𝑜 = 7000𝐼 , 𝑄𝑜 = 4,9. 10 −7 𝐼 , 𝑅𝑜 = 0.6𝐼 , dimana I adalah matriks identitas. Matriks kovarian P diambil dari augmented matrix data input dan matriks v diambil dari augmented matrix dari nilai mean data input.  Selanjutnya untuk estimasi  input 𝜃̂ diambil  augmented matrix dari v dan w, dimana    w adalah  matriks  bobot output  pada  hidden  center beserta biasnya dan matriks awal v adalah matriks center pada hidden  layer.  Matriks v digunakan pada proses  perhitungan  matriks  Gaussian  sedangkan  matriks  bobot  w  digunakan padasaat penentuan ouput aktual pada RBF. Dari proses ini  dihitung  error output awal untuk proses Extended Kalman Filter.
Dari selisih atau perbedaan antara target output dengan output aktual dapat dihitung  error  RBFnya  dan  digunakan  untuk  update  estimasi  state  setelah ditentukan  matriks  Kalman  Gain.  Penentuan matriks  Kalman  Gain  menggunakan augmented matrix dari turunan parsial dari  v dan w dan digunakan untuk  update matriks  kovarian  P.  Penentuan  output  aktual  pada  proses  training  RBF menggunakan v dan w yang diekstrasi dari  matriks 𝜃̂ .  Proses ini akan diulang hingga error  output RBF  atau  perbedaan  error RBF  memenuhi  batas  treshold  yang ditentukan  dengan kata lain  proses pada Extended  Klaman Filter telah konvergen. Gambar  2.  menggambarkan  proses  pada  Extended  Kalman  Filter  mencapai
konvergensi pada  iterasi  ke-  65  pada  pengujian ke-7  pada nilai  error output (E) sebesar  22,4372 dan  E sebesar 0,0010.
(a) konvergensi error output aktual (E)
(b) konvergensi  E
Gambar 2. Konvergensi error pada Extended Kalman Filter
Selanjutnya  proses  terakhir  training  adalah    proses  proyeksi  data prediksinya,  perhitungan  MAE  dan  RMSE  serta  penentuan  hasil  klasifikasi  dan performansinya. Nilai  v dan w yang diperoleh pada proses training  digunakan untuk proses testing in  sample  dan  testing out  sample.  Untuk  ujicoba sebanyak 30  kali berdasarkan jumlah  cluster  dan  jumlah  unit  hidden  center  didapatkan  rata-rata performansi klasifikasi EKF-RBF dan digambarkan Gambar 3.
Gambar 3. Performansi klasifikasi training EKF-RBF
Preformansi terbaik  untuk  klasifikasi  EKF-RBF terjadi  pada 3  cluster atau sejumlah 12 unit hidden center dengan performansi 92.42% dengan mengambil 100 data input untuk masing-masing cluster disajikan pada Tabel 1.
Tabel 1. Performansi klasifikasi training EKF-RBF Jumlah Cluster 2 3 4 5 6 7 8 9 10 (%) 85.17  92.42  85.33  90.96  69.50  61.15  70.58  59.73  52.33
Dari pengujian dihasilkan performansi pada proses training, banyaknya data yang berhasil diklasifikasi dengan algoritma EKF-RBF untuk data testing out sample dapat  dikenali  sebanyak 271-309  data  sebagai  cluter ke-1,    17-55  data  dikenali sebagai cluster ke-2, dan 26-58 data sebagai cluster ke-3. Untuk cluster berjumlah  2 dan 3, data dapat dikenali secara baik, sedangkan untuk cluster  berjumlah 4 sampai dengan 10, hanya 3  cluster yang mampu dikenali  secara baik.  Artinya untuk  data ujicoba dalam penelitian ini, jumlah cluster yang disarankan adalah 2 atau 3 cluster. Performansi training dan hasil klasifikasi  testing out sample dengan EKF-RBF untuk sejumlah 3 cluster digambarkan dalam Tabel 2. berikut.
Tabel  2.  Performansi training dan hasil klasifikasi testing out sample dengan EKF-
RBF Uji coba Training Hasil klasifikasi Jumlah Iterasi Performansi (%) Error (%) Cluster 1 Cluster 2 Cluster 3 1 48 91,0959 8,9041 291 49 26 2 61 91,5753 8,4247 309 20 37 3 64 91,5068 8,4932 304 29 33 4 63 91,7466 8,2534 299 30 37 5 63 92,2466 7,7534 279 55 32 ... ... ... ... ... ... ... 30 71 92,2922 7,7078 285 37 44
Pada  proses  training  didapatkan  rata-rata  jumlah  iterasi  pada  Extended Kalman Filter  adalah 68.8  iterasi.  Performansi klasifikasi  EKF-RBF selama  proses training  sebesar 92,4180% dan error klasifikasi rata-rata  sebesar 7,5820%  dengan CPU-time  sebesar 24,4146  detik.  Tabel  3.  menggambarkan performansi prediksi training, tesing in sample  dan testing out sample.
Tabel  3.  Performansi prediksi training, tesing in sample  dan testing out sample
Uji coba Training Testing in sample Testing out sample MAE RMSE CPU time MAE RMSE CPU time MAE RMSE CPU time 1 5,4915  16,4154 16,6921 4,4630  13,4756 0,1248 3,8098  10,2343  0,0624 2 5,2600  16,1597 21,1381 4,1768  12,8590 0,1248 5,1993  13,6902  0,0624 3 5,3751  16,5297 22,4017 4,4279  13,5455 0,1248 5,1138  13,1822  0,0312 4 5,4754  16,3782 22,0975 4,2592  13,1464 0,1248 4,7711  12,3535  0,0312 5 6,2051  18,9495 22,0960 4,5057  13,6655 0,1248 3,4726 9,6914 0,0000 ... ... ... ... ... ... ... ... ... ... 30 5,9245  17,5441 25,2186 4,3711  13,3469 0,0936 3,2911 9,3954 0,0312 Mean  5,3846  16,2398 24,4146 4,3388  13,2230 0,1123 4,1065  11,0126  0,0265
Performansi prediksi pada proses training, testing in  sample  dan testing out sample  didapatkan  bahwa prediksi atau proyeksi data asli  pada training  memiliki performansi MAE  sebesar 5,3846  dan  RMSE  sebesar 16,2398  dengan  CPU  time 24,4146 detik. Pada testing in sample rata-rata MAE sebesar 4,3388, rata-rata RMSE
sebesar 13,2230  dan  rata-rata  CPU  time  sebesar 0,1123  detik,  sedangkan  pada testing out sample didapatkan rata-rata  MAE sebesar 4,1065, RMSE sebesar 11,0126 dan  CPU  time  sebesar 0,0265  detik.  Gambar  4.  menggambarkan  prediksi    data training untuk inflow Sutami, debit sungai Gadang, dan debit sungai Tawangrajeni.
(a) (b) Gambar 4. Performansi prediksi pada training EKF-RBF a. Prediksi inflow Sutami pada training dengan EKF-RBF
b. Prediksi debit sungai Gadang  pada training dengan EKF-RBF
c. Prediksi debit sungai Tawangrajeni  pada training dengan EKF-RBF
(c)
4. KESIMPULAN
a. Performansi algoritma EKF-RBF cukup baik. Dari hasil simulasi menunjukkan bahwa  pada  training,  performansi  klasifikasi  algoritma  EKF-RBF  mampu mengenali  rata-rata  92.42%  dan  untuk  prediksi  didapatkan  MAE  sebesar 5,3846  dan  RMSE  sebesar 16,2398  dengan  CPU  time  24,4146  detik  dengan iterasi  rata-rata  68,8  iterasi.  Pada  testing  in  sample  rata-rata  MAE  sebesar 4,3388, rata-rata RMSE sebesar 13,2230 dan rata-rata CPU time sebesar 0,1123 detik,  sedangkan pada testing out sample  didapatkan  rata-rata   MAE sebesar 4,1065, RMSE sebesar 11,0126 dan CPU time sebesar 0,0265 detik.
b. Dari simulasi data ujicoba untuk algoritma EKF-RBF dapat dikatakan memiliki performansi klasifikasi dan prediksi yang cukup baik.

## DAFTAR  PUSTAKA
[1] Amir,  Panah,  2013,  Enhanced  SLAM for  a  Mobile Robot  using  Unscented Kalman  Filter  and  Radial  Basis  Function  Neural  Network,  Research Journal of Recent Sciences, Vol.2(2), 69-75
[2] Cho, B.H., Yu, H., Lee, J. dan Kim, I.Y. 2008.Nonlinear Support Vector Machine Visualization for  Risk  Factor  Analysis  Using  Nomograms  and  Localized Radial Basis Function Kernels. IEEE Transaction On Information Technology in Biomedicin.12: 247-256.
[3] de  Oliveira,  Mauri  Aparecido,  2012,  An  Application  of  Neural  Networks Trained  with  Kalman  Filter  variants  (EKF  and  UKF)  to  Heteroscedastic time series Forecasting, Applied Mathematical Sciences, Vol. 6, No. 74, 3675- 3686
[4] Dachapak, C., Kanae, S., Yang, Z. J., & Wada, K. 2004. Orthogonal least squares for  radial  basis  function  network  in  reproducing  kernel  hilbert  space, hlm.847-848. IFAC Workshop On Adaptation and Learning in Control and Signal  Processing,  and  IFAC  Workshop  on  Periodik  Control  System. Yokohama, Japan.
[5] Fausett,  L.  1994.Fundamentals  of  Neural  Networks:  Architectures, Algorithms and Applications. Prentice-Hall, New Jersey, USA.
[6] Gupta Madam M., Liang Jin dan Noriyasu Homma, 2003. Static and Dynamic Neural Networks: From Fundamentals  to Advanced Theory,  John Wiley & Sons, Inc.
[7] Haykin, S., 2001. Kalman Filtering and Neural Network, John Wiley & Sons, Inc.
[8] Lu,  W.Z.,  Wang,  W.J.,  Wang,  X.K.,  Yan,  S.Y.  dan  Lam,  J.C.  2004.  Potensial Assesment of A Neural Network Model with PCA/RBF Approach Forecasting Pollutant  Trends  in  Mong  Kok  Urban  Air,  Hong  Kong’,  Environmental Research  96, 79–87.
[9] Liu, X., Guobin, C., dan Baiqing, H. 2012. Neural Network Forecast Algorithm Based  on  Iterated  Unscented  Kalman  Filter,  The  2nd  International Conference on Computer Application and System Modeling, Antlantis Press, Paris.
[10] Simon, Dan, 2002, Training Radial Basis Neural Network with the Extended Kalman Filter, Neurocomputing, Vol. 48. Issues 1-4, 455-475
[11] Trebaticky, P. 2005. Recurrent Neural Network Training with the Extended Klaman Filter, M. Bielikova (ed), IIT.SCR, 57-64
[12] Wang, X.Z., Li, C.G., Yeung, D.S., Song, SJ dan Feng, H.M. 2008. A Definition of Partial  Derivative  of  Random  Functions  and  Its  Application  to  RBFNN Sensitivit Anaysis, Neurocomputing, 71, 1551–1526.
[13] Welch,  G.  dan  Bishop,  G.,  2001.  An  Introduction  to  the  Kalman  Filter, University North Carolina.
[14] Yousef  R. dan Hindi, K. 2006. Locating center point for radial basis function network  using  instance  reduction  techniques.  World Academy of Science, Engineering, and Technology.4: 213-216.