Anda di halaman 1dari 21

Probabilistic Neural Network (PNN)

Yusnia Alfi Syahrin


21120110130069 Sistem Komputer - Undip

Pendahuluan
Probabilistic Neural Network (PNN) dikembangkan pertama kali oleh Donald F. Specht pada tahun 1988. PNN adalah suatu metode jaringan saraf tiruan (neural network) yang menggunakan pelatihan (training) supervised. PNN termasuk dalam struktur Feedforward. PNN berasal dari jaringan Bayesian dan algoritma statistik bernama Kernel Fisher Discriminant Analysis. Kaidah Bayes dapat digunakan untuk melakukan klasisfikasi terhadap sejumlah kategori. Pengambilan keputusan didasarkan pada hasil perhitungan jarak antara fungsi kepekatan peluang dari vector ciri. PNN biasanya digunakan untuk masalah klasifikasi.

PNN Layers
Secara garis besar, PNN mempunyai tiga lapisan yaitu (Haykin, 1998): Input layer Input layer merupakan layer data input bagi PNN. hidden layer Pada layer ini menerima data dari input layer yang akan diproses dalam PNN. output layer

Pada layer ini, node output berupa binary yang menghasilkan keputusan klasifikasi.

PNN Layers

PNN Structures
Struktur PNN lebih detail terdiri dari 3 bagian yaitu input layer, radial basis layer dan competitive layer (Wu, 2007] Biasanya digunakan untuk klasifikasi pengenalan struktur daun.

Radial Basis Layer melakukan evaluasi jarak vektor antara vektor input dan baris weight dalam matriks bobot (weight). Jarak tersebut diskala oleh radial basis function non lineary.
Pada competitive layer dilakukan pencarian jarak terpendek dan menemukan training pattern dari input pattern berdasarkan jaraknya.

PNN Structures

PNN Architecture
Kerja PNN didasarkan pada penghitungan nilai fungsi kepekatan peluang (fi(x)) untuk setiap data (vector). Fungsi (f(x)) merupakan fungsi pengambilan keputusan Bayes (g(x)), untuk data (vector) x dan xij yang telah dinormalisasi. Persamaan fungsi fi(x) atau gi(x) dituliskan sebagai berikut (Specht 1992, Zaknich 1995)

PNN Architecture
Sampel data untuk pelatihan tidak sama dengan sampel data untuk data pengujian PNN. Blok diagram arsitektur PNN :

PNN Architecture
Posisi node node yang dialokasikan dalam PNN setelah lapisan input, adalah: 1. Node Lapisan Pola ( Pattern Layer) 2. Node Lapisan Penjumlahan (Summation Layer) 3. Node Lapisan Keluaran ( Output Layer )

PNN Architecture Pattern Layer


Node lapisan pola (Pattern Layer), digunakan 1 node pola untuk setiap data pelatihan yang digunakan. Setiap node pola, merupakan perkalian titik (dot product) dari vector masukkan x yang akan diklarifikasikan, dengan vector bobot xij , yaitu Zi = x . xij , kemudian dilakukan operasi non linier terhadap Zi sebelum menjadi keluaran yang akan mengaktifkan lapisan penjumlahan, operasi non linier yang digunakan exp[(Zi 1) / 2 ], dan bila x dan xij dinormalisasikan terhadap panjang vector, maka persamaan yang digunakan pada lapisan pola, adalah:

PNN Architecture Summation Layer


Node lapisan penjumlahan (Summation Layer), menerima masukan dari node lapiran pola yang terkait dengan kelas yang ada, persamaan yang digunakan pada lapisan ini adalah:

PNN Architecture Output Layer


Node lapisan keluaran (Output layer), menghasilkan keluaran biner (0,1), dan hanya mempunyai variabel bobot tunggal Ck. Ck dihitung menggunakan persamaan:

Dimana mik = Jumlah pelatihan pola dari kelas ik mjk = Jumlah pelatihan pola dari kelas jk

How PNN works


Jaringan syaraf probabilistik dapat digunakan untuk menyelesaikan masalah klasifikasi. Misalkan terdapat Q pasangan vektor input & target, dengan target terdiri-dari K elemen, maka pada target, satu elemen akan bernilai 1, dan elemen-elemen lainnya akan bernilai 0. Sehingga tiap-tiap vektor input akan berhubungan dengan 1 vektor dari K kelas.

How PNN works


