Project AI – Artificial Intelligence Adaptive Neuro Fuzzy Inference System (ANFIS) Pelayanan Resto – Matlab

Assalamualaikum Sahabat Whitecyber semua di seluruh tanah air Indonesia … 🙂

Pada perjumpaan kali ini Whitecyber Team mengembangkan Teknik Advance lagi tentang penggunaan Fuzzy Logic yang kemarin sudah kita bahas di tema ini “Project AI – Artificial Intelligence GUI Fuzzy Logic / Logika Kabur Siang Hujan – Matlab“.

Adaptive Neuro Fuzzy Inference System (ANFIS) menggabungkan prinsip kerja Jaringan Syaraf Tiruan (JST) dengan Fuzzy Inference System (FIS). Dengan menggabungkan ANFIS denang JST diharapkan dapat meminimalisir kelemahan masing-masing metode. Kedua metode tetap menggunakan prinsip machine learning.

Plus Minus ANFIS

FIS yang mengharuskan terlibatnya expert dalam menyusun rule, pada ANFIS tidak lagi diperlukan. ANFIS sendiri selain mampu mengolah angka numerik, juga pengetahuan berbasis bahasa (linguistic). Selain itu, ANFIS lebih transparan terhadap pengguna dibanding JST yang seperti kotak hitam (black box). Hal ini karena rule hasil olah ANFIS dapat diketahui oleh pengguna. Namun kebanyakan riset menunjukan bahwa JST lebih akurat dibanding ANFIS. Di antara dua jenis FIS (mamdani dan sugeno), untuk ANFIS sugeno lebih dianjurkan karena proses lebih cepat.

Bentuk ANFIS

Berikut diambil dari jurnal internasional yang membahas cara kerja ANFIS [1]. Mirip dengan JST, ada juga layer dalam ANFIS tetapi jumlahnya rata-rata lima lapis seperti gambar berikut:

Contoh di atas adalah ANFIS dengan dua masukan dan satu keluaran (f). Berikut keluaran (diberi simbol O besar) di tiap-tiap lapis.

Lapis Pertama

Lapis pertama berfungsi mengkonversi angka crisp menjadi bilangan fuzzy dengan menggunakan fuzzy sets. Keluarannya adalah:

Lapis Kedua

Jika pada lapis pertama hanya melibatkan tiap-tiap masukan, pada lapis kedua tiap masukan menuju lapis yang sama guna mengetahui kekuatan penyalaan (firing strength). Fuzzy Sets dikalikan antara satu masukan dengan masukan lainnya dengan hubungan sebagai berikut:

Lapis Ketiga

Pada lapis ketiga dilakukan perhitungan normalisasi sebelum diterapkan ke lapis keempat. Normalisasi adalah proses pembobotan ulang agar diperoleh total/max bernilai satu.

Lapis Keempat

Setelah pembobotan yang telah dinormalkan selesai, proses dilanjutkan dengan mengalikan dengan fungsi yang melibatkan masukan (x dan y) untuk menghasilkan keluaran yang sudah dalam bentuk CRISP.

Lapis Kelima

Langkah terakhir adalah dengan mengakumulasi hasil dari lapis keempat (untuk dua rule).

Sementara untuk metode learning, dua metode bisa digunakan antara lain: backpropagation dan hybrid. Prinsipnya adalah meminimalisir error yang terjadi. Ada dua metode penghitungan error: 1) Mean Absolute Percent Error (MAPE) dan 2) Mean Absolute Deviation.

.

Karakteristik ANFIS

  • Hanya bisa memiliki satu output
  • Menggunakan training data metode supervised learning
  • Menggunakan konsep FIS Sugeno
  • Membutuhkan data training
  • Metode Learning dapat menggunakan backpropagation atau hybrid

.

Pembahasan Project

Yang pertama kita lakukan untuk mengerjakan suatu project adalah mencari DATA VALID yang akan kita olah menjadi sumber ilmu pengetahuan. Berikut ini data yang bisa kita dapatkan di sebuah resto.

.

.

Masukkan perintah : anfisedit

Menu : Variable > New Variable

Kemudian Copy paste isi dari semua data.

Rename File di workspace dengan nama = nilai.

.

.

Load Data > Workingspace > nilai

.

.

Hasilnya nampak bahwa nilai akhir muncul titik titik biru seperti diatas !

Setelah sampai tahap ini maka kita akan melakukan training data di tombol Generate FIS

.

.

Karena ada 2 Variabel maka kita bebas menggunakan number MFs nya. Misal kita kasih input 3 3 . MF Type : TRIMF, MF Type : Constant.

.

Train FIS kita coba masukkan Hybrid

Epoch : 3

Bila kita mau melihat alurnya maka ada di tombol Structure.

.

Kita coba masukkan Epoch = 100

maka kita tekan tombol Try Now, hasilnya Epoch 100: error = 0.076617

.

.

Start training ANFIS ...

1 	 0.0766168
2 	 0.0763623

Designated epoch number reached. ANFIS training completed at epoch 2.

Minimal training RMSE = 0.0763623

.

Jika kita tekan Tombol Test Now hasilnya adalah sebagai berikut :

.

.

Kita coba Train FIS diubah menjadi Backpropagation, hasilnya adalah sebagai berikut :

.

.

Hasilnya adalah sebagai berikut :

.

Titik merahnya sudah banyak yang mendekati nolnya ini artinya SUKSES !

Setelah itu seperti biasa Rumus Fuzzy yang sudah kita temukan itu dipakai untuk melakukan Prediksi dengan menu VIEW RULES.

.

.

Karena kita ada 2 Variabel maka kita inputkan saja 2 variabel dan langsung terlihat hasilnya, contoh input data 7 3 hasilnya adalah output 3.92 .

.

.

Output ini kita cocokkan dengan tabel yang pertama, kelihatan dech hasilnya diatas 3 berari BAGUS !

.

.

Sampai disini ya Sahabatku, semoga sharing ini bermanfaat. Bila sahabat membutuhkan bantuan Whitecyber Team bisa hubungi WA di website ini. terimakasih …

Wassalamualaikum Warohmatulloh …

.

Reference

[1]    M. Şahin and R. Erol, “A Comparative Study of Neural Networks and ANFIS for Forecasting Attendance Rate of Soccer Games,” Math. Comput. Appl., vol. 22, no. 4, p. 43, 2017.

[2] Youtube : https://www.youtube.com/watch?v=d8oPAfEmaQE

Leave a Reply

Your email address will not be published. Required fields are marked *