Adaptive Neuro-Fuzzy



1. Skenario Pemodelan [Kembali]

ANFIS bekerja berdasarkan teknik pembelajaran neuro adaptive, dimana anfis bekerja secara iteratif menebak parameter-parameter fungsi keanggotaan yang cocok. 

Anfis mengandaikan data input dan output pada black box system yang tersedia dengan menebak model apa yang cocok dalam black box tersebut, akan tetapi dalam menebak tidak disyaratkan tersedianya struktur model tertentu berdasarkan karakteristik variabel.

2. Pemodelan Dengan Anfis [Kembali]

        • Menggunakan data input output, fungsi anfis menyusun FIS dengan mengoptimalkan parameter fungsi keanggotaan menggunakan algoritma backpropagation atau kombinasi dengan metode least squares.
        • Struktur network dalam anfis sama dengan struktur JST yang memetakan input menjadi output melalui fungsi keanggotaan dan parameter yang diasosiasikan. Parameter fungsi keanggotaan akan berubah melalui proses pelatihan.

3. Validasi Model [Kembali]

Validasi model adalah proses pengujian FIS yang sudah dilatih oleh anfis, namun menggunakan data input/output yang belum dilatihkan kepada FIS. Tujuannya adalah untuk mengetahui seberapa presisi dan akurat model FIS mampu memprediksi data output jika diberikan data input.

Validasi model diperlukan karena pada titik tertentu dalam pelatihan, model cenderung melakukan overfitting pada data pelatihan 

4. Keterbatasan Anfis [Kembali]

Anfis hanya bekerja dengan sistem-sistem tipe Sugeno yang memiliki ciri-ciri sebagai berikut :

    • Sistem order 0 atau 1
    • Mempunyai output tunggal yang diperoleh dari weighted average defuzzification
    • Semua fungsi keanggotaan output harus bertipe sama, dalam bentuk konstanta atau persamaan linier
    • Tiap rule harus mempunyai fungsi keanggotaan keluar yang berbeda dengan semua rule lainnya. Jumlah fungsi keanggotaan keluaran harus sama dengan jumlah rule
    • Bobot tiap rule adalah 1

5. Anfis GUI [Kembali]

Perintah untuk memanggil Anfis GUI yaitu : anfisedit


 

Anfis GUI akan menginisialisasi parameter fungsi keanggotaan dan kemudian melatihnya, beberapa langkah yang perlu dilakukan yaitu :

          • Loading data untuk training, testing, dan checking lalu pilih jenis data
          • Membuat model awal FIS dengan klik Generate FIS
          • Melihat struktur model FIS yang sudah dibuat dengan menekan tombol Structure
          • Memilih metode optimisasi parameter FIS
          • Memilih jumlah iterasi pelatihan dan toleransi kesalahan pelatihan
          • Melatih FIS dengan mengklik tombol Train Now
          • Melihat output dari FIS versus output data pada training, checking atau testing data
5.1 Data Untuk Checking dan Training
      • Sediakan training data set yang berisi pasangan data input/output  dari sistem yang ingin dimodelkan. 
      • Pengujian bisa dilakukan selama proses training dengan memakai checking data set, pengujian akan membantu menghindari masalah overfitting
      • Menghindari overfitting dapat dilakukan dengan memilih parameter fungsi keanggotaan yang  checking errornya sangat kecil. Checking error adalah selisih keluaran FIS terhadap data output dalam checking data set, dan ditentukan selama proses training berlangsung.
5.2 Contoh Pelatihan FIS dengan Checking Data
      • Loading Data



 



        • Inisialisasi FIS
Inisialisasi FIS adalah mengeset nilai awal parameter fungsi keanggotaan dalam FIS 

        • Struktur FIS

        • Pelatihan Anfis
        • Pengujian Pasca Pelatihan Anfis

5.3 Contoh Cheking Data yang Jelek





6. Anfis Dengan Command Lines [Kembali]

6.1 Spesifikasi Contoh Masalah

Contoh kasus : bagaimana meprediksi suatu nilai deret waktu chaotic berdasarkan data-data yang trsedia pada waktu-waktu sebelumnya. Salah satu deret waktu chaotic bisa dihasilkan dari persamaan diferensialMackey-Glass (MG) :


Deret data dari deret waktu ini sudah disimulasikan dengan menggunakan metode integrasi Runge-Kutta orde 4. Kondisi awal x(0) = 1.2, 𝜏 = 17, dan x(t) = 0 untuk t < 0. 
Command lines untuk melihat plot deret waktu yaitu :



