ANFIS tugas Otomasi

17
Achmad Zaki Rahman 1206180286 1. PENDAHULUAN ANFIS (Adaptive Neural Fuzzy Inferece System) adalah salah satu metoda artificial intelegent (AI) yang menggabungkan antara logika Fuzzy dan Neural Network. Karenanya untuk memahaminya maka perlu mengetahui sekilas mengenai Fuzzy dan Neural Network. Gambar 1.1. Sejarah pemrograman artificial intelegent (AI).[1] 1.1. Fuzzy Logic (FL) Konsep Fuzzy Logic (FL) ini disusun oleh Lotfi Zadeh, seorang profesor di University of California di Berkley, tahun 1965 dalam sebuah paper. Secara bahasa, Fuzzy didefinisikan

Transcript of ANFIS tugas Otomasi

Achmad Zaki Rahman

1206180286

1. PENDAHULUAN ANFIS (Adaptive Neural Fuzzy Inferece System) adalah salah satu metoda artificial intelegent

(AI) yang menggabungkan antara logika Fuzzy dan Neural Network. Karenanya untuk

memahaminya maka perlu mengetahui sekilas mengenai Fuzzy dan Neural Network.

Gambar 1.1. Sejarah pemrograman artificial intelegent (AI).[1]

1.1. Fuzzy Logic (FL)

Konsep Fuzzy Logic (FL) ini disusun oleh Lotfi Zadeh, seorang profesor di University of

California di Berkley, tahun 1965 dalam sebuah paper. Secara bahasa, Fuzzy didefinisikan

sebagai ‘blured’ (kabur atau remang-remang), ‘indistinct ‘(tidak jelas), ‘confused’

(membingungkan), ‘vague’ (tidak jelas). Sistem fuzzy adalah sebuah sistem yang dibangun

dengan definisi, cara kerja, dan deskripsi yang jelas berdasarkan pada teori fuzzy logic. Fuzzy

logic adalah sebuah metodologi ‘ berhitung’ dengan variabel kata-kata (linguistic variable),

sebagai pengganti berhitung dengan bilangan. Kata-kata yang digunakan dalam fuzzy logic

memang tidak sepresisi bilangan, namun kata-kata jauh lebih dekat dengan intuisi

manusia.[2]

Gambar 1.2. Sebuah logika sistem fuzzy yang menggunakan data yang tidak presisi dan

ungkapan yang samar sebagai input, seperti perlahan, sedang, dan tinggi.[2]

Contoh:

1. Seseorang mengatakan pada operator seberapa sejuk ruangan yang diinginkan,

operator akan mengatur putaran kipas yang ada pada ruangan ini.

2. Penumpang taksi berkata pada sopir taksi seberapa cepat laju kendaraan yang

diinginkan, sopir taksi akan mengatur pijakan gas taksinya.

Gambar 1.3. Ketelitian (precision) dan makna penting (signifacance).[3]

Tetapi, FL juga mempunyai kelemahan dalam menyelesaikan persoalan proses pengaturan.

Kelemahan tersebut antara lain :

1. Model peraturan if –then dalam FL sukar untuk dianalisa secara kuantitatif(Chan et

al. 1997).

Kaedah parameter bentuk tabel seperti model Takagi-Sugeno yang menyediakan

peraturan kualitatif serta menyediakan alat berkemampuan tinggi untuk analisa FL

dan desain, tetapi tidak menyediakan rangka secara langsung dan alami untuk

menggabungkan peraturan Fuzzy yang dihasilkan oleh pakar(Chan et al. 1997).

2. Kestabilan juga diantara persoalan penting dalam FL terutama jika menyangkut

parameter yang tidak pasti (Lam, Leung & Tam 1997). Perbedaan hasil dari sifat tidak

linier dan atau perubahan waktu proses pengambilankeputusan adalah sulit untuk

diduga dan dikendalikan dan karenanya kinerja FL menjadi buruk(Dumitrache&

Buiu1997).

3. Jumlah peraturan kabur tergantung pada jumlah masukan pengaturan dan hal

demikian akan menyebabkan proses pengambilan keputusan memerlukan waktu

yang panjang dan berlebihan (Ghazali& Virk1997).[4]

3.1. Artificial Neral Networks (ANN)

Definisi termudah dari neural network, atau yang lebih tepat disebut 'artificial' neural

