Translate

Saturday, July 16, 2016

Fuzzy C-Means Clustering

2.3  Fuzzy C-Means Clustering


Fuzzy C-Means (FCM) adalah sebuah metode untuk mengklaster data, membuat satu data menjadi anggota dua klaster atau lebih. Metode ini dibuat oleh Dunn pada 1973 dan dikembangkan oleh Bezdek pada tahun 1981. FCM dibuat berdasarkan minimisasi dari fungsi objektif dibawah ini:



Dimana:
v  m adalah sembarang bilangan real lebih besar daripada 1,
v  uij adalah derajat keanggotaan dari xi  pada klaster j,
v  xi adalah data terukur ke i,
v  cj adalah pusat dari klaster, dan
v  ||*|| adalah sembarang bentuk normal yang menyatakan persamaan antara sembarang data terukur dan pusat klaster.
Partisi Fuzzy dibawah ini melalui sebuah optimisasi iterasi dari sebuah fungsi objektif yang ada diatas. Simbol cj adalah pusat klaster dan uij adalah update dari derajat keanggotaan data.

         2.2

    2.3



Iterasi ini akan berhenti saat   , dimana
 adalah sebuah standar penghentian yang nilainya adalah antara 0 dan 1 dan  k adalah langkah-langkah iterasi yang ditempuh selama keadaan penghentiannya terpenuhi. 
              Data diikat pada masing-masing klaster dengan fungsi keanggotaan. Fungsi keanggotaan yang merepresentasikan karakter dari algoritme fuzzy. Untuk pemahaman yang lebih baik, bisa diasumsikan contoh mono-dimensional di bawah ini. Ada sebuah data set tertentu yang direpresentasikan dalam sebuah sumbu x seperti gambar 2.4 di bawah ini:

Dengan melihat gambar 2.5, bisa diidentifikasikan dua klaster yang berdekatan dari dua data terkonsentrasi. Klaster tersebut diberi nama klaster ‘A’ dan klaster ‘B’. Dalam pendekatan pertama –algoritme K-Means-, masing-masing data terhubung hanya pada sebuah centroid. Fungsi keanggotaannya akan menjadi seperti pada Gambar 2.5 berikut ini:

 Pada pendekatan Fuzzy C-Means, data yang sama tidak menjadi sebuah klaster secara eklusif lagi, tapi datanya bisa ditempatkan di tengah. Pada kasus ini, fungsi keanggotaan mengikuti sebuah jalur khusus untuk mengindikasikan bahwa setiap data bisa terdapat dalam beberapa klaster dengan derajat keanggotaan yang berbeda.


 Pada Gambar 2.6 data ditunjukkan dalam tanda merah letaknya lebih ke dalam klaster B daripada ke dalam klaster A. Nilai  0.2 dari  ‘m’ mengindikasikan derajat keanggotaan dari A pada data.
Sekarang, dengan menggunakan representasi grafik, dapat dibangun sebuah matrix U yang faktor-faktornya adalah yang diambil dari fungsi keanggotaan. Matrik U tesebut seperti pada Gambar 2.7 berikut ini.



    Gambar 2.7 Matrik U                
 Jumlah dari baris dan kolom bergantung pada banyaknya data dan klaster. Lebih tepatnya jika ada sebuah kolom C = 2 dan baris N, maka C adalah jumlah dari klaster dan N adalah jumlah data yang diindikasikan dengan uij.
 Pada contoh di atas menggunakan kasus K-Means dan FCM. Bisa diperhatikan bahwa pada kasus pertama (K-means), koefisiennya selalu satu (unitary). Hal ini mengindikasikan bahwa masing-masing data hanya pada satu klaster. Sedangkan FCM koefisiennya bisa selalu lebih dari satu. Hal ini berarti data bisa menjadi anggota lebih dari satu klaster dengan derajat keanggotaan yang berbeda pula. Derajat keanggotaan yang paling tinggi nilainya akan diambil sebagai suatu acuan dimanakah suatu data masuk menjadi anggota klaster.
FCM lebih baik daripada K-Means dalam hal. FCM lebih fleksibel karena memiliki toleransi keanggotaan data terhadap tiap klaster. Hal ini tidak terjadi pada algoritme K-Means.

Data
xi
1
2
3
4
5
6
yi
7
8
9
10
11
12


