ADAPTIVE NEURO-FUZZY
1. Tujuan [kembali]
- Mempelajari cara membuat ANFIS di Matlab.
- Mempelajari cara membuat ANFIS dengan command lines dan ANFIS dengan non-default setting.
- Mengetahui cara mengoperasikan ANFIS di Matlab.
6.6 ANFIS dengan command Line
Bagian ini akan mendemonstrasikan penggunaan fuzzy logic toolbox tipe ANFIS dengan menggunakan command line.
6.6.1 Contoh Masalah
Memprediksi deret chaotic
File tersebut sudah ada tersimpan didalam MATLAB dengan nama mgdata.dat.
6.6.2 Membentuk Training data dan Checking data
Setelah data diambil dan divisualisasikan, langkah selanjutnya ialah memisahkan data menjadi dua bagian, yakni data untuk training dan data untuk checking. Yang dimana data training adalah data yang digunakan untuk latihan pada model, dan data checking adalah data yang digunakan untuk mengetes hasil dari model tersebut.
6.6.3 Membangun sistem FIS dengan Genfis1
Langkah selanjutnya adalah menginisiasikan FIS dengan menggunakan command genfis1(training data), sytax yang digunakan adalah:
engan atribut – atributnya dari model yang dibangun adalah sebagai berikut:
Atribut – atribut diatas memberi informasi – informasi penting mengenai model fis yang dibangun, informasi yang terdapat didalamnya seperti jenis fungsi untuk OR, AND, implikasi, agregasi, dll. Atribut tersebut juga menampilkan jumlah input dan output serta tules pada sistem FIS.
MATLAB juga menyediakan cara untuk mengakses informasi mengenai membership function pada input – outputnya
Dan luaran (output) dari syntax diatas adalah sebagai berikut:
INPUT
OUTPUT
Jadi dari info diatas maka dapat dihitung total parameter dari input dan outputnya
Total parameter = (mfinput x parameter input + mfoutput x parameter output)
= (8 x 3 + 16 x 5) = ( 24 + 80)
= 104 parameter
Untuk plot dari membership function sendiri adalah sebagai berikut:
6.6.4 Proses training
Proses training menggunakan perintah
Parameter – parameter dari sistem yang sudah dilatih dengan yang belum dilatih dapat dilihat pada gambar dibawah ini:
6.7 ANFIS dengan Non-Default Setting
Fungsi anfis hanya ditujukan untuk melatih FIS tipe Sugeno dengan satu output. Sintaks lengkap untuk menjalankan fungsi anfis adalah:
di mana trnData adalah data untuk training, sgnfis adalah FIS awal, Params1 adalah parameter-parameter untuk training, params2 adalah parameter untuk display selama training, chkData adalah checking data, dan method adalah metode yang dipakai melakukan tuning parameter-parameter fungsi keanggotaan.
Sebenarnya anfis tetap bisa dijalankan minimal dengan 2 argumen, yaitu :
6.7.1 FIS Awal
FIS tipe Sugeno bisa dibuat melalui FIS Editor atau Membership Function Editor atau ANFIS Editor atau dari command lines melalui perintah genfisl dengan sintaks lengkap:
di mana data adalah data untuk training, numberMFs adalah jumlah fungsi keanggotaan variabel input, inputMFs adalah jenis-jenis fungsi keaggotaan variabel input, dan outputMF adalah jenis fungsi keanggotaan output: 'constant' (suatu konstanta) atau 'linear' (persamaan garis tinier).
Contoh pemakaian command lines genfisl adalah sebagai berikut:
6.7.2 Training Options
Training options adalah opsi-opsi untuk proses training yang harus diberikan dalam argumen params1, mengacu pada sintaks lengkap fungsi anfis. Argumen params1 harus berupa vektor berikut:
Jika params1 tidak diberikan atau diisi dengan array kosong [] maka params1 akan diset dengan nilai default berikut:
params1=[10 0 0.01 0.9 1.1],
Training akan dihentikan oleh anfis jika errorTolerance tercapai atau jumlah iterasi numEpochs tercapai. Proses pelatihan tidak lain adalah proses tuning atau pengubahan parameter-parameter fungsi keanggotaan sebesar step-size.
Misalkan sz adalah variabel step-size. Pada awal iterasi, sz akan diset sama dengan initialStepSize. Jika pengubahan parameter dengan sz ini menyebabkan training error mendekati errorTolerance maka sz akan diset dengan:
Tidak ada komentar:
Posting Komentar