CLUSTERING MENGGUNAKAN SELF ORGANIZING MAPS DAN KLASIFIKASI MENGGUNAKAN JARINGAN SYARAF TIRUAN PROPAGASI BALIK
(STUDI KASUS : DATA PENGAJUAN KREDIT)
Ulfa Khaira (G651130111)
Magister Ilmu Komputer, Sekolah Pascasarjana, Institut Pertanian Bogor
PENDAHULUAN
Latar Belakang
Penyediaan kartu kredit bagi nasabah merupakan salah satu cara untuk memperoleh keuntungan dalam kegiatan perbankan. Di sisi lain, kartu kredit dapat menimbulkan risiko kerugian jika nasabah sering melakukan tunggakan pembayaran.Oleh karena itu,perlu dilakukan penelusuran riwayat perbankan nasabah untuk mengetahui apakah calon debitur termasuk nasabah yang lancar (good) atau tidak (bad) dalam pembayaran kartu kredit.
Setiap bank mempunyai standar yang khusus dalam menentukan diterima atau tidaknya suatu pengajuan kredit. Hal ini sangat penting untuk mengurangi peluang kerugian bank akibat menerima nasabah kartu kredit yang mempunyai potensi bermasalah. Diperlukan manajemen risiko untuk meminimalkan kerugian yang akan diderita oleh pihak bank yang diakibatkan oleh kredit bermasalah. Salah satu bentuk manajemen risiko adalah menganalisis nasabah bermasalah yang sudah ada yang kemudian digunakan sebagai acuan penerimaan nasabah baru. Keputusan pemberian kredit kepada calon nasabah atau calon debitur melewati proses pengajuan kredit dan melalui tahap analisis terhadap kredit yang diajukan. Tahap analisis ini merupakan tahap yang paling penting dalam kualifikasi pemberian kredit.
Tulisan ini membahas mengenai clustering (pengelompokan) dengan metode self organizing maps (SOM) pada nasabah yang mengajukan kredit serta klasifikasi menggunakan jaringan syaraf tiruan propagasi balik (JST PB).
Tujuan
Menerapkan metode self organizing maps untuk mengelompokan nasabah
Membuat model untuk mengklasifikasikan nasabah kredit yang diterima baik atau buruk.
METODE
Pengadaan Data
Data didapat dari http://archive.ics.uci.edu/ml/ yang merupakan repository data untuk keperluan penelitian yang berhubungan dengan machine learning. Data yang digunakan adalah data pengajuan kredit. Dataset ini terdiri atas dua kelas yaitu diterima atau ditolak. Jumlah instance keseluruhan adalah 690 dengan komposisi masing-masing kelas yaitu 307 diterima dan 383 ditolak. Terdapat 15 fitur dataset , tetapi demi menjaga kerahasiaan fitur-fitur ini tidak dijelaskan dan datanya pun diubah menjadi simbol yang maknanya tidak diketahui.
Praproses Data
Data yang sudah didapat kemudian diubah menurut keperluan algoritme dan jenis tipe atribut itu sendiri. Setiap kelas mengalami pengurangan jumlah instance. Instance yang bertipe kategorik jika terdapat missing value tidak digunakan dalam tugas ini. Jika data yang bertipe numerik terdapat missing value maka menggunakan mean dari atribut tersebut untuk menggantikan missing value. Setelah pembersihan missing value ini didapat data sebanyak 671 instance dengan komposisi masing-masing kelas yaitu 298 diterima dan 373 ditolak.
Data yang bertipe kategorik ditransformasi menjadi data numerik agar dapat diproses dalam clustering dan klasifikasi, transformasi data ini dilakukan dengan menggunakan nilai frekuensi kemunculan data dalam satu atribut. Setelah itu dilakukan normalisasi.
Proses normalisasi terhadap data dilakukan terlebih dahulu sebelum masuk ke tahap proses data mining, karena data yang digunakan memiliki rentang nilai yang sangat besar. Rentang nilai yang sangat besar cukup mempengaruhi pada metode clustering yang berbasis jarak. Normalisasi pada umumnya digunakan untuk menyetarakan atribut agar atribut satu dengan lainnya memiliki ukuran yang sama, memiliki rataan dan standar deviasi nol. Normalisasi juga membuat rentang nilai menjadi jauh lebih kecil sehingga membantu perhitungan jarak menjadi lebih cepat dan efisien. Teknik normalisasi yang digunakan pada adalah min-max normalization.
Min-max normalization
Atribut yang mempunyai rentang nilai besar akan mempengaruhi hasil dari perhitungan jarak Euclidean. Solusi yang dapat digunakan untuk mengatasi permasalahan tersebut adalah dilakukannya normalisasi (Larose 2005). Metode normalisasi yang dapat diterapkan adalah min-max normalization dengan mengikuti persamaan berikut :
x"= x-min (x)maxx-min (x)
dengan x"adalah nilai hasil normalisasi, x nilai sebelum normalisasi, min(x) nilai minimun dari atribut, dan max(x) nilai maksimum dari atribut.
Pengadaan DataPraproses DataNormalisasi Penerapan JST PB Penerapan SOM
Pengadaan Data
Praproses Data
Normalisasi
Penerapan JST PB
Penerapan SOM
Bagan 1. Tahapan Pengerjaan
Bagan 1. Tahapan Pengerjaan
Clustering dengan Menggunakan Self Organizing Maps (SOM)
Clustering
Clustering adalah pengelompokan dari record, observasi-observasi atau kasus-kasus ke kelas yang memiliki kemiripan objek-objeknya. Clustering berbeda dengan klasifikasi, dalam hal tidak ada variabel target untuk clustering. Clustering tidak mengklasifikasikan, meramalkan, atau memprediksi nilai dari sebuah variabel target. Algoritme-algoritme clustering digunakan untuk menentukan segmen keseluruhan himpunan data menjadi subgroup yang relatif sama atau cluster, dengan kesamaan record dalam cluster dimaksimumkan dan kesamaan record di luar cluster diminimumkan (Larose 2004).
Self Organizing Maps (SOM)
Self Organizing Maps (SOM) diperkenalkan oleh Teuvo Kohonen seorang ilmuwan Finlandia pada tahun 1982, sehingga SOM dikenal juga dengan jaringan Kohonen. SOM merupakan salah satu jaringan syaraf tiruan yang dikonfigurasi untuk pengelompokan data. Jaringan SOM Kohonen menggunakan metode pembelajaran unsupervised yang proses pelatihannya tidak memerlukan pengawasan (target output). Jaringan kohonen SOM terdiri dari 2 lapisan(layer), yaitu lapisan input dan lapisan output. Setiap neuron dalalm lapisan input terhubung dengan setiap neuron pada lapisan output. Setiap neuron dalam lapisan output merepresentasikan kelompok dari input yang diberikan.
Penulisan istilah yang ada pada struktur jaringan kohonen Self Organizing Maps adalah sebagai berikut:
X : vektor input pembelajaran
X = (x1, x2,…, xj,…..,xn)
: learning rate
R : radius neighborhood
X1 : neuron/node input
wij : bias pada neuron output ke-j
Yj : neuron/node output ke-j
C : konstanta
Algoritma Pembelajaran
Langkah 0 : - Inisialisasi bobot wij.
- Set parameter topological neighbourhood
- Set parameter laju pembelajaran .
Langkah 1 : Jika syarat berhenti tidak dipenuhi (Salah), Kerjakan langkah 2 – 8
Langkah 2 : Untuk setiap input vektor x , kerjakan langkah 3 – 5
Langkah 3 : Untuk setiap indeks j, hitung nilai :
Langkah 4 : Cari unit pemenang (indeks J), yaitu unit yang memiliki D(j) minimum.
Langkah 5 : Hitung semua nilai wij (baru) dengan nilai j dari langkah 4.
Langkah 6 : Ubah (update) nilai laju pembelajaran.
Langkah 7 : Kurangi jarak tetangga (R).
Langkah 8 : Periksa syarat berhenti.
Pembahasan Clustering dengan Menggunakan Self Organizing Maps (SOM)
Input algoritme SOM adalah data dari praproses sebanyak 671 instance dan 15 atribut, dilakukan normalisasi dengan metode min-max normalization. Parameter awal dari algoritme SOM yang digunakan adalah :
Ukuran cluster : 2
Learning rate : 0.8
Penurunan Learning rate : 0.5
Ukuran Lingkungan : 0
. Dataset tidak dipisahkan menjadi data latih dan data uji, karena SOM merupakan proses clustering yang bersifat unsupervised artinya tidak perlu bimbingan. Metode inisialisasi nilai vektor bobot adalah dengan mengambil nilai instance secara random. Fungsi jarak yang digunakan adalah euclidean dan kriteria pemberhentian clustering dilakukan dengan pembatasan jumlah epoch. Algoritme SOM dijalankan dengan 50 epoch.
Data pengajuan kredit ini terdapat dua kelas yaitu diterima dan ditolak, sehingga clustering ini menggunakan ukuran cluster sebanyak dua. Banyaknya anggota masing-masing cluster dengan ukuran cluster 2 disajikan pada Tabel 1.
Tabel 1 Banyak anggota masing-masing cluster dengan ukuran cluster 2
Cluster ke-
Banyak anggota
Persentase banyak anggota
1
356
53%
2
315
47%
Seharusnya cluster 1 memiliki 298 data dan cluster 2 memiliki 373 data.Untuk menganalisis hasil cluster ini cukup sulit karena atribut-atribut pada data ini dirahasiakan dan deskripsi nilainya tidak diketahui. Sehingga tidak bisa dilakukan representasi pengetahuan untuk melihat pola yang mungkin terjadi dari hasil clustering dan tidak dapat diambil informasi mengenai karakteristik cluster .
KLASIFIKASI MENGGUNAKAN JARINGAN SYARAF TIRUAN
PROPAGASI BALIK
Jaringan Syaraf Tiruan Propagasi Balik
Jaringan Syaraf Tiruan Propagasi Balik pertama kali diperkenalkan oleh Rumelhart, Hinton dan William pada tahun 1986, kemudian Rumelhart dan Mc Clelland mengembangkannya pada tahun 1988 (Siang 2005).
Inti dari algoritma pembelajaran dengan metode Propagasi Balik ini terletak pada kemampuannya untuk mengubah nilai-nilai bobotnya untuk menanggapi adanya kesalahan. Untuk dapat menghitung kesalahan, pada proses pembelajaran perlu adanya pola-pola keluaran yang dijadikan target oleh jaringan, sehingga setiap keluaran yang dihasilkan oleh jaringan akan dibandingkan dengan targetnya. Hasil dari perbandingan ini berupa error atau kesalahan. Oleh karena itu, Jaringan Saraf Tiruan Propagasi Balik merupakan jaringan dengan proses pembelajaran secara terbimbing (Siang 2005).
Fungsi aktivasi merupakan fungsi matematis yang berguna untuk membatasi dan menentukan jangkauan output suatu neuron. Fungsi aktivasi untuk Jaringan Saraf Tiruan Backpropagation harus memiliki beberapa karakteristik penting, yaitu kontinyu, dapat dideferensialkan, dan monoton tanpa penurun. Fungsi aktivasi biasanya digunakan untuk mencari nilai asimtot maksimum dan minimum. Fungsi aktivasi yang biasa digunakan untuk jaringan Backpropagation adalah fungsi sigmoid biner dan fungsi sigmoid bipolar. Di mana fungsi sigmoid biner memiliki jangkauan antara 0 dan 1, sedangkan fungsi sigmoid bipolar memiliki jangkauan antara -1 dan 1.
Fungsi Aktivasi
Beberapa fungsi aktivasi yang sering dipakai adalah:
a. Fungsi Sigmoid
Dalam backpropagation, fungsi aktivasi yang dipakai harus memenuhi beberapa syarat yaitu: kontinu, terdiferensial dengan mudah dan merupakan fungsi yang tidak turun (Siang 2005). fungsi yang memenuhi ketiga syarat tersebut adalah fungsi sigmoid. Terdapat dua buah fungsi sigmoid yaitu sigmoid biner dan sigmoid bipolar, namun yang digunakan dalam tugas ini adalah fungsi sigmoid biner.
Gambar 1 Grafik fungsi sigmoid biner (kiri) dan sigmoid bipolar (kanan)
Praproses data dan normalisasi
Praproses data dan normalisasi
Bagan 2 Alur Kerja Klasifikasi dengan JST PBHitung akurasiPengujian Proses Pelatihan dengan JST PBData Uji Data Latih
Bagan 2 Alur Kerja Klasifikasi dengan JST PB
Hitung akurasi
Pengujian
Proses Pelatihan dengan JST PB
Data Uji
Data Latih
Pembahasan Klasifikasi Menggunakan Jaringan Syaraf Tiruan Propagasi Balik
Data yang telah dinormalisasi dibagi menjadi data latih dan data uji , proporsi banyaknya data latih adalah sebanyak 2/3 bagian dari total data yaitu sebanyak 448 instance , data uji sebanyak 223 instance. Dalam tugas ini digunakan 2 buah Hidden Layer. Input terdiri dari 15 neuron dan akan masuk kedalam Hidden Layer. Fungsi aktivasi yang digunakan adalah Sigmoid Biner, yang memiliki rumus :
Output terdiri dari 1 buah layer. Kelas 1 ditentukan jika output Y1 = 0 , kelas 2 jika output Y1 = 1. Pelatihan akan diulang sampai 35 epoch. Terdapat tiga fase dalam pelatihan Jaringan Syaraf Tiruan Propagasi Balik, yaitu fase maju (feed forward), fase mundur (back propagation), dan fase modifikasi bobot. Dalam fase feed forward, pola masukan dihitung maju mulaidari lapisan input hingga output. Pertama input akan dijumlahkan dengan sinyal-sinyal input terbobot,termasuk biasnya. Karena terdapat 2 buah neuron dalam Hidden Layer, maka bobotnya terdiri dari 15 baris dan 2 kolom.Untuk bobot dari Hidden Layer ke layer output diambil secara acak dari data latih. Begitu juga dengan bobot awal diambil secara acak dari data latih. Berikut ini adalah bobot awal yang digunakan dalam proses pelatihan
v0 = 0.4616 0.3616
w = 0.1607
0.0877
w0 = 0.0896
Output yang dihasilkan akan memasuiki fase back propagation. Dalam fase back propagation, tiap-tiap unit output menerima target pola yang berhubungan dengan pola input untuk dihitung nilai kesalahan. Nilai target yang digunakan untuk kelas 1 adalah 0 dan untuk kelas 2 adalah 1. Nilai target ini akan dikurangi dengan nilai Y hasil pelatihan untuk didapatkan nilai error. Nilai error digunakan untuk memperbarui nilai bobot W dan bias W. Setelah itu setiap hidden unit menjumlah input delta dari proses sebelumnya untukmemperbarui bobot V dan bias V. Fase modifikasi bobot bertujuan untuk menurunkan kesalahan yang terjadi. Setelah melalui 35 epoch, dan setiap 1 epoch dilakukan pengujian 448 data, maka dihasilkan bobot baru dan error.
Setelah pelatihan didapat bobot baru yang telah dimodifikasi, bobot ini digunakan untuk menguji data uji. Data uji terdiri dari 223 instance , data ini akan menghasilkan Y yang mendekati nilai target. Untuk mengetahui data tersebut masuk ke kelas mana digunakan batasan jika Y > 0.6 maka masuk ke kelas 1(kedit diterima), selainnya masuk ke kelas 2 (kredit ditolak). Didapatkan hasil 130 data masuk ke kelas 1 (kredit diterima) dan 93 data masuk ke kelas 2 (kredit ditolak). Untuk melihat akurasi hasil klasifikasi ini dapat menggunakan rumus :
Dengan menggunakan rumus tersebut didapat akurasi sebesar 68% , hasil akurasi ini kurang baik dikarenakan data yang digunakan adalah data kategorik yang ditansformasikan menjadi data numerik dengan cara menghitung frekuensi kemunculan data dalam satu atribut.
DAFTAR PUSTAKA
Larose DT. 2004. Discovering Knowledge in Data: An Introduction to Data mining. New Jersey: Wiley.
Siang JJ. 2005. Jaringan Syaraf Tiruan & Pemogramannya Menggunakan MATLAB. Yogyakarta: ANDI.
LAMPIRAN
Bobot awal SOM
Script algoritma SOM
Script algoritma JST PB