Yeay! akhirnya
sampailah kita sampai bahasan ini, tentang salah satu jenis jaringan saraf
tiruan (JST) yaitu Probability Neural Network (PNN) dan Competitive Probability
Neural Network (CPNN). Mari bahas satu persatu mulai dari PNN, ya! PNN
merupakan jenis algoritma JST yang digunakan secara luas untuk pengenalan pola
(pattern recognition) dan masalah
klasifikasi. PNN didesain untuk menyelesaikan masalah klasifikasi menggunakan
pendekatan memori statistik. Dalam algoritma PNN, Parzen window digunakan untuk
prakiraan nonparametric (nonparametric
approximation) nilai PDF dari setiap kelas populasi dan aturan Bayes kemudian
digunakan untuk mengalokasikan kelas dengan probabilitas posterior tertinggi
sebagai data input baru sehingga peluang untuk melakukan kesalahan klasifikasi (misclassification) dapat diminimalisasi
(Zeinali dan Story, 2017).
Penggunaan
PNN secara luas awalnya dimulai dengan penggunaan fungsi kernel (Gaussian
kernel) untuk analisis diskriminan dan pengenalan pola. Sejak saat itu,
penelitian terkait dilakukan untuk meningkatkan performa dari PNN. CPNN
merupakan salah satu pengembangan PNN dengan dengan menambahkan fitur kompetitif baru (gamma, γ) sehingga “hanya” data yang “paling
kritis” terhadap proses klasifikasilah yang akan digunakan dalam perhitungan.
|
Sementara itu, nilai gaussian kernel ωi,j dihitung menggunakan rumus berikut:
dimana:
Xnew : nilai input baru
Ci :
cardinality dari himpunan bagian Ci
ωi,j : Gaussian kernel dari Xci,j
(multivariate normal, nonsingular)
d : dimensi data, misal
data memiliki 3 variabel prediktor maka d=3
σ : parameter sebaran
(spread parameter) yang diatur konstan dan ditentukan berdasarkan eksperimen
dengan nilai antara 0 dan 1.
||Xnew – Xci,j|| : Jarak Euclidian, perhitungan nilai ini
sangat penting dalam pembobotan parzen
Dalam
persamaan 3, spread parameter (σ) adalah parameter yang
dapat disesuaikan (adjustable parameter)
ditentukan berdasarkan eksperimen (trial and error) dan untuk vektor input yang telah
dinormalisasi maka parameter σ bernilai
0 hingga 1. Ingat! Terdapat 2 syarat pre-processing sebelum melakukan
perhitungan dengan menggunakan Parzen window, yaitu:
1. Data input
yang digunakan sudah dinormalisasi atau distandardisasi
2. Nilai σ diatur konstan
Arsitektur
PNN sendiri terdiri dari 4 lapisan/layer, yaitu input layer, pattern layer, summation layer, dan output layer. Algoritma ini mengandung
3 langkah penting, yaitu perhitungan kernel (PDF), perhitungan probabilitas kelas bersyarat, dan memilih nilai probabilitas
kelas bersyarat maksimum. Untuk lebih jelasnya, coba perhatikan gambar alur
berikut ini:
Seperti
yang telah diketahui, semua kelas kernel dalam PNN digunakan dalam estimasi nilai
PDF setiap kelas dan parameter sebaran (σ) dapat
dioptimalkan. Dalam beberapa kasus dimana input-output sangat kompleks, klaster
kelas dari data dapat terletak jauh satu sama lain dan klaster data dari kelas
yang berbeda dapat terletak dekat (bercampur). Jarak tersebut bisa jadi menjadi
penyebab berkurangnya nilai probabilitas posterior dari kelas yang benar dan
memicu misklasifikasi. Bedanya, CPNN memiliki parameter tambahan yaitu gamma (γ) yang menyebabkan hanya nilai
kernel optimum saja yang diperhitungkan dalam klasifikasi. Untuk setiap nilai
input data kernel baru dalam setiap kelas dihitung dan diurutkan (di-rank) dari yang terbesar ke terkecil.
Pemeringkatan ini terdiri dari kompetisi antar kernel agar dapat memiliki kesempatan
untuk dilibatkan dalam perhitungan nilai probabilitas kelas bersyarat.
|
Rasio γi bukanlah variabel yang kontinyu dan mungkin memiliki nilai terbatas (finite number of values). Berdasarkan penjelasan di atas, maka perhitungan probabilitas kelas bersyarat pada CPNN dihitung berdasarkan:
Dengan kata
lain, PNN tradisional dapat dikatakan merupakan bentuk spesifik CPNN dengan nilai
γ=1 untuk semua kelas kernel. Bagaimana sudah dapat tentang PNN dan CPNN? Next post I will discuss about the script, ya! Salam ^^
0 komentar:
Posting Komentar