network (ANN), adalah seperti yang pernah disampaikan oleh penemu neurocomputers, Dr.

Robert Hecht-Nielsen:

"...a computing system made up of a number of simple, highly interconnected processing

elements, which process information by their dynamic state response to external inputs.

(sebuah sistematika komputasi terdiri dari proses sejumlah elemen-elemen sederhana yang

saling berhubungan, untuk memproses informasi dari eksternal input secara

dinamis).."Neural Network Primer: Part I" oleh Maureen Caudill, AI Expert, Feb. 1989.[5]

Studi mengenai Neural Network diawali dan dipublikasikan pada tahun 1943 Mc Culloch dan

Pitts. ANN merupakan suatu jaringan saraf tiruan yang dibangun untuk meniru cara kerja

otak manusia. Dengan jaringan saraf tiruan maka kita dapat memberikan semacam

kecerdasan pada sistem, dimana sistem tersebut akan diberikan waktu untuk ‘belajar’ dan

kemudian diharapkan dari proses belajarnya, sistem bisa memberikan solusi dari suatu

kasus.

Gambar 1.4. ilustrasi sederhana syaraf manusia dan artifisial neuron.[3]

Analoginya seperti mengajarkan seorang anak kecil untuk mengetahui bentuk kursi, kita

akan menunjukan pada anak tersebut berbagai macam bentuk kursi dan bukan kursi. Kita

akan memperlihatkan mana saja yang termasuk kursi dan mana yang bukan, proses ini

disebut proses training. Setelah proses training selesai, maka tiba waktunya untuk

melakukan test terhadap anak tersebut dengan menunjukan suatu bentuk kursi dan

menanyakan apakah itu termasuk kursi atau bukan. Hal yang menarik adalah pada saat kita

menunjukan suatu bentuk kursi yang belum pernah diajarkan pada anak tersebut dan

apabila itu memang variasi dari kursi (dengan ciri misalnya: kakinya ada 4, ada pegangan

tangannya, bentuknya seperti angka 4, dan seterusnya) maka dia dapat mengambil

kesimpulan bahwa benda tersebut adalah kursi, apabila jawaban si anak salah maka kita

kembali melatihnya (proses training) dengan memasukan bentuk kursi yang baru tadi

kedalam data latih, sehingga si anak dapat mengambil kesimpulan bahwa benda tersebut

(dan yang mirip benda tersebut dimasa yang akan datang) adalah kursi.

NN biasanya diselenggarakan dalam lapisan atau layer yang terdiri dari sejumlah 'node' yang

saling berhubungan dan mengandung 'fungsi aktivasi'. Pola dimasukan ke dalam network

(jaringan) melalui input layer (layer masukan), yang berkomunikasi dengan satu atau lebih

hidden layer (lapisan tersembunyi) di mana proses yang sebenarnya dilakukan melalui

sistem weighted connection (koneksi berbobot). Kemudian hidden layers (lapisan

tersembunyi) akan bersambung output layer 'lapisan keluaran' seperti pada gambar 1.4.

Gambar 1.5. ilustrasi sederhana cara kerja sistem NN.[5]

Kebanyakan ANN mengandung beberapa bentuk learning rule 'aturan pembelajaran' yang

memodifikasi bobotnya sesuai dengan pola masukan. Meskipun ada banyak jenis aturan

pembelajaran yang digunakan oleh jaringan saraf, rule yang paling umum adalah aturan

delta atau yang biasa disebut backpropagation (propagasi balik). Backpropagation adalah

aturan yang mempelajari error kesalahan secara berulang pada setiap proses pembelajaran,

sehingga didapat sebuah pembobotan dalam proses logikanya.

Sebagaimana Logika Fuzzy, ANN juga memiliki kekurangan, yaitu perhitungan yang ada di

dalamnya merupakan blackbox yang tidak diketahui prosesnya. Penggunanya hanya

memberikan input dan menunggu hasilnya. Sehingga dapat dikatakan "you almost don't know

what you're doing". [5]

2. ADAPTIVE NEWRAL FUZZY INFERENCE SISTEMS (ANFIS)

2.1. Konsep

Adaptive Neuro-Fuzzy Inference System (ANFIS) adalah penggabungan mekanisme fuzzy

inference system yang digambarkan dalam arsitektur jaringan syaraf. Sistem inferensi fuzzy

