Anda di halaman 1dari 30

Bab 6

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

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

Pengenalan
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

6.1 Skenario Pemodelan


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.2 Pemodelah dengan ANFIS


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.3 Validasi Model


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


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.4 Keterbatasan anfis


Secara khusus anfis hanya bekerja dengan sistem-

sistem tipe sugeno yang memiliki ciri-ciri sebagai


berikut :
1.
2.
3.
4.

5.

Sistem order 0 atau 1


Mempunyai output tunggal yang diperoleh dari
weighted average defuzzification
Semua fungsi keanggotaan ouput harus bertipe sama,
dalam bentuk konstanta atau persamaan linear
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.
Bobot tiap rule adalah 1

6.4 Keterbatasan anfis


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.5 ANFIS GUI


Tampilan ANFIS GUI

Loading data
Ketik perintah pada command line
>>anfisedit(tampil anfis GUI seperti slide
sebelumnya)
>> load fuzex1trnData.dat
>> load fuzex1chkData.dat

Inputkan dua jenis data

Hasil load data training

Hasil loading data training dan


checking data

Inisialisai FIS

Struktur FIS

Pelatihan ANFIS

Pengujian pasca Pelatihan FIS

6.6.2 membentuk training data dan


checking data
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.3 Membangun FIS awal dengan


Genfis
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 =

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));

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)

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 :

6.6.4 Proses Training


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.7 ANFIS dengan non-default


setting
Sintak lengkap untuk menjalankan fungsi anfis

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

6.7.1 FIS awal


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.2 training options


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
berikut :

params1

harus

berupa

Params1=[numEpochs errortolerance
initialStepsize stepSizeDecreaseRate
stepSizeIncreaserate ] ;

vektor

6.7.3 display options


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.

TERIMA KASIH

Anda mungkin juga menyukai