• Tidak ada hasil yang ditemukan

Pembelajaran Fuzzy Radial Basis Function Neural Network (FRBFNN) Pembelajaran FRBFNN terbagi menjadi 4 bagian Pada bagian pertama,

Langkah 7 : Kondisi pembelajaran berhenti.

B. Prosedur Pembentukan Model Fuzzy Radial Basis Neural Network (FRBFNN) dengan Preprocessing Citra untuk Deteksi Dini Kanker Paru

5. Pembelajaran Fuzzy Radial Basis Function Neural Network (FRBFNN) Pembelajaran FRBFNN terbagi menjadi 4 bagian Pada bagian pertama,

menentukan banyaknya neuron pada lapisan input fuzzy. Jumlah neuron pada lapisan input fuzzy ditentukan dengan melakukan proses fuzzifikasi. Pada proses fuzzifikasi dilakukan dengan menggunakan beberapa fungsi keanggotaan. Pada penelitian tugas akhir ini menggunakan fungsi keanggotan trapesium. Fungsi keanggotaan trapesium digunakan karena memberikan hasil terbaik dalam mendefinisikan himpunan fuzzy pada masing- masing input fitur.

67

Proses fuzzifikasi dilakukan pada masing-masing variabel input yaitu , , , , . Pada langkah awal proses fuzzifikasi yaitu mengidentifikasi himpunan semesta dari , , , , . Himpunan semesta pada variabel input yaitu nilai mininum dan nilai maksimum yang diperoleh dari 5 fitur hasil ekstraksi citra yang meliputi keseluruhan data training dan data testing. Setelah mengidentifikasi himpunan semesta pada variabel input, langkah selanjutnya yaitu menentukan parameter-parameter dari fungsi keanggotaan trapesium dan diperoleh derajat keanggotaan untuk tiap-tiap himpunan fuzzy. Masing-masing variabel input didefinisikan menjadi 3 himpunan fuzzy dengan fungsi keanggotaan trapesium. Proses mendefinisikan himpunan tegas ke himpunan fuzzy dilakukan dengan bantuan program Matlab R2013a.

function y = trapmf(x, params)

dengan,

y = bilangan fuzzy, ∈ [ ]

x = bilangan crisp

params = parameter-parameter pada fungsi keanggotaan trapesium , , ,

Pada bagian kedua, menentukan pusat dan jarak pada fungsi aktivasi gaussian. Penentuan pusat cluster dan jarak maksimum masing-masing cluster menggunakan metode K-Means Clustering. Metode K-Means Clustering dilakukan dengan menggunakan bantuan software Minitab.

Pembelajaran FRBFNN pada bagian ketiga yaitu menentukan jumlah neuron pada lapisan tersembunyi. Jumlah neuron pada lapisan tersembunyi ditentukan

68

berdasarkan banyaknya cluster yang terbentuk pada metode K-Means Clustering. Pada lapisan tersembunyi FRBFNN menggunakan fungsi aktivasi, fungsi aktivasi yang digunakan berupa fungsi radial basis Gaussian. Pada tugas akhir ini aktivasi fungsi basis dilakukan dengan bantuan Matlab R2013a. Berikut ini fungsi rbfDesign pada Matlab R2013a.

function H = rbfDesign(X, C, R, options)

dengan,

H = matriks desain FRBFNN

X = matriks data input

C = matriks pusat cluster

R = matrisk jarak input terhadap pusat cluster

options = tipe fungsi aktivasi

Pada bagian keempat dari pembelajaran FRBFNN yaitu menentukan bobot- bobot yang menghubungkan antara lapisan tersembunyi dan lapisan output. Pada tugas akhir ini menggunakan dua pendekatan dalam menentukan bobot-bobot tersebut. Pada pendekatan yang pertama menggunakan metode global ridge regression dengan pemilihan kriteria model menggunakan kriteria Global Cross- Validation (GCV). Metode global ridge regression dilakukan dengan bantuan Matlab R2013a. Berikut ini fungsi globalRidge pada Matlab 2013a.

function l = globalRidge(H, T, 0.05)

dengan,

l = parameter regulasi

69

T = matriks target data training

0.05 = nilai estimasi parameter regulasi

Pada pendekatan yang kedua yaitu menggunakan algoritma backpropagation. Input yang digunakan pada algoritma backpropagation adalah nilai-nilai fungsi aktivasi pada lapisan tersembunyi. Pada algoritma backpropagation juga menggunakan suatu fungsi aktivasi. Jenis fungsi aktivasi yang digunakan adalah fungsi identitas. Sebelum melakukan pembelajaran backpropagation, parameter- parameter pembelajaran perlu diatur terlebih dahulu. Terdapat beberapa fungsi pembelajaran yang dapat digunakan salah satunya adalah gradient descent with momentum and adaptive learning rate (traingdx). Berikut ini parameter yang harus diatur pada fungsi pembelajaran traingdx (Kusumadewi, 2004: 151-152):