yang digunakan adalah sistem inferensi fuzzy model Tagaki-Sugeno-Kang (TSK) orde satu

dengan pertimbangan kesederhanaan dan kemudahan komputasi.

salah satu contoh ilustrasi mekanisme inferensi fuzzy TSK orde satu dengan dua masukan x

dan y (Gambar 1). Basis aturan dengan dua aturan fuzzy if-then seperti dibawah ini :

Rule 1 :

if x is A1 and y is B1 then f1 = p1x + q1y + r1

Rule 2 :

if x is A2 and y is B2 then f2 = p2x + q2y + r2

Input : x dan y

Gambar 2.1. Model Fuzzy-Sugeno dua input first-order dengan dua aturan. [1]

Struktur ANFIS yang menggambarkan sistem fuzzy TSK seperti yang digambarkan di Gambar

2.1 diatas bisa digambarin dalam diagram blok atau disebut arsitektur jaringan syaraf

feedforward seperti ini:

Gambar 2.2. Struktur ANFIS dengan 2 input. [1]

Pada gambar 2.2 terlihat struktur ANFIS seperti jaringan syaraf (neural-network). Jaringan

sistem neuro-fuzzy tersebut terdiri atas lima lapisan dengan fungsi yang berbeda untuk tiap

lapisannya. Tiap lapisan terdiri atas beberapa simpul yang dilambangkan dengan kotak atau

lingkaran. Lambang kotak menyatakan simpul adaptif artinya nilai parameternya bisa

berubah dengan pembelajaran dan lambang lingkaran menyatakan simpul nonadaptif yang

nilainya tetap.

Lapisan 1.

Semua simpul pada lapisan ini adalah simpul adaptif (parameter dapat berubah) dengan

fungsi simpul :

��,� = ��(�) untuk i = 1,2, atau

��,� = �����(�) untuk i = 3,4 ................................................................................................(1)

dengan x dan y adalah masukan pada simpul i, Ai (atau Bi-2) adalah fungsi keanggotaan

masing-masing simpul. Simpul O1,i berfungsi untuk menyatakan derajat keanggotaan tiap

masukan terhadap himpunan fuzzy A dan B. Fungsi keanggotaan yang dipakai adalah jenis

generalized bell (gbell). Parameter a, b, c, pada fungsi keanggotaan gbell dinamakan

parameter premis yang adaptif.

Lapisan 2.

Semua simpul pada lapisan ini adalah nonadaptif (parameter tetap). Fungsi simpul ini adalah

mengalikan setiap sinyal masukan yang datang. Fungsi simpul :

��,� = �� = ��(�) ∙ �����(�),� = 1,2 ...............................................................................(2)

Tiap keluaran simpul menyatakan derajat pengaktifan (firing strength) tiap aturan fuzzy.

Fungsi ini dapat diperluas apabila bagian premis memiliki lebih dari dua himpunan fuzzy.

Banyaknya simpul pada lapisan ini menunjukkan banyaknya aturan yang dibentuk. Fungsi

perkalian yang digunakan adalah interpretasi kata hubung and dengan menggunakan

operator t-norm.

Lapisan 3

Setiap simpul pada lapisan ini adalah simpul nonadaptif yang menampilkan fungsi derajat

pengaktifan ternomalisasi (normalized firing strength) yaitu rasio keluaran simpul ke-i pada

lapisan sebelumnya terhadap seluruh keluaran lapisan sebelumnya, dengan bentuk fungsi

simpul:

��,� = ��� =��

�����,� = 1,2 .............................................................................................(3)

Apabila dibentuk lebih dari dua aturan, fungsi dapat diperluas dengan membagi wi dengan

jumlah total w untuk semua aturan.

Lapisan 4.

Setiap simpul pada lapisan ini adalah simpul adaptif dengan fungsi simpul :

��,� = ����� = ���(��� + ��� + ��) ..........................................................................................(4)

dengan adalah derajat perngaktifan ternormalisasi dari lapisan 3 dan parameter p, q, r

menyatakan parameter konsekuen yang adaptif.

Lapisan 5.

Pada lapisan ini hanya ada satu simpul tetap yang fungsinya untuk menjumlahkan semua

masukan. Fungsi simpul :

Overall output = ��,� = ∑����� =∑�����

∑���..............................................................................(5)

