Perbandingan Kinerja ANFIS dan ANN

Artificial Neural Network (ANN) banyak dikembangkan untuk sistem pencocokan pola. Sedangkan Adaptive Neuro-Fuzzy Inference System merupakan gabungan antara fuzzy dengan neural untuk menghasilkan sistem yang melakukan adaptasi lewat pembelajaran (learning) biasanya dipakai pada sistem kendali, clustering ataupun pencocokan pola seperti pada syaraf tiruan. Sayangnya ANFIS kalah dibanding dengan ANN berdasarkan hasil riset berikut ini.

Di bawah ini program GUI dengan Matlab untuk menguji hasil pembelajaran.


Sedangkan script-nya adalah berikut ini (hanya untuk syaraf tiruan-nya):


input=reshape(handles.y7,[1,19200]);
target=input;
net=newff(input,target,50);
net.trainParam.epochs=3;
net.trainParam.shows=1;
net=train(net,input,target);
a=sim(net,input);
axes(handles.axes1);
a=reshape(a,[120,160]);
imshow(a),title('Hasil Learning');

Untuk ANFIS digunakan form yang sama, script sedikit berbeda:



input_data=reshape(handles.y7,19200,1);
target=input_data;
trnData=[input_data target];
numMFs = 50;
mfType = 'gbellmf';
epoch_n=3;
in_fis=genfis1(trnData,numMFs,mfType);
out_fis=anfis(trnData,in_fis,3);
output=evalfis(input_data,out_fis);
a=reshape(output,120,160)
axes(handles.axes1);
imshow(a),title('Hasil Learning');

Dibutuhkan script untuk pengolah citranya agar dihasilkan tanda tangan yang berupa matrix dan siap diolah oleh sistem. Untuk network ANFIS adalah sebagai berikut:


Sedangkan bagan untuk ANN dapat dilihat saat proses learning berlangsung:


Untuk adil dalam perbandingan, masing-masing teknik memiliki parameter sebagai berikut:

  1. Number of Neuron = 50
  2. Number of Epoch = 3
  3. Number of Layer = 1
  4. Learning Methods : Backpropagation

Hasilnya dimenangkan oleh ANN baik dalam akurasi maupun kecepatan akan diseminarkan di Seminar Internasional ISIT Universitas BSI Bandung, insya Allah 23 Oktober mendatang.

Link berikut merupakan hasil keluaran verifikasi tanda tangan dengan ANN:

NOTE: Terima kasih atas pinjaman sampel tanda tangannya untuk Kajur TK UNISMA Bekasi, Bpk Dadan Irwan, ST., M.Kom.

Lotfi A. Zadeh, Bapak Fuzzy Logic

Bernama lengkap, Lotfali Askar-Zadeh (لطف‌علی عسکرزاده) dilahirkan di Baku, Azerbaijan 4-02-1921 merupakan peletak dasar-dasar fuzzy logic. Pria yang panjang umur ini, besar di Iran, dan sekarang bekerja sebagai profesor di Universitas California, Barkeley.

Penemuannya tentang sistem fuzzy, dengan pergeseran sudut pandang dari perhitungan sistem yang akurat, teliti, lengkap (hard computing)menjadi perhitungan sistem yang mentolerir adanya ketidakpastian, kekurangan data, dan sebagainya (Soft Computing) yang ternyata lebih mendekati pada kenyataan sehari-hari. Bapak dua orang anak ini ternyata “pluralis” dengan mengatakan “The question really isn’t whether I’m American, Russian, Iranian, Azarbaijani, or anything else. I’ve been shaped by all these people and cultures and I feel quite comfortable among all of them”. Sistem Fuzzy saat ini banyak digunakan dari mesin, elektronik, kontrol hingga sains.


Lotfi A. Zadeh, Bapak Fuzzy Logic (Sumber: Wikipedia)

FIS – ANFIS – NEURAL NETWORK DGN MATLAB

Riset yang berkaitan dengan Soft Computing saat ini sedang marak dari bidang sains, teknik hingga kedokteran. Sedangkan buku yang berisi penerapan langsungnya dirasa jarang, apalagi yang berbahasa Indonesia. Oleh karena itu, rencananya Kami akan membuat buku panduan pengguanaan MATLAB berbasis GUI tentang bidang-bidang Soft Computing yang terkenal yaitu FIS, ANFIS dan NN. Berikut ini rancangan buku tersebut, kami mengharapkan masukan dari siapapun .. Bismillahirrohmaanirrohiim.

 Judul:
Penerapan Logika Fuzzy dan Jaringan Syaraf Tiruan berbasis GUI dengan MATLAB

DAFTAR ISI

Kata Pengantar     
Daftar Isi     
I. Teori Dasar Fuzzy Inference System (FIS)    
1.1.
1.2.

1.x. Studi Kasus Penerapan FIS dengan MATLAB

II. Teori Dasar Adaptive Neuro-Fuzzy Inference System
(ANFIS)    
2.1.
2.2.

2.x. Studi Kasus Penerapan ANFIS dengan MATLAB

 III. Teori Dasar Jaringan Syaraf Tiruan    
3.1.
3.2.

3.x. Studi Kasus Penerapan Jaringan Syaraf Tiruan dengan MATLAB    
 IV. Kompilasi     
4.1. Project Deployment
4.2. Packaging

Penutup    
Daftar Pustaka    


Training Feedforward dan Cascade-forward Backpropagation

Akhirnya sampai juga tahap testing sistem pengenalan tanda tangan baik dengan feedforward, cascade-forward maupun normal euclidean. Sampel tanda tangan yang dikumpulkan adalah 30 orang (mengikuti kaidah normal pada statistik). Tiap orang menandatangani sebanyak 10 buah tanda tangan, satu untuk ditraining sisanya untuk uji coba.