Data
Keanggotaan Crisp
Derajat Keanggotaan Fuzzy
xi
yi
1
7
1
0
0,8737
0.1262
2
8
1
0
0,9292
0,0707
3
9
1
0
0,7047
0,2952
4
10
0
1
0,2952
0,7047
5
11
0
1
0,0707
0,9292
6
12
0
1
0,1262
0,8737
            Contoh fleksibilitas dari FCM adalah sebagai berikut, andaikan ada sebuah data set seperti pada Tabel 2.1.  Data tersebut dikelompokkan menjadi 2 klaster dengan menggunakan 2 metode yakni FCM dan K-Means. Anggap Tabel 2.2 adalah hasil dari proses klasterisasi. Metode crisp (pada K-Mean) memberikan derajat keanggotaan 1 atau 0, artinya, metode ini menempatkan tiap data tepat pada satu klaster. Namun, pada FCM, tiap data menjadi anggota pada kedua klaster dengan derajat keanggotaan masing-masing.
            Pada himpunan tegas (crisp), nilai keanggotaan suatu item x dalam suatu himpunan A, yang sering ditulis dengan μA[x], memiliki 2 kemungkinan, yaitu:
o      satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu himpunan, atau
o      nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam suatu himpunan.
Contoh: Jika diketahui:          
S = {1,2,3,4,5,6} adalah semesta pembicaraan.
A = {1,2,3}
B = {3,4,5}
bisa dikatakan bahwa:
o   Nilai keanggotaan 2 pada himpunan A, μA[2] = 1, karena 2 є A.
o   Nilai keanggotaan 3 pada himpunan A, μA[3] = 1, karena 3 є A.
o   Nilai keanggotaan 4 pada himpunan A, μA[4] = 0, karena 4 є A.
o   Nilai keanggotaan 2 pada himpunan B, μB[2] = 0, karena 2 є B.
o   Nilai keanggotaan 3 pada himpunan B, μB[3] = 1, karena 3 є B.
Contoh: Misalkan variabel umur dibagi menjadi 3 kategori, yaitu:
Muda   : umur < 35 tahun  Parobaya   : 35 ≤ umur ≤ 55    Tua  : umur > 55 tahun
Nilai keanggotaan secara grafis, himpunan Muda, Parobaya, dan Tua ini dapat dilihat pada Gambar berikut ini:
Pada Gambar, dapat dijelaskan bahwa:
o   apabila seseorang berusia 34  tahun, maka ia dikatakan Muda (μMUDA[34] = 1);
o   apabila seseorang berusia 35 tahun, maka ia dikatakan Tidak Muda (μMUDA[35] = 0);
o   apabila seseorang berusia 35 tahun kurang 1 hari, maka ia dikatakan Tidak Muda ( μMUDA[35 tahun – 1 hari] = 0 );
o   apabila seseorang berusia 35 tahun, maka ia dikatakan Parobaya (μPAROBAYA[34] = 0);
o   apabila seseorang berusia 55 tahun, maka ia dikatakan Parobaya (μPAROBAYA[55] = 1);
o   apabila seseorang berusia 35 tahun kurang 1 hari, maka ia dikatakan Tidak Parobaya μPAROBAYA[ 35 tahun – 1 hari ] = 1;
Dari sini bisa dikatakan bahwa pemakaian himpunan crisp untuk menyatakan umur sangat tidak adil, adanya perubahan kecil saja pada suatu nilai mengakibatkan perbedaan kategori yang cukup signifikan.
            Himpunan fuzzy digunakan untuk mengantisipasi hal tersebut. Seseorang dapat masuk dalam 2 himpunan yang berbeda, Muda dan Parobaya, Parobaya dan Tua, dsb. Seberapa besar eksistensinya dalam himpunan tersebut dapat dilihat pada derajat keanggotaannya. Gambar berikut ini menunjukkan himpunan fuzzy utnuk variabel umur.


o   Seseorang yang berumur 40 tahun, termasuk dalam himpunan Muda dengan μMUDA[40] = 0,25; namun dia juga termasuk dalam himpunan Parobaya dengan μPAROBAYA[40] = 0,5.
o   Seseorang yang berumur 50 tahun, termasuk dalam himpunan Tua dengan μTUA[50] = 0,25; namun dia juga termasuk dalam himpunan Parobaya dengan μPAROBAYA[50] = 0,5.
Kalau pada himpunan crisp, derajat keanggotaan hanya ada 2 kemungkinan, yaitu 0 atau 1, pada himpunan fuzzy derajat keanggotannnya terletak pada rentang 0 dan 1. Apabila x memiliki derajat keanggotaan fuzzy μA[x] = 0 berarti x tidak menjadi anggota himpunan A, demikian pula apabila x memiliki derajat keanggotaan fuzzy μA[x] = 1 berarti x menjadi anggota penuh pada himpunan A.










No comments:

Post a Comment

silahkan membaca dan berkomentar