Fuzzy Clustering Logika Fuzzy
Misalkan sistem uzzy dengan dua input dan output; input terdiri atas dan, outputnya y Fungsi keanggotaan dapat berbentuk: Gaussian Segitiga Bentuk lain
Fungsi Gaussian i : ariabel input ke-i c i : nilai tengah ungsi keanggotaan ke-i(saat ungsi mencapai maksimum) i : konstanta terkait sebaran ungsi keanggotaan ke-i 3
Fungsi Segitiga
Untuk ariabel output, digunakan ungsi keanggotaan berupa ungsi delta; yaitu ungsi impuls dengan hanya satu nilai keanggotaan penuh pada lokasi b i dan nol untuk yang lain. 5
Metode clustering digunakan untuk memodelkan sistem dan memperkirakan output untuk input tertentu. Digunakan aturan yang telah ditentukan sebelumnya atau membangun aturan terlebih dahulu. Aturan terdiri atas premis (premise) dan konsekuensi (consequence); misalkan untuk input jamak dan output tunggal: dua input, output 6
Fuzzy clustering adalah proses mempartisi sekumpulan data ke dalam himpunan uzzy atau cluster uzzy berdasarkan kemiripan data. Fuzzy clustering akan membentuk model estimasi uzzy untuk memperkirakan output dari suatu input tertentu. Algoritma akan membuat aturan (cluster) menggunakan data pelatihan dan pendekatan nearest neighbour untuk sistem uzzy Untuk contoh akan digunakan data pelatihan: z = {[, ], y} 7
Sistem terdiri atas input dan output Fungsi keanggotaan untuk input gaussian Fungsi keanggotaan untuk output delta Model uzzy menggunakan persamaan: () : output R : jumlah aturan j : input i j : input pusat ungsi keanggotaan : sebaran ungsi keanggotaan input 8
Parameter A i dan B i di-inisialisasi dan di-update selama pelatihan untuk memperkirakan output. Untuk parameter : yang kecil berarti ungsi keanggotaan yang sempit yang mungkin akan menghasilkan sistem uzzy yang kurang smooth, dengan kata lain generalisasi-nya kurang baik yang lebih besar akan menghasilkan sistem uzzy yg lebih smooth Besarnya juga harus dipertimbangkan untuk input jamak; akan digunakan satu nilai saja atau banyak nilai. Pertimbangan meliputi perbedaan jangkauan input yang bersangkutan dan juga letak nilai tengah dari ungsi keanggotaan dari input yang bersangkutan. 9
Vektor dibangun selama pelatihan model uzzy (); dimensi ditentukan dengan n input dan R aturan sbb: R : jumlah aturan i j : input pusat ungsi keanggotaan : sebaran ungsi keanggotaan input Metode clustering membentuk aturannya dengan terlebih dulu membentuk pusat cluster untuk data input yaitu 0
Pusat cluster dibentuk dengan cara mengukur jarak antara pusat cluster yang telah ada dan data input pelatihan; jika jaraknya lebih besar dari satu nilai maksimum tertentu yang telah ditentukan sebelumnya (misalnya ), maka akan ditambahkan (dibentuk) cluster baru atau aturan baru. Jika jaraknya masih lebih kecil dari, maka berarti cluster yang ada masih cukup (dapat menampung) data input sehingga tidak perlu dibuat cluster baru atau aturan baru. Parameter A dan B akan di-update untuk memasilitasi data input yang baru.
Menggunakan data yang ada, akan dimulai proses clustering dengan inisialisasi data pelatihan A B 3 0,3 y ( y 0 ( ( adl adl adl y utk data input ke) utk data input ke) utk data input ke)
Maka sistem uzzy diinisialisasi dengan satu aturan (R=) dan pusat cluster pada 0 dan dinyatakan sebagai berikut: [ A, B, 0,, 0.3] Pelatihan dilanjutkan dengan menggunakan data yang kedua yaitu: (, y ), 5 akan dicek apakah perlu dibuat aturan (cluster) baru. 3
Dihitung jarak antara data input ke pusat cluster: ij i 0 dan Oleh karena kedua jarak masih lebih kecil dari jarak maksimum, maka berarti tidak diperlukan aturan (cluster) baru. Namun nilai A dan B harus di-update. Catatan: Ingat bahwa logika yang diapakai adalah AND
Meng-update A akan memodiikasi pembilang sehingga dapat memprediksi nilai output saat itu dengan lebih baik; meng-update B akan menormalisasi nilai perkiraan output tersebut. Hal ini dilakukan menggunakan persamaan berikut: A B A B Maka old old y i A B A B old old y i 5 6 Maka ektor yang baru adalah: 5
Pelatihan menggunakan data ke-3 Ternyata jarak dari pusat cluster ( 3 > ) lebih besar dari nilai maksimum yang diijinkan, ini ber- arti diperlukan aturan (cluster) yang baru. Dengan kata lain bahwa data yang ada tidak cukup lagi untuk ditampung dalam satu cluster yang telah ada. 6 y 6 3 0 3 6, 6 3 ), ( 3 3 3 3 3 3
Maka dibuat cluster baru. Pusat cluster baru sama dengan data input ke-3 yaitu di (3, 6) A = output data ke-3 = y 3 = 6 B = Dan ektor di-update menjadi: Ini berarti bahwa: Data dikelompokkan dalam cluster Data pertama dan kedua masuk ke cluster pertama Data ketiga masuk ke cluster kedua Jika data pelatihan lebih banyak maka ada kemungkinan juga terbentuk cluster yang lebih banyak. 7
Tugas Lanjutkan proses pelatihan pada contoh, menggunakan tiga data berikut. Berapa cluster yang terbentuk pada akhir pelatihan? X X Y 3 3 3 Buat coding dalam matlab untuk proses pelatihan yang dilakukan di atas. Jelaskan logika dan jalannya program. 8
Satu contoh Data ke- Jarak data ke- ke cluster pertama masih lebih kecil dari, maka data ke- dapat tertampung dalam cluster pertama. Jika Jarak data ke- ke cluster pertama lebih besar dari, maka harus dicek jarak ke cluster kedua. Catatan: A dan B harus di-update 9 pertama cluster Untuk y 0, ), (
Data ke-5 Jarak data ke-5 ke cluster pertama salah satunya lebih besar dari, maka data ke-5 tidak tertampung dalam cluster pertama. Harus dicek jarak ke cluster kedua. Jarak data ke-5 ke cluster kedua salah satunya lebih besar dari, maka data ke-5 juga tidak tertampung dalam cluster kedua. 0 pertama cluster Untuk y 0 0 3, ), ( 5 5 5 5 5 5 kedua cluster Untuk 6 3 5 5 5 5
Maka harus dibentuk cluster (aturan) baru, yaitu cluster ketiga. Pusat cluster ketiga sama dengan data input ke-5 yaitu di (, ) A 3 = output data ke-5 = y 5 = 3 B 3 = Bagaimana ektor yang baru?