Algoritma Perceptron


Algoritma Perceptron adalah salah satu algoritma berbasis jaringan saraf yang dapat digunakan untuk pengambilan keputusan. Contoh yang dibahas kali ini adalah mengenai penentuan penerimaan pengajuan kredit sepeda motor baru berdasarkan kelompok data yang sudah ada.
Algoritma ini merupakan algoritma pendahulu dari Algoritma JST (Jaringan Saraf Tiruan). Algoritma JST dapat dikatakan sebagai kumpulan dari beberapa Perceptron yang saling terhubung. Sehingga dengan memahami algoritma ini, Anda akan memiliki pengetahuan dasar mengenai jaringan saraf tiruan yang sederhana, sehingga memudahkan untuk mempelajari jaringan saraf tiruan yang sebenarnya.



Diasumsikan ada 8 data pelanggan yang sudah diketahui datanya, yaitu Pelanggan A,B,C,D,E,F,G,H
Masing-masing pelanggan memiliki kriteria, yaitu umur, jenis kelamin, skor kepribadian, dan memiliki nilai hasil yaitu Diterima / Ditolak
Diasumsikan 8 data tersebut adalah sebagai berikut:

Pelanggan Umur Jenis Kelamin Skor Kepribadian Hasil
Pelanggan A 44 Laki-laki 3.55 Diterima
Pelanggan B 52 Perempuan 4.71 Diterima
Pelanggan C 60 Perempuan 6.56 Ditolak
Pelanggan D 56 Laki-laki 6.8 Ditolak
Pelanggan E 51 Laki-laki 6.94 Ditolak
Pelanggan F 46 Perempuan 6.52 Ditolak
Pelanggan G 48 Laki-laki 4.25 Diterima
Pelanggan H 58 Perempuan 5.71 Diterima

Contoh data awal adalah sebagai berikut:
Untuk Kriteria Jenis Kelamin:
Laki-laki dilambangkan dengan angka -1
Perempuan dilambangkan dengan angka +1
Untuk kriteria Nilai Hasil:
Jika kondisi Diterima, maka inputan data kolom adalah 1
Jika kondisi Ditolak, maka inputan data kolom adalah 0



Selanjutnya ada 2 orang pelanggan baru yang mengajukan kredit sepeda motor
Maka tentukan pelanggan ini nantinya akan termasuk dalam kelompok Diterima / Ditolak
Diasumsikan data awalnya adalah sebagai berikut:

Pelanggan Umur Jenis Kelamin Skor Kepribadian
Pelanggan I 47 Perempuan 6.05
Pelanggan J 52 Laki-Laki 5

Contoh data baru adalah sebagai berikut:
Untuk kriteria Nilai Hasil:
Karena belum diketahui nilai hasilnya, maka semua inputan data adalah -1



Sebelum masuk kedalam langkah-langkah pembahasan algoritma, ada beberapa konstanta atau parameter yang harus diketahui, yaitu:
* Tentukan jumlah maksimal perulangan / epoch yang digunakan dalam perhitungan
Diasumsikan dalam kasus ini, jumlah maksimal perulangan adalah 100 kali

* Tentukan nilai alpha sebagai rasio pembelajaran untuk digunakan pada perhitungan matriks bobot
Semakin besar nilainya, maka semakin cepat nilai bobot akan berubah-ubah
Diasumsikan dalam kasus ini, rasio pembelajaran adalah 0.0075


Langkah-langkah penggunaan algoritma ini adalah

1. Lakukan normalisasi data untuk kriteria Umur dan Skor Kepribadian
Penjelasan lebih lanjut dapat dilihat pada penjelasan skrip dibawah ini (poin 1a – 1c)

1a. Hitung nilai rata-rata tiap-tiap kolom
yaitu dengan rumus: jumlah semua data dibagi dengan jumlah datanya

1b. Hitung nilai standar deviasi tiap-tiap kolom
yaitu dengan rumus: akar dari ((kuadrat dari (jumlah dari (data – rata-rata))) / jumlah data)

1c. Normalisasi data dihitung dengan rumus (data – (rata-rata kriteria tersebut)) / standar deviasi kriteria tersebut

* Lakukan proses pencarian matriks bobot terbaik untuk masing-masing pola angka

2. Lakukan perulangan sebanyak jumlah maksimal perulangan yang ada

2a. Lakukan perhitungan pada masing-masing contoh data (poin 2a1 – 2a7)

2a1. Hitung hasil data apabila dihitung menggunakan matriks bobot
Penjelasan lebih detail tentang fungsi ini akan dijelaskan pada perhitungan dibawah ini

Memasuki perhitungan pada fungsi hitungNilaiOutput

2a1a. Hitung nilai dp, yaitu jumlah dari perkalian antara masing-masing data baru dengan bobot nya

2a1b. Kemudian tambahkan nilai bias pada nilai tersebut

2a1c. Jika dp bernilai lebih dari 0.5, maka nilai prediksi adalah 1
Jika dp bernilai kurang dari 0.5, maka nilai prediksi adalah 0

2a2. Bandingkan hasil perhitungan dengan hasil data yang sebenarnya
Apabila nilainya tidak sama, maka lakukan perhitungan berikutnya untuk melakukan penyesuaian nilai bobot dan bias

2a3. Hitung nilai delta yaitu selisih perhitungan antara hasil data dengan hasil perhitungan

2a4. Hitung nilai bobot pada masing-masing data dengan rumus:
bobot = alpha * delta * nilai hasil contoh data (0 atau 1)

2a5. Kemudian tambahkan nilai bias pada nilai bobot tersebut
Nilai bias dihitung dengan rumus:
bias = alpha * delta

2a6. Setelah melakukan penyesuaian matriks bobot, maka hitung total kesalahan untuk matriks bobot ini (poin 2a6a – 2a6c)

2a6a. Hitung nilai total yaitu jumlah dari perkalian antara masing-masing data dengan bobot nya

2a6b. Kemudian tambahkan nilai bias pada nilai tersebut

2a6c. Nilai kesalahan dihitung dengan rumus
Err = E (0.5 * (total – Y(i)) * (total – Y(i)))
Dimana Y(i) adalah nilai hasil pada masing-masing contoh data

2a7. Apabila nilai kesalahan tersebut kurang dari nilai kesalahan terbaik maka ambil nilai bobot dan bias sebagai nilai terbaik

3. Lakukan perhitungan dari masing-masing contoh data menggunakan nilai bobot dan nilai bias yang sudah ditemukan
Penjelasan tentang fungsi ini sudah dijelaskan pada perhitungan sebelumnya

4. Jika nilai output bernilai kurang dari 0.5 maka pelanggan tersebut memiliki nilai hasil Ditolak
Jika nilai output bernilai lebih dari 0.5 maka pelanggan tersebut memiliki nilai hasil Diterima
Kemudian bandingkan nilai output dengan nilai hasil pada contoh data
Jika hasilnya sudah sama, maka catat data ini kedalam jumlah data benar
Jika hasilnya tidak sama, maka catat data ini kedalam jumlah data salah

5. Catat tingkat kecocokan perhitungan data dengan hasil awal pada data
Langkah ini tidak wajib, hanya untuk mengetahui seberapa besar tingkat kecocokan perhitungan untuk data baru yang akan dihitung selanjutnya

6. Lakukan perhitungan yang sama (poin 3 dan 4) untuk masing-masing data baru


Hasil akhir adalah: (klik untuk perbesar gambar)

cmd52a


Contoh modul / source code dalam bahasa VB (Visual Basic) dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.

Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *