Top Banner
Referensi : “Belajar Cepat Fuzzy Lugic dengan MATLAB” oleh Dr. Eng. Agus Naba Bab 6 adaptive neuro-fuzzy Kelompok 6 Fauzan Akbar ( 1310951022 ) Rizo Andika ( 1310951012) Dosen : Darwison, MT
30

Kelompok 15 ( BAB 6 )

Jan 23, 2016

Download

Documents

Fauzan Hamid

Kelompok 15 ( BAB 6 )
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Kelompok 15 ( BAB 6 )

Referensi : “Belajar Cepat Fuzzy Lugic dengan MATLAB” oleh Dr. Eng. Agus Naba

Bab 6adaptive neuro-fuzzy

Kelompok 6

Fauzan Akbar ( 1310951022 )Rizo Andika ( 1310951012)

Dosen : Darwison, MT

Page 2: Kelompok 15 ( BAB 6 )

Pembahasan 1. Skenario Pemodelan 2. Pemodelan dengan

ANFIS 3. Validasi Model 4. Keterbatasan ANFIS 5. ANFIS GUI

Data untuk Checking & Training

Contoh Pelatihan FIS dengan Checking Data

Contoh Checking Data yang Jelek

6. ANFIS dengan Command Lines Spesifikasi Contoh Masalah Membentuk Training Data

dan Checking Data Membangun FIS Awal

dengan Genfis1 Proses Training

7. ANFIS dengan Non-Default Setting FIS Awal Training Option Display Option Training Method

Page 3: Kelompok 15 ( BAB 6 )

Bagian yang membahas penerapan teknik Fuzzy Inference pada permodelan berdasar pemasangan data input-output.

Diasumsikan data input dan output sistem sudah tersedia.

Berbeda dengan pendekatan yang dipakai sebelumnya dimana diamsusikan kita sudah mempunyai IF-THEN rules, pemodelan berdasar data input dan output memiliki tujuan yang sebaliknya, yaitu mencari IF-THEN rules yang bisa memetakan data input menjadi output

Pengenalan

Page 4: Kelompok 15 ( BAB 6 )

ANFIS mengandaikan bahwa data input dan output dari suatu black box sytem (sistem kotak hitam) telah tersedia, dan ingin menebak model apa yang cocok atau yang sebenarnya ada dalam kotak hitam tersebut.

Disinilah letak peran ANFIS yang bekerja berdasar teknik pembelajaran neuro adaptive. ANFIS bekerja secara iteratif menebak parameter-parameter fungsi keanggotaan yang cocok.

6.1 Skenario Pemodelan

Page 5: Kelompok 15 ( BAB 6 )

Fungsi anfis dapat dijalankan baik dari mode command lines maupun dari ANFIS editor GUI. Cara kerja anfis menggunakan data input atau output dari suatu sistem yang akan dimodelkan.

Optimasi parameter tersebut menggunakan algoritma backpropgation atau dikombinasikan dengan metode least squares.

Dengan diperolehnya faktor gradien dapat dipakai untuk mengatur parameter-parameter sehingga akan menimalkan error measure (biasanya didefenisikan sebagai kuadrat dari selisih antara data output dan keluaran FIS)

6.2 Pemodelah dengan ANFIS

Page 6: Kelompok 15 ( BAB 6 )

ANFIS mengasumsikan adanya sebuah struktur model tertentu yang mnenghubungkan input dan ouput.

ANFIS harus diberi pasangan data input dan output dalam format yang kompatibel untuk training.

Anfis melatih FIS dengan memodifikasi parameter-parameter fungsi keanggotaan sampai diperoleh selisih (error) minimal antara keluaran FIS dengan data pelatihan output.

6.3 Validasi Model

Page 7: Kelompok 15 ( BAB 6 )

Validasi model adalah proses pengujian FIS yang sudah dilatih oleh anfis, namun menggunakan data input/output yang elum dilatihkan kepada FIS.

Tujuannya adaah untuk mengetahui seberapa presisi dan akurat model FIS mampu memprediksi data output jika diberikan data input.

Tipe lain juga bisa digunakan dalam anfis, yaitu checking data set, yang digunakan untuk mengontrol potensi model FIS yang mengalami overfitting data.

6.3 Validasi Model

Page 8: Kelompok 15 ( BAB 6 )

Secara khusus anfis hanya bekerja dengan sistem-sistem tipe sugeno yang memiliki ciri-ciri sebagai berikut :1. Sistem order 0 atau 12. Mempunyai output tunggal yang diperoleh dari

weighted average defuzzification3. Semua fungsi keanggotaan ouput harus bertipe

sama, dalam bentuk konstanta atau persamaan linear4. Tiap rule harus mempunyai fungsi keanggotaan

keluaran yang berbeda dengan semua rule lainya. Dengan kata lain, jumlah fungsi keanggotaan keluaran harus sama dengan jumlah rule.

5. Bobot tiap rule adalah 1

6.4 Keterbatasan anfis

Page 9: Kelompok 15 ( BAB 6 )

Jika struktur model FIS tidak memenuhi salah satu sifat diatas, anfis akan bekerja atau akan terjadi error. Disamping itu, anfis sudah didesain fixed, yang mana tidak mengijinkan anda untuk mendesain sendiri fungsi keanggotaan dan fungsi defuzzifikasi. Anda harus memakai fungsi yang telah disediakan.

6.4 Keterbatasan anfis

Page 10: Kelompok 15 ( BAB 6 )

Tampilan ANFIS GUI

6.5 ANFIS GUI

Page 11: Kelompok 15 ( BAB 6 )

Ketik perintah pada command line>>anfisedit(tampil anfis GUI seperti slide

sebelumnya)>> load fuzex1trnData.dat>> load fuzex1chkData.dat

Loading data

Page 12: Kelompok 15 ( BAB 6 )

Inputkan dua jenis data

Page 13: Kelompok 15 ( BAB 6 )

Hasil load data training

Page 14: Kelompok 15 ( BAB 6 )

Hasil loading data training dan checking data

Page 15: Kelompok 15 ( BAB 6 )

Inisialisai FIS

Page 16: Kelompok 15 ( BAB 6 )

Struktur FIS

Page 17: Kelompok 15 ( BAB 6 )

Pelatihan ANFIS

Page 18: Kelompok 15 ( BAB 6 )

Pengujian pasca Pelatihan FIS

Page 19: Kelompok 15 ( BAB 6 )

Untuk contoh : Input R(t) = [x(t-18) x(t-12) x(t-6) x (t) x(t+6)]Output S(t) = x(t+6)Data tersedia dalam file mgdata.dat akan terpilih 1000 pasang data output untuk pelatihan, dimulai dari t=100. data akan dibagi 2, 500 pasang untuk checking dan yang lainnya untuk training. Dengan contoh comand line:

6.6.2 membentuk training data dan checking data

Page 20: Kelompok 15 ( BAB 6 )

Training data dan cheking dat di latihkan ke FIS. Namun sebelum FIS itu sendiri di bangun dan di inisiaalisasikan sebelum dilatih. Tugas ini bisa di selesaikan oleh fungsi genfis1 (generate fis) :

>>Sgnfis = genfis1 (trnData)Karna opsi jumlah dan tipe fungsi ke anggotaan tidak

diberikan, perintah genfis1(trainData) akan memakai nilai-nilai default dalam membuat FIS sgnfis. Tiap masukan akan diset dengan 2 fungsi keanggotaan sehingga total ada 8 fumgsi ke anggotaan. Anda bisa melihat haasil inisialisai variabel input, misal untuk input ke empat, dengan perintah

>>Sgnfi =

6.6.3 Membangun FIS awal dengan Genfis

Page 21: Kelompok 15 ( BAB 6 )

Field range untuk variabel input di set secara otomatis berdasarkan trainData yang diberikan ke genfis1. untuk melihat spesifikasi suatu fungsi keanggotaan, misalkan fungsi keanggotaan kedua untuk input ke4, ketikkan :