Jaringan adaptif dengan lima lapisan tersebut ekivalen dengan sistem inferensi fuzzy TSK.

2.2. Proses Pembelajaran pada ANFIS

Pada struktur ANFIS (gambar 2.2), simpul adaptif terdapat pada lapisan pertama dan

keempat. Simpul pada lapisan pertama mengandung parameter premis yang nonlinier

sedangkan pada lapisan keempat mengandung parameter konsekuen yang linier. Untuk

memperbaharui parameter-parameter terebut atau dalam kata lain agar jaringan saraf itu

belajar, maka perlu metoda atau algoritma untuk itu. Metoda pembelajaran jaringan syaraf

tiruan banyak macamnya, dan masing-masing punya kelebihan dan kekurangan.

Selanjutnya dijelaskan pembelajaran hibrid untuk ANFIS (gambar 2.3). Artinya penggunaan/

penyatuan dua metoda pembelajaran pada ANFIS. Pembelajaran hibrid terdiri atas dua

bagian yaitu arah maju (forward pass) dan arah mundur (backward pass).

Pada arah maju, parameter premis dibuat tetap. Dengan menggunakan metode Recursive

Least Square Estimator (RLSE), parameter konsekuen diperbaiki berdasarkan pasangan data

masukan-keluaran. Metode RLSE dapat diterapkan karena parameter konsekuen yang

diperbaiki adalah parameter linier. Metode RLSE akan mempercepat proses belajar hibrid.

Kemudian setelah parameter konsekuen didapatkan, data masukan dilewatkan jaringan

adaptif kembali dan hasil keluaran jaringan adaptif ini dibandingkan dengan keluaran yang

sebenarnya.

Gambar 2.3. Diagram Alir Tahap Pembelajaran Metode ANFIS.[8]

Pada arah mundur, parameter konsekuen dibuat tetap. Kesalahan yang terjadi antara

keluaran jaringan adaptif dan keluaran sebenarnya dipropagasikan balik dengan

menggunakan gradient descent untuk memperbaiki parameter premis. Pembelajaran ini

dikenal sebagai Algoritma Error Back Propagation (EBP).

Satu tahap arah pembelajaran maju-mundur dinamakan satu epoch. Tabel 1. menerangkan

proses pembelajaran hibrid ANFIS.

Tabel 1. Proses pembelajaran hibrid ANFIS

Arah maju Arah mundur

Parameter premis Tetap Gradient descent Paeameter konsekuen RSLE Tetap Sinyal Keluaran simpul Laju kesalahan

3. APLIKASI

Perkiraan respon pengereman (detik) pada kendaraan dengan input jarak (meter) dan

kecepatan (m/det) dengan metode ANFIS pada MATLAB.[9]

RAW DATA

TRAINING DATA

Data di simpan pada notepad dengan nama file ‘data.txt’ yang kemudian di import dari tab

Workspace sehingga akan di dapat matiks data sebagai berikut:

Kemudian mengetik perintah berikut pada command window MATLAB:

>> trainData=data

Untuk me-load ANFIS editor, ketik anfisedit pada command window MATLAB. Kemudian

pada kolom Load Data pilih type Training, dan ambil dari workspace. Klik Load Data,

kemudian pada window kecil yang muncul ketikkan nama file training data yang kita buat

tadi (trainData). Hasil plot trainData akan tampak seperti gambar berikut.

GENERATE ANFIS

Untuk menentukan parameter-parameter fungsi keanggotaan dalam ANFIS, pada kolom

generate ANFIS pilih GridPartition. Kemudian pada kolom input MF ubah angka menjadi 5 5

dengan INPUT MF type, sedangkan type MF ouput kita pilih constant.

Untuk melihat struktur model ANFIS yang telah dibuat, pada bagian ANFIS info klik

Structure. Hasil ANFIS yang kita buat akan tampak seperti berikut.

Pada gambar diatas tampak bahwa ANFIS terdiri dari dua input, dengan masing-masing

terdiri dari 5 Membership Function. Terdapat rule sebanyak 25 buah, dengan operator and.

ANFIS terdiri dari satu output dengan output MF yang terbentuk sebanyak 25 buah. Garis-

garis yang menghubungkan antar node menunjukkan sebuah rule yang bersesuaian.

TRAINING ANFIS

Untuk pelatihan FIS, ANFIS menyediakan dua metode optimasi parameter fungsi

