11 November 2014

Radial Basis Function



TOPOLOGI JARINGAN
Seperti halnya jaringan syaraf tiruan yang lain, Radial Basis Function Network (RBFN), juga memiliki jaringan.

Topologi RBFN terdiri dari layer :
  • Input unit
  • Hidden unit
  • Output unit
Gambar 1. JST RBFN


Sifat Khusus RBFN adalah sebagai berikut :
  • Pemrosesan dari Input ke hidden bersifat non-linier
  • Pemrosesan dari hidden ke output bersifat linier
  • Pada hidden layer digunakan fungsi aktivasi yang berbasis radial, misalnya fungsi Gaussian
  • Pada output unit , sinyal dijumlahkan seperti biasa
  • Sifat jaringannya adalah feed forward
Fungsi Gaussian
             Dimana : σ -->  nilai spread
  • Nilai spread menentukan bagaimana data tersebar. Jika nilai spread makin besar, sensitivitas antar data semakin berkurang. 
  • Centers adalah pusat cluster data
Gambar 2. Center of Cluster


Hubungan nilai spread dg grafiknya pada fungsi Gaussian

Gambar 3. Perbandingan Nilai Spread

Nilai spread makin besar (sebaran datanya berjauhan), sensitivitas antar data semakin berkurang.

Fungsi Aktivasi selain Fungsi Gaussian
  • Multi-Quadric Functions
         
  • Generalized Multi-Quadric Functions
         
  • Inverse Multi-Quadric Functions
         
  • Generalized Inverse Multi-Quadric Functions
         
  • Thin Plate Spline Function
         
  • Cubic Function
         
  • Linear Function
         

RBFN
  • Biasa digunakan untuk menyelesaikan 2 jenis permasalahan, yaitu : 
  1. Pattern Classification 
  2. Time series modelling 
  • Untuk Pattern Classification menggunakan fungsi aktivasi Gaussian 
  • Time Series Modelling menggunakan fungsi aktivasi thin-plate spline
Algoritma Pelatihan Jaringan
  • Berguna atau tidaknya suatu JST ditentukan dari hasil pelatihan (bobot neuron-nya) 
  • RBFN mempunyai algoritma pelatihan yang agak unik, karena terdiri dari cara Supervised dan unsupervised sekaligus. 
  • Pelatihan RBFN terdiri dari 2 tahap, yaitu : 
  1. Tahap Clustering Data 
  2. Pembaharuan Bobot
Tahap 1 : Clustering Data
  • Data di cluster / dikelompokkan berdasarkan kedekatan tertentu (misalnya kedekatan 2 warna pixel, kedekatan jarak 2 titik, dll) 
  • Penentuan cluster akan memunculkan center / pusat cluster dari kelompok data 
  • Jumlah cluster menentukan jumlah hidden unit yg dipakai 
  • Cara menentukan center ada 2, yaitu : 
  1. Menentukan center secara acak dari sekelompok data (paling mudah) 
  2. Menggunakan algoritma clustering. Algoritma yang paling mudah adalah K-Means. Dengan Algoritma ini, JST mampu mencari sendiri center yg terbaik. 
  • Melihat cara tersebut, maka jelas tahap 1 ini adalah unsupervised

Tahap 2 : Pembaharuan Bobot
  • JST menyimpan pengetahuannya dalam bobot neuron-neuronnya. 
  • Bobot diperbaharui melalui serangkaian perhitungan. 
  • Dibutuhkan data training dan target (supervised)
  • Meneruskan sinyal input ke hidden & menghitung nilai aktivasi pada tiap hidden layer

Dimana :
m = 1,2,3….sesuai dg jumlah training pattern
j = 1,2,3…. Sesuai dengan jumlah hidden unit
x =  vector input
t =  vector data yg dianggap sebagai center 
  • Menyusun matriks Gaussian dari hasil perhitungan langkah 1 

    Dimana :
    m = vector input ke-m
    c = hidden unit ke-c

  • Menghitung bobot baru (w) dengan mengalikan pseudoinvers dari matrik G, dengan vector target (d) dari data training. 

          Rumus : W = G^+d
                            = (G^tG)^-1 G^T.d
  • Menghitung nilai output JST : 
             

           Dimana b =  nilai bobot bias
           G(x) pada rumus ini artinya sama dengan j(x)
Catatan Tambahan :
Apabila memerlukan presentasi berikut saya buatkan link presentasinya :

2 comments:

  1. bapak saya mau tanya, apakah ada alasan lain untuk memakai fungsi aktivasi gaussian?

    ReplyDelete
  2. Mungkin ini jawaban saya yang mudah-mudahan bisa menjawabnya.
    Alasannya adalah karena fungsi ini menggunakan pendekatan jarak. Untuk mengetahui kedekatan sebaran datanya.

    ReplyDelete