6.2 Membentuk Training Data dan Checking Data
Pada masalah prediksi deret waktu dapat dirumuskan dengan :
Diberikan data deret sampai waktu t
Prediksi nilai deret di waktu yang akan datang, misal pada waktu t+P!
Salah satu cara untuk memecahkan masalah ini dengan membuat model yang akan memetakan data input menjadi output. Data input merupakan sejumlah D data deret dari waktu (t-(D-1)Δ) sampai t dimana Δ adalah waktu sampling. Data output adalah nilai deret pada waktu t+P
Diketahui : D = 4, Δ = P = 6
                   Input berupa baris vektor : r(t)=[x(t-18) x(t-12) x(t-6) x(t) x(t+6)]
                   Output : s(t) = x(t+6)
Dari data yang tersedia akan dipilih 1000 pasang data output untuk pelatihan dan dimulai dati t = 100. Namun data akan dibagi dua, 500 pasang data pertama akan dipakai untuk training dan sisanya untuk checking. Maka command lines yang digunakan yaitu:


Pada listing program diatas, variabel t inisiaalisasinya diganti menjadi z didalam percobaan, ini dilakukan karena variabel t sudah digunakan pada baris program sebelumnya yaitu " t = mgdata (:, 1); ".


6.3 Membangun FIS Awal dengan Genfis1


Hasil inisialisasi variabel input pada input keempat :

Spesifikasi fungsi keanggotaan kedua pada input keempat :

Inisialisasi variabel output :
Spesifikasi fungsi keanggotaan ke 16 :
Untuk melihat fungsi keanggotaan input menggunakan command lines :



6.4 Proses Training

Untuk melihat plot fungsi keanggotaan input hasil training dengan anfis, digunakan command lines :



Untuk melihat plot training error dan checking error :
Sintak untuk melihat plot output antara sgnfis2 dan training data dan checking data 


7. Anfis Dengan Non-Default Setting [Kembali]

Fungsi anfis hanya ditujukan untuk melatih FIS tipe sugeno dengan satu output. Sintak yang lengkap untuk menjalankan fungsi anfis yaitu :

dimana trnData adalah data untuk training, sgnfis adalah data FIS awal, params1 adalah parameter untuk training, params2 parameter untuk display selama training, chkData merupakan checking data, dan method adalah metode yang digunakan.

FIS hasil pelatihan training data disimpan pada sgnfis1 dan training errornya disimpan dalam error1, sementara sgnfis2 merupakan data hasil training dan checking data dan hasil error disimpan pada error2.

6.1 FIS Awal



genfis1 akan menghasilkan FIS berdasarkan jumlah fungsi keanggotaan. Akan tetapi ada masalah pada total rule dimana jumlah rule membesar dengan cepat ketika jumlah fungsi keanggotaan diset terlalu besar. Jumlah rule terlalu besar menyebabkan proses training menjadi sangat berat dan lama. Akan tetapi hal ini dapat diatasi dengan menggunakan methode Clustering dimana metode ini akan membagi training data dalam group kecil, kemudian membangun FIS dengan jumlah rule minimum yang diperlukan untuk membedakan dan menentukan nilai fuzzy.

6.2 Training Options
Training options merupakan opsi untuk proses training yang harus diberikan dalam argumen params1, sehinggan sangat leluasa untuk mengeset error tolerance yang ingin dicapai dalam training dan jumlah iterasi atau epoch maksimum.
Training akan dihentikan oleh anfis jika errorTolerance tercapai atau jumlah iterasi numEpochs tercapai.

6.3 Display Options

Display options merupakan opsi untuk memilih apa saja yang ingin ditampilkan selama pelatihan menggunakan anfis.

6.4 Training Method

Ada dua metode yang dapat digunakan pada anfis untuk update parameter fungsi keanggotaan yaitu backpropagation dan hybrid. Dengan menggunakan metode ini training error akan mengecil sampai mencapai local minimal selama proses training. Oleh karena itu semakin banyak parameter fungsi keanggotaan yang mendekati harga optimalnya maka proses pelatihan akan semakin cepat mencapai harga minimum training error. 

8. Video [Kembali]







9. Link Download [Kembali]

Video 1 [Klik]

Video 2 [Klik]

Video 3 [Klik]

Link Video 4-6 [Download]

Link File Program [Download]

Tidak ada komentar:

Posting Komentar