Seperti manusia, ternyata komputer juga tidak konsisten. Dua kali training menghasilkan hasil yang berbeda terhadap satu sampel tanda tangan yang sama. Cascade jauh lebih cepat dibanding feedforward karena memang jumlah simpul yang lebih banyak.

Ntah hasilnya apa? Kita lihat aja nanti, maklum 300 + 900 kali uji, terdiri dari uji terhadap tanda tangan sendiri (mencari kesamaan)  maupun uji terhadap tanda tangan orang lain -forgery-(mencari perbedaan).

JST: Pattern Matching dengan Encoder Sinyal

Pattern Matching yang artinya mencocokan pola adalah salah satu teknik yang memanfaatkan jaringan syaraf tiruan untuk mengingat suatu pola. Pola yang biasanya berupa citra dua dimensi diingat oleh sistem dalam suatu neuron tersembunyi (hidden neuron) yang terletak di antara neuron input dan neuron keluaran. Manusia yang memiliki neuron sebanyak bintang di langit tentu saja jauh lebih ampuh dibanding neuron yang diaplikasikan di penelitian yang saya buat (sebanyak 160 + 80 + 120 = 360 saja). Untuk jumlah neuron lebih dari seribu, laptop saya mengalami kesulitan (maklum masih celeron).

Dibanding dengan manusia, apalagi yang biasa melihat tanda tangan (misalnya teller), masih kalah jauh. Bahkan masih ada errornya (harusnya benar dikatakan salah atau sebaliknya, harusnya salah dikatakan benar). Namun jika diminta mencari satu contoh tanda tangan di antara 1000 tanda tangan, kayaknya manusia kewalahan deh (minimal puyeng).

Deteksi Tanda Tangan di Perbankan

Melanjutkan tulisan yang lalu mengenai latar belakang penelitian saya, ada baiknya kita tinjau, bagaimana sih sistem yang ada sekarang dalam mendeteksi suatu tanda tangan (tanpa bantuan IT secara langsung).  Berikut merupakan tampilan saat sistem di Teller sedang mengecek tanda tangan nasabah yang akan mengambil dana. Program tersebut saya install di laptop (kok bisa sih? .. ya bisa aja, dalam dunia IT, apa sih yang ga bisa di otak-atik, yg penting hati-hati dan waspada).

Program yang dibeli dari perusahaan Fiserv Alliant, mengharuskan teller memiliki kemampuan membandingkan antara tanda tangan nasabah dengan spesiment tanda tangan yang ada dalam database bank tersebut. Nah, penelitian saya bermaksud membuat sistem seperti itu, tapi dengan komputer yang mendeteksi kebenaran tanda tangan (tentu saja agak sulit diimplementasi tanpa bantuan digitized tablet, untuk tanda tangan). Sampel tanda tangan yang akan diuji akan di-capture lewat webcam (dengan pertimbangan lebih murah dan bisa dipakai oleh operator – tentu saja webcam external). Pilihan jatuh pada merek logitech, dengan pertimbangan selain gratis (nyari sendiri di gudang fakultas teknik) juga ada tombol “capture” pada webcam-nya saat memotret, sehingga tidak perlu mengklik mouse atau keyboard lagi.

Seperti pada program Fiserv, speciment tanda tangan saya letakkan di sayap kanan (kayak main bola ajah ..), Sedangkan sayap kiri hasil capture tanda tangan via webcam yang sudah terolah dengan pengolah citra (image processing) pada MATLAB. Ada dua teknik learning yang saya gunakan yang nantinya akan dibandingkan yaitu feedforward backpropagation dan cascade-forward backpropagation. Katanya sih (riset terdahulu), cascade-forward backpropagation lebih cepat kinerjanya, tapi kita lihat saja nanti. OKEH ..

Jaringan Syaraf Tiruan

Atas saran dari Dr. Prabowo dengan disertai riset terdahulu mengenai pengenalan jenis kayu berdasarkan pola permukaan kayu (IPB), maka sy bermaksud menerapkan metode jaringan syaraf tiruan untuk mendekteksi tanda tangan seseorang. Studi kasus sy ambil di Fakultas Teknik Universitas Islam “45” Bekasi dengan sampel tanda tangan sebanyak 30 buah orang dan tiap orang menandatangani sekitar 10 tanda tangan (dalam dunia perbankan diistilahkan dengan speciment).

Berbeda dengan sidik jari, retina mata dan sejenisnya yang cenderung tetap, tanda tangan sangat dipengaruhi oleh kondisi saat tanda tangan. Dan dapat dipastikan tidak mungkin membuat tanda tangan oleh orang yang sama dua buah tanda tangan yang 100 persen sama. Oleh karena itulah profesor Zadeh (Barkeley) mencetuskan istilah “Soft Computing”, berarti melakukan computasi terhadap suatu hal yang memiliki ketidak pastian, ketidak akuratan maupun kebenaran parsial .

Saat ini sudah masuk ke tahap testing software yang telah saya buat (murni dari a-z dengan bahasa komputasi teknis MATLAB), berhubung saat ini GUI pada MATLAB sudah berkembang sangat baik. Pada software tersebut saya masukkan tiga metode yang akan diuji kinerjanya yaitu feedforward backpropagation, cascade-forward backpropagation dan euclidean distance (bukan jaringan syaraf tiruan). Demikian, tulisan pembuka dari saya dan akan dilanjutakan mulai tulisan yang akan datang ke dasar pengolahan citra (image processing) untuk mengakuisisi gambar tanda tangan yang akan diuji. Cao ..