keanggotaan yaitu Backpropagation dan Hybrid (gabungan backpropagation dan least

square). Untuk menghentikan proses training, ANFIS menggunakan nilai error tolerance,

sehingga jika setelah training data error memasuki daerah error tolerance ini maka training

akan berhenti. Dipilih error tolerance sebesar 0 (default). Kemudian banyaknya epoch

(iterasi) proses training ditentukan sebanyak 40.

Untuk memulai proses training, klik train now. Hasilnya akan seperti gambar berikut.

Dari hasil training, error grafiknya semakin menurun dan mencapai titik erorr tetap pada

angka 0,0075814 pada saat epoch mencapai 25. Artinya bahwa proses training

menghasilkan error minimum pada nilai 0,0075814 yaitu selisih 0,0024186 dari toleransi

error yang telah didefinisikan (tidak pernah mencapai nilai 0), untuk itu proses training

dibatasi dengan banyaknya iterasi (epoch), yaitu 40 kali.

PENGUJIAN PASCA TRAINING ANFIS

Untuk mengetahui performance ANFIS yang telah ditraining dengan data awal (trainData),

dapat lakukan test dengan melakukan ploting data trainData dan ANFIS dengan nilai input

yang sama. Pada kolom Test FIS di ANFIS editor klik Test Now dengan sebelumnya memilih

training data.

Jika diperhatikan pada gambar di bawah tampak bahwa hasil ploting trainData (o) dan ANFIS

output (*) pada beberapa nilai berhimpitan. Artinya ANFIS yang sudah ditraining telah dapat

memetakan masukan terhadap keluaran dengan baik. Pada saat tertentu hasil ploting FIS

output tampak bergeser dari trainData, ini menunjukkan ada error yang relatif besar ketika

ANFIS diberi masukan pada masukan sekitar nilai tersebut.

FUZZY

Untuk melihat model dalam bentuk fuzzy, export hasil training dari Anfis Editor ke

Workspace, lalu beri nama tes01.

Kemudian pada Workspace ketik

>> fuzzy

Maka akan tampil default fis editor seperti ini:

Kemudian import file tes01 dari Workspace, maka tampilannya akan seperti ini:

Tampilan Rule Editor: tes01

Tampilan Rule Viewer: tes01

Tampilan Surface ANFIS:

4. REFERENSI

[1] Jang,J., Sun,C., Mizutani,Eiji. Neuro-fuzzy and Soft Computing. Prentice Hall, 1997.

[2] Sivanandam, S.N., Sumathi,S., Deepa, S.N. Introduction to Fuzzy Logic using MATLAB,

Springer 2007.

[3] Alavala, Chennakesava R. Fuzzy Logic and Neural Network – Basic Concept &

Applications, New Age International Publisher, India.

[4] Priyono, Agus. Optimasi Fuzzy Logic Menggunakan Algoritma Genetik dan Sistem Clonal

untuk Radioaktif Waste Treatment- Materi presentasi: tidak diterbitkan.

www.batan.go.id. Diakses pada tanggal 29 Maret 2014, pukul 8.40.

[5] , A Basic Introduction To Neural Networks. http://pages.cs.wisc.edu/, diakses

pada tanggal 29 Maret 2014, pukul 07:47.

[6] , Chapter 10 Neural Networks. http://www.cs.ru.nl/ . Diakses pada tanggal 29

Maret 2014, pukul 10.00.

[7] Kuncahyo,B.T., Ginardi, R.V., Arieshanti,I. 2012. Penerapan Metode Adaptive Neoro-

Fuzzy Inference System untuk Memprediksi Nilai Post Test Mahasiswa pada Jurusan

Teknik Informatika FTIF ITS. Makalah Seminar Tugas Akhir,FTIF-ITS: tidak diterbitkan.

[8] Arimbawa, I.B.K.P., Jayanegara, K., Kencana, I.P.E.N. 2013. Komparasi Metoda ANFIS dan

Fuzzy Time Series – Kasus Peramalan Jumlah Wisatawan Australia ke Bali. E-Jurnal

MatematikaVol. 2, No.2, Mei 2013, 18-26. ISSN: 2303-1751.

[9] , Membuat Adaptive Neuro Fuzzy Inference System (ANFIS) di MATLAB.

http://networkedblogs.com, Diakses pada tanggal 29 Maret 2014, pukul 16.50.