Pendahuluan
Ketika sebuah bank menerima permohonan pinjaman dari seseorang calon
kreditor, berdasarkan profil pemohon bank harus membuat keputusan apakah
menerima untuk melanjutkan proses pinjaman atau tidak.
Bank memiliki dua resiko:Jika
pemohon memiliki resiko kredit yang baik dan cenderung membayar pinjamannya, maka
keputusan bank untuk tidak memberi pinjaman menjadikan bank merugi karena
kehilangan kesempatan memperoleh keuntungan. Sebaliknya jika pemohon memiliki
resiko kredit yang buruk dan cenderung tidak melunasi pinjamannya, maka
keputusan bank untuk memberi pinjaman akan menjadikan bank merugi.
Penulis menggunakan data kredit Jerman yang diperoleh
dari alamat UCI Machine Learning Repository https://archive.ics.uci.edu/ml/datasets/Statlog+(German+Credit+Data) yang berisi 20 variabel dan klasifikasi
apakah seorang pemohon kredit dianggap sebagai sebuah resiko Kredit Baik atau
Buruk untuk 1000 pemohon pinjaman.
Table 1 Deskripsi
Variabel Input dan Output
Tabel 1 di atas menunjukkan semua variabel input dan
output yang digunakan beserta rentang nilainya.
Hasil yang ingin diperoleh adalah berupa klasifikasi
setiap data pemohon apakah termasuk pemohon dengan kredit profil yang baik (Worthed) atau buruk (Not Worthed).
Tabel 2 berikut ini menunjukkan deskripsi pengertian dari
nilai variabel yang digunakan.
Selanjutnya penulis akan menggunakan neural network
(jaringan syaraf) untuk membuat prediksi dua variabel output (“Worthed” dan “Not Worthed”) berdasarkan nilai variabel input.
Tabel 2
Deskripsi variabel dikonversi menjadi numerik
Setelah nilai bobot (weight) dan bias jaringan syaraf
diperoleh, selanjutnya dioptimisasi lebih lanjut dengan Algoritma genetika.
Beberapa nilai statistik akan digunakan untuk mengukur seberapa jauh hasil
prediksi jaringan syaraf dan juga setelah dioptimisasi lebih lanjut dengan
algoritma genetika. Variabel statistik yang digunakan antara lain: R2,
r2, MSE (Mean Squared error), r (Pearson correlation), minimum absolute error, maksimum absolut error, range
of percentage.
Pengaturan Eksperimental
1 Jaringan Syaraf
Berikut pengaturan
konfigurasi untuk jaringan syaraf Backpropagation yang digunakan:
No.
|
Parameter
|
Nilai
|
1
|
Jumlah Lapisan Neuron
|
3
|
2
|
Neuron Lapisan 1
|
20
|
Fungsi Skala
|
Linear [-1,1]
|
|
3
|
Neuron Lapisan 2
|
35
|
Fungsi Aktivasi
|
Logistic
|
|
4
|
Neuron Lapisan 3
|
3
|
Fungsi Aktivasi
|
Logistic
|
|
5
|
Laju Pembelajaran
|
0.1
|
6
|
Momentum
|
0.1
|
7
|
Bobot awal
|
0.3
|
Tabel 3
Konfigurasi Jaringan Syaraf
2 Algoritma Genetika
Dalam optimisasi hasil prediksi jaringan syaraf,
algoritma genetika digunakan untuk mencari nilai bobot (weight) dan bias dari jaringan syaraf. Maka kita akan gunakan jenis
kromosom tipe berkelanjutan (continuous) dalam bentuk bilangan real (non-integer).
Dengan demikian, berikut pengaturan parameter untuk algoritma genetik yang
digunakan:
No.
|
Parameter
|
Nilai
|
1
|
Ukuran Populasi:
|
50
|
2
|
Panjang Kromosom
|
32
bit
|
3
|
Laju Crossover:
|
0.9
|
4
|
Laju Mutasi:
|
0.01
|
5
|
Gap Generasi:
|
0.98
|
6
|
Jenis Kromosom
|
continuous or integer
|
Tabel 4: Pengaturan
parameter untuk algoritma genetika
Saat melakukan optimisasi, kita akan merubah nilai bobot
dan bias sedemikian hingga nilai statistik yang dioptimisasi menjadi lebih
besar/kecil. Algoritma genetika melakukan penentuan nilai bobot dan bias secara
acak dalam rentang kromosom (constrain) yang sudah ditentukan.
Langkah selanjutnya adalah menerapkan semua perhitungan
jaringan syaraf dan algoritma genetika ke dalam sebuah lembar kerja (worksheet)
Excel. Dalam lembar kerja terdapat beberapa bagian yang harus dibuat sesuai
konfigurasi jaringan syaraf yang dibuat, yaitu bagian-bagian:
-
Data asal (input dan output)
-
Normalisasi/skala data input menjadi [-1,1]
-
Neuron Tersembunyi Link1 (weight & bias)
-
Output fungsi transfer Link1 sebagai implementasi persamaan
matematika (1)
-
Neuron Tersembunyi Link2 (weight & bias)
-
Output prediksi sebagai hasil operasi matematika output Link1
dengan neuron tersembunyi Link2 menggunakan persamaan matematika (2)
-
Normalisasi/skala balik dari data output prediksi ke
nilai skala asal
-
Data perhitungan statistik (R2, r, r2, MSE, Min AE, Max
AE, range percentage)
Selanjutnya kita menyalin worksheet tersebut sebagai
lembar kerja untuk optimisasi algoritma genetika. Adapun yang menjadi target
optimisasi adalah salah satu nilai statistik yang dikehendaki, misal memaksimumkan
penjumlahan nilai R2 untuk kedua output dan lain-lain. Kita
menjadikan nilai-nilai weight dan bias dari hasil jaringan syaraf menjadi
kromosom.
Setelah nilai optimisasi algoritma genetika diperoleh,
selanjutnya dibuat aplikasi windows untuk memanggil file definisi dari jaringan
syaraf teroptimisasi algoritma genetika. Pengguna aplikasi tinggal memasukkan
semua nilai input yang diperlukan dan aplikasi akan memberikan hasil
klasifikasi apakah seseorang diperkirakan memiliki resiko kredit yang baik atau
buruk. Tentu saja aplikasi ini bisa digunakan oleh manajer bank atau staf personel
yang mengevaluasi kelayakan pemohon kredit.
Hasil
Tabel 5 menunjukkan hasil pencarian menggunakan jaringan syaraf
backpropagation, dengan bantuan Tabel 6 kita bisa mengetahui kualitas hasil
klasifikasi jaringan syaraf tersebut.
Tabel
5 Statistik hasil Jaringan Syaraf
Tabel
6 Hasil Klasifikasi Jaringan Syaraf
Setelah kita melakukan optimisasi Tabel 7 menunjukkan nilai-nilai
statistik hasil optimisasi menggunakan algoritma genetika terhadap nilai bobot
dan bias dari hasil jaringan syaraf.
Tabel
7 Statistik Setelah Optimisasi AG
Tabel
8 Hasil Klasifikasi Setelah Optimisasi AG
Perhatikan bahwa terjadi perbaikan nilai-nilai statistik
setelah nilai weight dan bias dioptimisasi dengan algoritma genetika. Hasil
klasifikasi juga semakin baik, salah satunya adalah nilai True
Positive Proportion meningkat dibanding
sebelumnya.
Proses optimisasi dengan algoritma genetika di atas
dihentikan pada evolusi tertentu, sehingga proses peningkatan kualitas prediksi
masih memungkinkan jika proses pencarian kromosom dilanjutkan.
Selanjutnya, jaringan syaraf teroptimisasi bisa dipanggil
dalam aplikasi, sehingga mudah untuk digunakan. Seperti Gambar 1 di bawah,
pengguna tinggal memasukkan data pemohon kredit, lalu dengan menekan tombol Classify, seorang pemohon tergolong kategori pemohon
kredit yang baik atau buruk. Aplikasi akan secara otomatis menunjukkan
klasifikasi pemohon pinjaman, jika baik maka check box Good Applicant
akan dipilih, sebaliknya jika buruk maka check box Bad Applicant akan
dipilih.
Kesimpulan dan Penelitian Lanjutan
Metode klasifikasi data
kredit dengan menggunakan jaringan syaraf yang ditingkatkan dengan algoritma
genetika menunjukkan hasil yang lebih baik, dan diperoleh dalam waktu yang
cepat.
Ada banyak aspek yang kita dapat
mempertimbangkan di masa depan. Agar data yang sama bisa diterapkan untuk
evaluasi pemohon kredit di bank-bank negara lain termasuk Indonesia, maka kita perlu
melakukan pengumpulan data. Data tersebut bisa menggunakan kategori
sosio-ekonomi yang sama dengan data kredit di Jerman tetapi menggunakan data
pemohon kredit terhadap bank-bank di Indonesia.
Analisis yang sama bisa dilakukan
terhadap data yang dikumpulkan tersebut di atas sehingga seorang manajer bank
atau staf personel pengevaluasi permohonan pinjaman atau kredit bisa memberikan
keputusan yang cepat dan akurat.
Adalah perlu untuk
melakukan studi yang sama dengan menggunakan konfigurasi jaringan yang lain,
misal kohonen, PNN, GRRN dan lain-lain.
Artikel bisa di download dari https://independent.academia.edu/ArryAndriana
Tidak ada komentar:
Posting Komentar