Fuzzy Clustering Logika Fuzzy
1
• Misalkan sistem fuzzy dengan dua input dan 1 output; input terdiri atas x1 dan x2, outputnya y
• Fungsi keanggotaan dapat berbentuk: – Gaussian – Segitiga – Bentuk lain
2
Fungsi Gaussian
xi : variabel input ke-i ci : nilai tengah fungsi keanggotaan ke-i(saat fungsi mencapai maksimum) i : konstanta terkait sebaran fungsi keanggotaan ke-i
3
Fungsi Segitiga
4
Untuk variabel output, digunakan fungsi keanggotaan berupa fungsi delta; yaitu fungsi impuls dengan hanya satu nilai keanggotaan penuh pada lokasi bi 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, 1 output 6
• Fuzzy clustering adalah proses mempartisi sekumpulan data ke dalam himpunan fuzzy atau cluster fuzzy berdasarkan kemiripan data. • Fuzzy clustering akan membentuk model estimasi fuzzy untuk memperkirakan output dari suatu input tertentu. • Algoritma akan membuat aturan (cluster) menggunakan data pelatihan dan pendekatan nearest neighbour untuk sistem fuzzy • Untuk contoh akan digunakan data pelatihan: z = {[x1, x2], y}
7
• • • •
Sistem terdiri atas 2 input dan 1 output Fungsi keanggotaan untuk input gaussian Fungsi keanggotaan untuk output delta Model fuzzy menggunakan persamaan:
f(x|) : output R : jumlah aturan xj : input v ij : input pusat fungsi keanggotaan : sebaran fungsi keanggotaan input 8
• Parameter Ai dan Bi di-inisialisasi dan di-update selama pelatihan untuk memperkirakan output. • Untuk parameter : – yang kecil berarti fungsi keanggotaan yang sempit yang mungkin akan menghasilkan sistem fuzzy yang kurang ‘smooth’, dengan kata lain generalisasi-nya kurang baik – yang lebih besar akan menghasilkan sistem fuzzy 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 fungsi keanggotaan dari input yang bersangkutan.
9
• Vektor dibangun selama pelatihan model fuzzy f(x|); dimensi ditentukan dengan n input dan R aturan sbb:
R : jumlah aturan v ij : input pusat fungsi keanggotaan : sebaran fungsi keanggotaan input • Metode clustering membentuk aturannya dengan terlebih dulu membentuk pusat
cluster untuk data input yaitu
10
• 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 f), maka akan ditambahkan (dibentuk) cluster baru atau aturan baru. Jika jaraknya masih lebih kecil dari
f, 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 memfasilitasi data input yang baru. 11
• Menggunakan data yang ada, akan dimulai proses clustering dengan inisialisasi
data pelatihan
A1 y 1 1 ( y 1 adl y utk data input ke 1) B1 1 v11 x11 0 ( x11 adl x1 utk data input ke 1) v 12 x 12 2 ( x12 adl x 2 utk data input ke 1)
0,3 f 3 12
• Maka sistem fuzzy diinisialisasi dengan satu aturan (R=1) dan pusat cluster pada
0 v 2 1
dan dinyatakan sebagai berikut:
[ A1 1, B1 1, v11 0, v12 2, 0.3] • Pelatihan dilanjutkan dengan menggunakan data yang kedua yaitu:
2 ( x , y ) , 5 4 2
2
akan dicek apakah perlu dibuat aturan (cluster) baru. 13
Dihitung jarak antara data input ke pusat cluster:
ij | x i v 1 | 2 1 | x12 v 11 |
| 2 0 | 2
dan
f
22 | x 22 v12 | | 4 2 | 2 f
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 14
Meng-update A1 akan memodifikasi pembilang sehingga dapat memprediksi nilai output saat itu dengan lebih baik; meng-update B1 akan menormalisasi nilai perkiraan
output tersebut. Hal ini dilakukan menggunakan persamaan berikut: A1 A1old y i B1 B1old 1 Maka A1 A1old y i 1 5 6 B1 B1old 1 1 1 2
Maka vektor yang baru adalah:
15
• Pelatihan menggunakan data ke-3
3 ( x , y ) , 6 6 3
3
31 | x13 v11 | | 3 0 | 3 f 32 | x 23 v12 | | 6 2 | 4 f Ternyata jarak dari pusat cluster (32 > f ) lebih besar dari nilai maksimum yang diijinkan, ini berarti diperlukan aturan (cluster) yang baru. Dengan kata lain bahwa data yang ada tidak cukup lagi untuk ditampung dalam satu cluster yang telah ada. 16
Maka dibuat cluster baru. – Pusat cluster baru sama dengan data input ke-3 yaitu di (3, 6) – A2 = output data ke-3 = y3 = 6
– B2 = 1
Dan vektor di-update menjadi:
Ini berarti bahwa: – Data dikelompokkan dalam 2 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. 17
Tugas • Lanjutkan proses pelatihan pada contoh, menggunakan tiga data berikut. Berapa cluster yang terbentuk pada akhir pelatihan? X1
X2
Y
1
1
2
4
2
3
3
3
4
• Buat coding dalam matlab untuk proses pelatihan yang dilakukan di atas. Jelaskan logika dan jalannya program.
18
Satu contoh Data ke-4
1 ( x , y ) , 2 1 Untuk cluster pertama 4
4
41 | x14 v11 | | 1 0 | 1 f 42 | x 24 v12 | | 1 2 | 1 f Jarak data ke-4 ke cluster pertama masih lebih kecil dari f , maka data ke-4 dapat tertampung dalam cluster pertama. Jika Jarak data ke-4 ke cluster pertama lebih besar dari f , maka harus dicek jarak ke cluster kedua. Catatan: A1 dan B1 harus di-update 19
Data ke-5
4 ( x , y ) , 3 2 Untuk cluster pertama 5
5
51 | x15 v11 | | 4 0 | 4 f 52 | x 25 v12 | | 2 2 | 0 f Jarak data ke-5 ke cluster pertama salah satunya lebih besar dari f , maka data ke-5 tidak tertampung dalam cluster pertama. Harus dicek jarak ke cluster kedua.
Untuk cluster kedua
51 | x15 v12 | | 4 3 | 1 f 52 | x 25 v 22 | | 2 6 | 4 f Jarak data ke-5 ke cluster kedua salah satunya lebih besar dari f, maka data ke-5 juga tidak tertampung dalam cluster kedua. 20
Maka harus dibentuk cluster (aturan) baru, yaitu cluster ketiga. • Pusat cluster ketiga sama dengan data input ke-5 yaitu di (4, 2) • A3 = output data ke-5 = y5 = 3 • B3 = 1 • Bagaimana vektor yang baru?
21