BAB 7 Fuzzy Clustering



1. Fuzzy Clustering[kembali]

     Fuzzy clustering digunakan untuk mengelompokkan data input-output ke dalam beberapa grup atau cluster berdasarkan karakteristiknya.

      Fuzzy clustering dilatarbelakangi oleh Curse of Dimensionality yaitu masalah yang timbul ketika jumlah variabel input dalam FIS meningkat, menyebabkan jumlah aturan yang harus dibuat juga meningkat secara eksponensial.

    Tujuan dari penggunaan fuzzy clustering adalah untuk membantu dalam pembangunan FIS tipe Sugeno yang terbaik dengan jumlah aturan minimum. FIS tipe Sugeno merupakan jenis FIS yang menggunakan model linier untuk menghubungkan variabel input dengan variabel output.

     Dalam fuzzy clustering, setiap rule dalam FIS akan diasosiasikan dengan suatu cluster data. Ini berarti setiap cluster akan diwakili oleh satu atau beberapa rule dalam FIS.

2. Fuzzy C-Means[kembali]

 

     Fuzzy C-Means (FCM) adalah salah satu teknik dalam fuzzy clustering. Dalam FCM, setiap titik data dikelompokkan dalam suatu cluster dengan derajat keanggotaan tertentu.

  Fungsi FCM diimplementasikan dalam MATLAB untuk melakukan pengelompokan data dengan FCM. Proses pengelompokan dimulai dengan inisialisasi pusat-pusat cluster.

    Tiap titik data diberikan derajat keanggotaan terhadap cluster berdasarkan tebakan awal pusat cluster. Secara iteratif, pusat-pusat cluster dan derajat keanggotaan titik data diperbaharui untuk mendekati pusat-pusat cluster yang benar.

    Fungsi kriteria (objective function) digunakan untuk menentukan seberapa dekat jarak suatu pusat cluster terhadap posisi yang benar.

    Keluaran dari fungsi FCM berisi daftar pusat cluster dan fungsi keanggotaan untuk tiap data. Hasil dari FCM dapat membantu dalam pembangunan Fuzzy Inference System (FIS) awal sebelum melatih dengan algoritma lain.

Dalam contoh aplikasi, Fuzzy Logic Toolbox digunakan untuk mengilustrasikan penerapan FCM pada data.
Contoh aplikasi :

load fcmdata.dat
plot(fcmdata(:,1),fcmdata(:,2),'o')
 

 Gambar 1. Plot data ilustrasi aplikasi teknik FCM

 Selanjutnya menerapkan fungsi fcm untuk mencari pusat-pusat cluster dengan distribusi data diatas:

[center,U,objFcn] = fcm(fcmdata,2);
Iteration count = 1, obj. fcn = 8.933363
Iteration count = 2, obj. fcn = 6.910409

Iterasi terus dilanjutkan hingga objek tidak lagi mengecil, dan untuk menampilkan plot digunakan perintah plot(objFcn) maka akan diperlihatkan seperti pada gambar 2.

 

Gambar 2. Propagasi Objective Function

Variabel center akan berisi dua pusat cluster:
    u
            berisi derajat keanggotaan tiap data pada masing-masing cluster
    objFcn    berisi nilai fungsi obyektif tiap iterasi.

Selanjutnya untuk menampilkan hasil clustering dengan fcm menggunakan listing berikut dan hasil plot ditampilkan pada gambar 3. 

maxU = max(U);
index1 = find(U(1, :) == maxU);
index2 = find(U(2, :) == maxU);
line(fcmdata(index1, 1), fcmdata(index1, 2), 'linestyle',...
'none','marker', 'o','color','g');
line(fcmdata(index2,1),fcmdata(index2,2),'linestyle',...
'none','marker', 'x','color','r');
hold on
plot(center(1,1),center(1,2),'ko','markersize',15,'LineWidth',2)
plot(center(2,1),center(2,2),'kx','markersize',15,'LineWidth',2)

 

 Gambar 3. Hasil Clustering dengan fcm

3.Subtractive Clustering[kembali]

 Subtractive Clustering adalah salah satu teknik dalam fuzzy clustering yang cocok digunakan ketika jumlah cluster tidak diketahui sebelumnya.

  • Fungsi genfis2 dalam Fuzzy Logic Toolbox dapat digunakan untuk mengimplementasikan Subtractive Clustering.
  • Fungsi genfis2 memiliki algoritma (single pass) yang cepat dalam menentukan jumlah cluster dan pusat-pusatnya.
  • Subtractive Clustering mencari pusat-pusat cluster dengan mengidentifikasi titik-titik data yang berpotensi menjadi pusat cluster berdasarkan nilai kepadatan yang tinggi.
 Contoh aplikasi :

Untuk mengilustrasikan aplikasi teknik subtractive clustering, dapat menggunakan data  file tripdata.m 

Gambar 4. Plot data dari file tripdata.m; input (diatas), output (dibawah)

  • Sebelum melatih dengan ANFIS, dilakukan pembentukan FIS awal menggunakan fungsi genfis2 dengan memberikan nilai radius klaster. Radius ini menentukan ukuran area klaster.
  • Setelah pembentukan FIS awal, dilakukan evaluasi dengan data pemeriksaan (testing data) dan menghitung RMSE sebagai metrik evaluasi.
  •  FIS awal dilatih menggunakan ANFIS dengan jumlah epoch tertentu. Proses pelatihan dilakukan tanpa menggunakan data pemeriksaan. Evaluasi dan perbandingan performansi FIS hasil pelatihan juga dilakukan dengan data pemeriksaan. 

 Setelah training, diperoleh FIS sgnfis2 yang lebih baik performasi, yang dapat dilihat pada gambar 6.

 

Gambar 6. FIS akhir sgnfis2 hasil training dengan anfis

Overfitting terjadi ketika proses training memaksa FIS untuk "menghafal" data pelatihan dengan sangat baik, sehingga FIS menjadi khusus untuk data pelatihan dan kurang mampu menggeneralisasi data baru yang belum pernah dilihat sebelumnya.

Langkah-langkah analisis overfitting yang dilakukan adalah sebagai berikut:

  1. Training FIS dengan Lebih Banyak Epoch:
    Pertama, dilakukan pelatihan FIS sgnfis dengan ANFIS hingga 200 epoch. Dalam proses ini, dicatat nilai error (RMSE) pada setiap epoch terhadap data pelatihan (training error) dan data pemeriksaan (checking error).

2. Plot Training Error dan Checking Error:
Kemudian, dilakukan plot antara training error dan checking error terhadap jumlah epoch.

3. Pemilihan Epoch Terbaik:
Indeks epoch ditemukan dengan mencari posisi checking error minimum dalam data.

  Dari plot pada gambar 7, Nilai training error pada epoch 52 ditandai dengan 'x'.

 

 Gambar 7. Overfitting anfis

 

4. Clustering Tool[kembali] 

Fuzzy Logic Toolbox dalam dua mode, yaitu command lines dan mode GUI.

  1. Mode Command Lines: Dalam mode ini, terdapat dua fungsi utama untuk melakukan klasterisasi, yaitu fcm dan subclust.

  2. Mode GUI (Clustering GUI Tool): Dalam mode GUI ini, terdapat alat bantu klasterisasi dengan antarmuka grafis yang disebut Clustering GUI Tool.
    GUI ini dapat dipanggil dengan perintah
    findcluster.

      

 Gambar 8. Clustering GUI

5. Video[kembali]

video-1 [klik disini] 

 

FCM 

Subtractive

 

GUI  

 

6. Link Download [kembali]

    File Listing [Download]

      

Tidak ada komentar:

Posting Komentar