a. Maksimum Epoh

Maksimum epoh adalah jumlah epoh maksimum yang dilakukan selama proses pembelajaran. Iterasi akan dihentikan apabila nilai epoh melebihi maksimum epoh. Perintah pada Matlab R2013a adalah,

net.trainParam.epochs=MaxEpoh

Nilai maksimum epoh yang digunakan adalah . Pemilihan nilai maksimum epoh sebesar untuk mempercepat proses pembelajaran.

b. Kinerja Tujuan

Kinerja tujuan adalah target nilai fungsi kinerja. Iterasi akan berhenti apabila nilai fungsi tujuan kurang dari atau sama dengan kinerja tujuan. Perintah pada Matlab R2013a adalah

70

Nilai kinerja tujuan yang digunakan adalah × − . Pemilihan nilai kinerja tujuan sebesar × − untuk memperoleh error model yang cukup kecil.

c. Maksimum Kenaikan Kinerja

Maksimum kenaikan kinerja adalah nilai maksimum kenaikan error yang diijinkan, antara error saat ini dan error sebelumnya. Jika perbandingan antara error pembelajaran yang baru dengan error pembelajaran lama melebihi maksimum kenaikan kinerja, maka bobot-bobot akan diabaikan. Sebaliknya, jika perbandingannya kurang dari maksimum kenaikan kinerja, maka bobot-bobot akan dipertahankan. Perintah pada Matlab R2013a adalah

net.trainParam.max_perf_inc=MaxPerfInc

Nilai maksimum kenaikan kinerja yang digunakan adalah , . Pemilihan nilai maksimum kenaikan kinerja sebesar , untuk memperoleh bobot-bobot optimum. d. Learning rate

Learning rate adalah laju pembelajaran. Semakin besar nilai learning rate akan berakibat pada semakin besarnya langkah pembelajaran. Jika learning rate diatur terlalu besar, maka algoritma akan menjadi tidak stabil. Perintah pada Matlab R2013a adalah

net.trainParam.lr=LearningRate

Nilai learning rate yang digunakan pada tugas akhir ini adalah , . Pemilihan nilai learning rate sebesar , untuk memperoleh proses pembelajaran yang stabil.

71 e. Rasio untuk menaikkan learning rate

Rasio ini berguna sebagai faktor pengali untuk menaikkan learning rate apabila learning rate yang ada terlalu rendah untuk mencapai kekonvergenan. Perintah pada Matlab R2013a adalah

net.trainParam.lr_inc=IncLearningRate

Nilai rasio yang digunakan adalah , . Pemilihan nilai rasio kenaikan learning rate sebesar , untuk mencapai kekonvergenan yang lebih cepat.

f. Rasio untuk menurunkan learning rate

Rasio ini berguna sebagai faktor pengali untuk menurunkan learning rate, apabila learning rate yang ada terlalu tinggi dan menuju ketidakstabilan. Perintah pada Matlab R2013a adalah

net.trainParam.lr_dec=DecLearningRate

Nilai rasio yang digunakan adalah , . Pemilihan nilai rasio penurunan learning rate sebesar , untuk mencapai kekonvergenan yang lebih cepat.

g. Momentum

Momentum adalah konstanta yang mempengaruhi besarnya perubahan bobot, yang bernilai antara 0 sampai 1. Jika nilai Momentum = 0, maka perubahan bobot hanya akan dipengaruhi oleh gradiennya. Jika nilai Momentum = 1, maka perubahan bobot akan sama dengan perubahan bobot selamanya. Perintah pada Matlab R2013a adalah

net.trainParam.mc=Momentum

Nilai momentum yang digunakan adalah , . Pemilihan nilai momentum sebesar , untuk memperoleh bobot-bobot optimum.

72 h. Jumlah Epoh yang ditunjukkan

Parameter ini menunjukkan berapa jumlah epoh berselang yang akan ditunjukkan kemajuannya. Perintah pada Matlab R2013a adalah

net.trainParam.show=Epohshow

Nilai epoh yang akan ditunjukkan kemajuannya adalah . Pemilihan nilai epoh yang ditunjukkan sebesar untuk melihat perubahan error setiap epoh yang

telah dijalankan.

Dokumen terkait