Fuzzy C-Means (FCM) merupakan salah satu algoritma fuzzy clustering. Fuzzy C-Means (FCM) adalah suatu teknik pengclusteran data yang keberadaan setiap titik data dalam suatu cluster ditentukan oleh derajat keanggotaan. Teknik ini pertama kali diperkenalkan oleh Jim Bezdek pada tahun 1981.
Konsep dasar FCM yaitu menentukan pusat cluster, yang akan menandai lokasi rata-rata untuk setiap cluster. Dengan cara memperbaiki pusat cluster dan derajat keanggotaan setiap titik data secara berulang, maka akan dapat dilihat bahwa pusat cluster akan bergerak menuju lokasi yang tepat. Perulangan ini didasarkan pada pada minimisasi fungsi obyektif yang menggambarkan jarak dari titik data yang diberikan ke pusat cluster yang terbobot oleh derajat keanggotaan titik data tersebut.
Output dari FCM bukan merupakan fuzzy inference system, namun merupakan deretan pusat cluster dan beberapa derajat keanggotaan untuk tiap-tiap titik data. Informasi ini dapat digunakan untuk membangun suatu fuzzy inference system.
Algoritma Fuzzy C-means clustering adalah sebagai berikut :
- Menentukan:
Matriks X yang merupakan data yang akan dicluster, berukuran k x j, dengan k = jumlah data yang akan di-cluster dan j = jumlah variabel/atribut (kriteria).
- Menentukan :
a. Jumlah cluster yang akan dibentuk (n >c ≥ 2).
b. pembobot (w > 1).
c. Maksimum iterasi (max n).
d. Kriteria penghentian/treshold (ɛ = nilai positif yang sangat kecil).
e. Menentukan fungsi obyektif awal (P0).
- Membentuk matriks partisi awal U (derajat keanggotaan dalam cluster) dengan ukuran k x i; matriks partisi biasanya dibuat acak, , dengan k = jumlah data yang akan di-cluster dan i = jumlah cluster
- Hitung pusat cluster (V) untuk setiap cluster, menggunakan rumus :
Keterangan :
Vij = pusat cluster pada cluster ke-i dan atribut ke-j.
μik = data partisi (pada matriks U) pada cluster ke-i dan data ke-k.
Xkj = data (pada matriks U) pada atribut ke-j dan data ke-k.
w = pembobot.
- Hitung nilai obyektif (Pn) dengan rumus :
Keterangan :
μik = data partisi (pada matriks U) pada cluster ke-i dan data ke-k.
dik = fungsi ukuran jarak untuk jarak Euclidean pada pusat cluster ke-i dan data ke-k.
w = pembobot.
Pn = nilai obyektif pada iterasi ke-n.
- Perbaiki derajat keanggotaan setiap data pada setiap cluster (perbaiki matriks partisi)
dengan :
Keterangan :
μik = data partisi (pada matriks U) pada pusat cluster ke-i dan data ke-k.
dik = fungsi ukuran jarak untuk jarak Euclidean pada pusat cluster ke-i dan data ke-k.
djk = fungsi ukuran jarak untuk jarak Euclidean pada pusat cluster ke-j dan data ke-k.
w = pembobot.
Xkj = data (pada matriks U) pada atribut ke-j dan data ke-k.
- Menghentikan iterasi jika pusat cluster V tidak berubah. Alternatif kriteria penghentian adalah jika perubahan nilai error kurang dari treshold |Pn - Pn-1| < ɛ. Alternatif adalah ketika perulangan melebihi maksimum iterasi ( n > max n). Jika iterasi belum berhenti, kembali ke langkah 4.
- Jika iterasi berhenti, ditentukan cluster dari tiap-tiap data. Cluster dipilih berdasarkan nilai matriks partisi terbesar.
0 komentar:
Post a Comment