>>Sgnfis.input(4)Secara default genfis1 mengeset tipe fungsi keanggotaan gbl1mf untuk semua fungsi keanggotaan untuk semua input. Yang mana terdiri dari 3 elemen parameter. Fungsi gb11mf didefinisikan sebagai :GBELLMF (x, [A,B,C]) = 1./()1+ABS ((X-C)/A))(2[]B));

Page 22: Kelompok 15 ( BAB 6 )

Karena trainData terdiri dari 5 kolom maka genfisl akan menganggap 4 kolom pertama sebagai data input dan kolom kelima sebagai data output (FIS tipe sugeno selalu bekerja dengan satu output).>>sgnfis.input.mf(2)Dengan 4 input, genfisl langsung mengeset jumlah rule dengan kuadrat dari jumlah input, yaitu 42 atau 16. jumlah rule ini yg di pakai sebagai patokan untuk mengeset jumlah fungsi keanggotaan output dari FIS sgnfis yaitu dengan jumlah yang sama , 16. dengan perintah :>>sgnfis.output.mf(16)

Page 23: Kelompok 15 ( BAB 6 )

Terlihat bahwa field params terdiri dari 5 elemen parameter. Dengan kata lain, sebuah fungsi ke anggotaan variabel output dunyatakan dengan persamaan garis seperti berikut :Out1mf16 = params(1) *input1 + params(2)* input2 + params(3) * input3 + params(4)* input4 + constant

Bentuk plot fungsi ke anggotaan sebelum melakukan FIS sgnfis. Common line untuk melihat plot fungsi keanggotaan :

Page 24: Kelompok 15 ( BAB 6 )
Page 25: Kelompok 15 ( BAB 6 )

Untuk memulai training untuk FIS sgnfis, berikut perintah :

[sgnfis1,error1,ss,sgnfis2,error2] = anfis (trnData, sgnfis, [] , [], chkData);

Untuk melihat plot fungsi ke anggotaan input hasil training dengan anfis, gunakan commond lines berikut :

6.6.4 Proses Training

Page 26: Kelompok 15 ( BAB 6 )

Sintak lengkap untuk menjalankan fungsi anfis :

>>Sgnfis1,error1,ss,sgnfis2,error2] = anfis (trnData, sgnfis, params1,params2,chkData,method);

6.7 ANFIS dengan non-default setting

Page 27: Kelompok 15 ( BAB 6 )

FIS awal harus di pastikan bertipe sugeno satu output. Ini bisa di buat melalui FIS editor atau member fungtion editor atau ANFIS editor atau dari commond lines melalui perintah genfis1 dengan sintak lengkap :

Sgnfis1 = genfis1(data, numberMFs, inputMFs, outputMF)

Contoh pemakaian commond lines genfis1 :Traindata = [rand(10,1) 10*rand (10,1)-5 rand (10,1)];Sgnfis = genfis1(data,[3 7], char(‘pimf’,’trimf’));

6.7.1 FIS awal

Page 28: Kelompok 15 ( BAB 6 )

Training option adalah opsi-opsi untuk proses training yang harus diberikan dalam argumen params1, mengacu pada sintaks fungsi anfis di atas. Dengan opsi ini bisa dengan leluasa mengeset error tolerence yg ingin di capai dalam training dan juga jumlah iterasi

Argumen params1 harus berupa vektor berikut :Params1=[numEpochs errortolerance initialStepsize stepSizeDecreaseRate stepSizeIncreaserate ] ;

6.7.2 training options

Page 29: Kelompok 15 ( BAB 6 )

Display options adalah opsi-opsi untuk memilih apa saja yang ingin di tampilkan selama pelatihan menggunakan fungsi anfis. Opsi-opsi ini adalah argumen params2. params 2 harus berupa vektor :Params2 = [infoANFIS error stepsize finalresult]Masing-masing elemen params2 berharga 0(false) atau 1(true). Jika elemen di set 0 maka info tidak akkan di tampilkan. Secara default, semua element di set 1, jika argumen params2 di set dengan [] maka akan dianggapmemilih harga default.

6.7.3 display options

Page 30: Kelompok 15 ( BAB 6 )

TERIMA KASIH