Bobot-bobot input pada lapisan pertama akan bernilai sama dengan vektor input, (misal : P). Output lapisan pertama, a1, merupakan hasil aktivasi dari jarak antara vektor input dengan bobot input dikalikan dengan bias. Nilai a1 ini akan mendekati 1 apabila vektor input mendekati vektor bobot, (jarak mendekati 0). Apabila input vektor dekat dengan beberapa bobot input, maka akan ada beberapa elemen a1 yang dekat dengan 1. Ouput lapisan pertama ini akan menjadi input bagi lapisan output.

How PNN Works


Pada lapisan output, bobot-bobot lapisan akan dibuat sama dengan vektor-vektor target. Tiap-tiap vektor target ini akan bernilai 1 hanya pada baris yang berhubungan dengan vektor input tertentu, yang lainnya akan bernilai 0. Neuron pada lapisan output akan menjumlahkan hasil perkalian antara bobot output dikalikan dengan a1 (n2). Output jaringan akan bernilai 1 apabila n2 besar, sebaliknya akan bernilai 0 jika n2 kecil.

PNN Algorithm
Langkah-langkah pelatihan pada PNN adalah sebagai berikut : Inisialisasi
Melakukan inisialisasi bobot (weight) awal pada radial basis layer yang dilambangkan sebagai W dengan transpose matriks R x Q dari vektor training. Melakukan inisialisasi bobot bias.

Menghitung jarak (distance) dari data input (P) dengan bobot awal (W). Menghitung nilai aktivasi dari jarak antara bobot awal dengan data input (W-P), dengan menggunakan fungsi radial basis (radbas). Mencari bobot baru dan bobot bias yang baru dengan menggunakan metode LMS Masuk ke dalam competitive layer, menghitung output dari jaringan. Simpan bobot awal dan bobot akhir ke dalam database berupa file.

PNN Algorithm
Sedangkan untuk langkah-langkah recognition (pengenalan) adalah sebagai berikut : Mengambil target, bobot awal dan bobot akhir dari database Meneruskan sinyal input ke hidden layer (radial basis layer) dan mencari jarak antara data input dengan bobot awal. Mencari nilai aktivasi dengan menggunakan fungsi radial basis (radbas). Menghitung output dari jaringan Membandingkan hasil output dengan target. Menampilkan hasil pengenalan.

Advantages of PNN
Beberapa kelebihan dari algoritma PNN: PNN jauh lebih cepat dan lebih akurat daripada jaringan multilayer perceptron. Jaringan PNN relatif tidak sensitif terhadap outlier. Jaringan PNN menghasilkan nilai prediksi probabilitas target yang akurat. Kemudahan yang diberikan untuk modifikasi jaringan, ketika dilakukan penambahan atau pengurangan data pelatihan (training) yang digunakan.

Disadvantages of PNN
Beberapa kelemahan algoritma PNN adalah: PNN lebih lambat dari jaringan multilayer perceptron pada saat mengklasifikasikan kasus baru.

Terjadinya peningkatan penggunaan ruang memori komputer, dan waktu komputasi, ketika pengunaan data pelatihan bertambah besar, karena semua data pelatihan harus dimasukkan ke dalam algoritma PNN (Bolat et al. 2002, Zaknich 1995)

Implementation of PNN
Berikut ini merupakan beberapa contoh aplikasi dari implementasi jaringan syaraf tiruan probabilistik : Penerapan jaringan syaraf tiruan probabilistik dan transformasi wavelet untuk mengkonversi sinyal suara ke string ucapan suku kata bahasa Indonesia.

Klasifikasi Penyakit Daun Teh Menggunakan Transformasi Wavelet & Jaringan Syaraf Tiruan Probabilistic (PNN)
Aplikasi Pengenalan Daun untuk Klasifikasi Tanaman dengan Metode Jaringan Syaraf Tiruan Probabilistik Peramalan Harga Saham Menggunakan Jaringan Syaraf Tiruan Metode Probabilistik

Pengenalan Pola Objek 2D Menggunakan Jaringan Syaraf Tiruan Dengan Model Pendekatan Probabilistik (PNN)
Pengenalan Huruf Tulisan Tangan Berderau dan Terskala Berbasis Ekstrasi Ciri DCT dengan Menggunakan Jaringan Syaraf Probabilistik

References
cicie.files.wordpress.com/2008/06/snati_cicie-uii_.pdf http://en.wikipedia.org/wiki/Probabilistic_neural_network http://repository.ipb.ac.id/handle/123456789/9462 http://www.academia.edu/4457378/Gunadarmapnn