Clustering Kholistianingsih, 10/306701/PTK/06919 Jurusan Teknik Elektro FT UGM, Yogyakartaan 7.6.ALGORITMA CLUSTERING YANG LAIN Pada bagian ini, kita mempertimbangkan algoritma yang menghasilkan cluster tunggal dan tidak termasuk kategori optimisasi fungsi harga atau sekuensial. Competitive Leaky Learning Algorithm Competive Leaky Learning (LLA) merupakan algorithm yang cocok untuk mengungkap cluster seragam. Jumlah cluster, m, dari himpunan data X, diasumsikan telah diketahui. Tujuan dari LLA adalah untuk memindahkan m vektor parameter berdimensi l, wj , j = 1,. . . , M, ke daerah yang "padat" dalam titik-titik dari X. Setiap parameter vektor menggambarkan satu daerah "padat" (cluster). Strateginya adalah kompetisi antara wj tersebut. Algorithmis LLA bersifat iterative yaitu dimulai dengan beberapa perkiraan awal w1 (0),. . . , wm (0), untuk w1,. . . , wm,. Pada setiap iterasi, t, vektor x disajikan pada algoritma dan wj (t -1) yang lebih dekat dengan x daripada wk(t -1) lainnya, untuk k = 1. . . , m (k ≠j)didentifikasi. wj (t -1) adalah pemenang dalam kompetisi pada x, dan wj (t) dihitung dengan persamaan 7.2. (7.2) Sedangkan wk(t) yang lain dihitung dengan persamaan 7.3. (7.3) Dengan w >> l. Cluster Cj(t), pada clustering yang dibentuk pada itersi ke-t, terdiri dari semua xX dimana wj(t) yang lebih dekat dibandingkan dengan bobot yang lain dengan j=1,…,m. Harus dipastikan bahwa, dalam satu epoch, yang terdiri dari N iterasi brerturut-turut, semua vektor data yang akan diperhatikan oleh LLA. Konvergensi dicapai bila nilai-nilai wj tersebut hampir tidak berubah antara dua epoch yang berurutan atau jumlah maksimum epoch telah dicapai. Keluaran adalah perkiaraan nilai-nilai wj dan clustering yang sesuai dimana setiap cluster yang terdiri Cj terdiri dari semua vektor x dari X yang terletak lebih dekat dengan wj daripada bobot lainnya. Untuk menerapkan LLA pada himpunan data X, ketik 1 dimana: X berisi vektor data dalam kolom-kolomnya, w_ini berisi perkiraan awal dari bobot di kolom-kolomnya, m adalah jumlah bobot (digunakan hanya ketika w_ini kosong), eta_vec adalah vektor dua dimensi yang berisi parameter ηw dan ηl dari algoritma, sed adalah "seed" untuk built-inMATLAB fungsi rand, max_epoch adalah jumlah epoch maksimum pada algoritma yang diperbolehkan, e_thres adalah parameter (skalar) yang digunakan dalam kondisi akhir, init_ proc didefinisikan sebagai di PCM, w berisi perkiraan akhir dari bobot di kolom-kolomnya, bel adalah vektor berdimensi N yang elemen ke-I berisi indeks dari bobot yang terletak paling dekat dengan xi, epoch adalah bilangan epoch yang dilakukan oleh algoritma dalam rangka untuk mencapai kondisi konvergen. Keterangan Parameter Pesat Pembelajaran ηw dan ηl dipilih pada rentang [0, 1] dengan ηw >> ηl. Secara geometris berbicara, semua bobot bergerak menuju vektor data x dengan berdasar algoritma. Namun, yang kalah, bergerak dengan pesat yang lebih lambat daripada pemenang, seperti yang ditunjukkan dengan pilihan nilai ηw dan ηl. LLA "memaksakan" struktur pengelompokan/clustering pada X, seperti halnya dengan sebagian besar algoritma yang telah dibahas. LLA tidak terlalu sensitif terhadap inisialisasi dari wj karena, bahkan jika wj pada awal terletak jauh dari daerah dimana vektor-vektor data berada, secara bertahap akan bergerak ke wilayah tersebut sebagaimana pada Pers. (7.3). Oleh karena itu, kemungkinan untuk menang di suatu x yang diberikan terjadi setelah beberapa iterasi. Untuk ηl = 0, skema pembelajaran dasar kompetitif dicapai. Dalam hal ini, hanya pemenang diperbarui (Yaitu, bergerak ke arah vektor data x ), sedangkan nilai-nilai dari bobot lainnya tetap tidak berubah. Hal ini membuat sensitifitas algoritma terhadap inisialisasi kurang karena jika wj awal terletak jauh dari daerah mana vektor-vektor data berada, kemungkinan untuk kalah dalam semua kompetisi untuk vektor-vektor dari X. Dalam hal ini, tidak ada cara dapat bergerak mendekat ke daerah di mana data berada dan sehingga tidak memiliki kemampuan untuk mewakili secara fisik cluster yang terbentuk di X (sehingga wj adalah juga disebut bobot mati). •Algoritma pembelajaran kompetitif lain telah diusulkan dalam literatur ini. Dalam Algoritma yang mirip adalah adalah skema self-organizing map (SOM). Namun, dalam bobot-bobot SOM, WJ saling terkait [Theo 09, Bagian 15.3]. Latihan 7.6.1 1. Terapkan LLA pada himpunan data X3 yang dihasilkan dalam Contoh 7.5.1, untuk m, = 4 m = 3, dan m=6. Gunakan ηw = 0,1 dan ηl = 0,0001, max_epoch = 100, dan e_thres = 0,0001. Gunakan fungsi MATLAB distant_init inisialisasi wj. Untuk setiap kasus, plot titik data (semua dengan warna yang sama) serta wj (perkiraan akhir). 2 2. Ulangi langkah 1 untuk m = 4, di mana sekarang ηl = 0,01. Perhatikan bahwa, dalam kasus di mana jumlah bobot yang dibawah atau diatas perkiraan, clustering yang dihasilkan tidak sesuai dengan struktur clustering sebenarnya dari titik di X3. Selain itu, jika ηl tidak jauh lebih kecil dari ηw, algoritma memberikan hasil yang buruk, bahkan jika m adalah sama dengan jumlah cluster yang benar. Latihan 7.6.2 Terapkan LLA pada himpunan data X5 yang dihasilkan dalam Contoh 7.5.3, untuk m = 2, mengadopsi nilainilai parameter yang digunakan dalam Latihan 7.6.1. Petunjuk Perhatikan bahwa berhasil mengidentifikasi dua cluster meskipun mereka memiliki ukuran yang secara signifikan berbeda, dengan kata lain , k-means dan FCM. Latihan 7.6.3 Terapkan LLA pada himpunan data X3 yang dihasilkan dalam Contoh 7.5.1, untuk m = 4 di mana sekarang wj diinisialisasi sebagai w1 (0) = [5,5 , 4,5] T, w2 (0) = [4,5, 5,5] T, w3 = [5 , 5] T, dan w4 = [50, 50] T. Gunakan ηw = 0,1 dan (a) ηl = 0,0001 dan (b) ηl = 0 (skema belajar kompetitif dasar). Perhatikan bahwa untuk ηl = 0,0001, semua bobot mewakili cluster di X3, meskipun bobot w4 telah diinisialisasi jauh dari daerah di mana titik X3 berada. Untuk ηl = 0, bagaimanapun, W4 tidak berubah. Valley-Seeking Clustering Algorithm Berdasarkan metode ini (dikenal sebagai VS), cluster dianggap sebagai puncak dari pdf, p (x), yang menggambarkan X, terpisahkan oleh lembah-lembah. Berbeda dengan algoritma-algoritma sebelumnya, di sini tidak ada bobot-bobot (vektor-vektor parameter) yang digunakan. Sebaliknya, pengelompokan/ clustering didasarkan pada daerah lokal, V (x), sekitar setiap vektor data x ∈ X. Metode yang terakhir didefinisikan sebagai himpunan vektor-vektor di X (termasuk x) yang terletak dengan jarak dari x kurang daripada a, di mana a adalah parameter yang ditetapkan pengguna. Sebagai ukuran jarak, Jarak Euclidean mungkin digunakan (jarak lain dapat juga digunakan). VS juga membutuhkan suatu nilai (di atas perkiraan) jumlah cluster, m. Algoritma bersifat iteratif, dimulai dengan tugas awal dari vektor X untuk m cluster; pada setiap epoch (N iterasi yang berurutan) semua vektor data yang disajikan sekali. Selama epoch ke-t dan untuk setiap xi dalam X, i = 1,. . . , N,daerah V(xi) ditentukan dan cluster di mana sebagian besar vektor data yang merupakan milik V (xi) diidentifikasi dan disimpan. Setelah semua vektor data yang telah disajikan (selama epoch ke-t), reclustering/pengelompokkan kembali berlangsung dan setiap xi sekarang ditugaskan ke cluster yang memiliki jumlah titik terbesar dalam V (xi). Algoritma berakhir ketika tidak terjadi reclustering lagi antara dua epoch yang berurutan. Untuk menerapkan algoritma VS pada himpunan data X, ketik dimana: X berisi vektor data dalam kolom-kolomnya, a adalah parameter yang menentukan ukuran dari lingkungan ketetanggaan V (x) dari titik data x, 3 bel_ini adalah sebuah vektor berdimensi yang koordinat ke-I berisi label dari cluster dimana vektor xi diinisialisasi, max_iter adalah jumlah iterasi maksimum yang diperbolehkan, bel adalah vektor berdimensi N yang memiliki struktur yang sama seperti bel_ini, yang dijelaskan sebelumnya dan berisi label cluster xi setelah konvergen, iter adalah jumlah iterasi yang dilakukan sampai konvergensi tercapai. Keterangan Dalam kasus tertentu, VS dapat mengatasi cluster tidak seragam. Algoritma sensitive dengan pilihan nilai a. Salah satu cara untuk mengatasi sensitivitas ini adalah dengan menjalankan algoritma untuk beberapa nilai a dan hati-hati menginterpretasikan hasil. Algorithma sensitif terhadap inisialisasi tugas dari vektor data untuk cluster. Inisialisasi yang buruk menghasilkan clustering yang buruk. Salah satu penyelesaian adalah dengan menjalankan algoritma yang lain (misalnya, algoritma sekuensial) dan menggunakan clustering hasil sebagai harga awal untuk VS. VS adalah algoritma mode-seeking. Artinya, jika digunakan nilai yang melebihi jumlah cluster sebenarnya dari X sebagai nilai awal, maka pada prinsipnya, setelah konvergensi, beberapa dari mereka akan menjadi kosong. Ini berarti bahwa VS tidak memaksakan struktur pengelompokan pada X. Dalam hal ini, menyerupai PCM. Latihan 7.6.4 Pertimbangkan himpunan data X3 yang dihasilkan dalam Contoh 7.5.1. Gunakan kuadrat jarak Euclidean dan terapkan algoritma VS untuk a = 12,1.52,22,. . . , 82. Untuk definisi pengelompokan/clustering awal (a) gunakan m = 7 cluster dengan inisialisasi acak, dan (b) output dari algoritma BSAS dengan kesimpulan. = 2,5. Untuk setiap kasus, plot hasil clustering dan buat Petunjuk Untuk membangkitkan inisialisasi clustering acak ketik Untuk membangkitkan inisialisasi clustering menggunakan algoritma BSAS, ketik 4 Untuk menerapkan VS pada X3 dan untuk plot hasil clustering, ketik VS dengan inisialisasi acak gagal untuk mengidentifikasi struktur pengelompokan/clustering X3; sebaliknya ketika inisialisasi dengan BSAS. Hal ini terjadi karena, dalam kasus di mana adalah "kecil," BSAS cenderung untuk menghasilkan beberapa compact cluster kecil tanpa overlap yang signifikan. Penerapan VS antara lain pada clustering akan menggabungkan cluster tetangga yang kecil menjadi bagian dari cluster yang lebih besar. Sebaliknya, dengan inisialisasi acak, pengelompokan/clustering awal cenderung memiliki beberapa cluster yang overlap, yang lebih sulit untuk menangani (dalam hal ini, setiap V (xi) mungkin berisi titik-titik dari semua cluster). Perhatikan bahwa tidak semua nilai-nilai pengelompokan/clustering yang benar dari X3. dari a, X5 yang tepat untuk mengungkap struktur Latihan 7.6.5 Ulangi Latihan Petunjuk 7.6.4 untuk himpunan data dihasilkan dalam Contoh 7.5.3. Perhatikan bahwa VS berhasil mengidentifikasi dua kelompok yang mempunyai ukuran yang berbeda secara signifikan. Contoh 7.6.1 1. Bangkitkan dan plot data set X8, yang berisi 650 vektor data berdimensi 2. 300 pertama berada sekitar setengah lingkaran dengan jari-jari r = 6, yang berpusat di (-15,0), dan memiliki koordinat kedua positif. 200 berikutnya terletak sekitar ruas garis dengan titik akhir (10, -7) dan (10,7). 100 berikutnya terletak sekitar setengah lingkaran dengan jari-jari r = 3, yang berpusat di (21,0), dan memiliki koordinat kedua negatif. Akhirnya, 50 titik terakhir milik spiral Archimedes dan didefinisikan sebagai (x, y) = (aspθ cos (θ), aspθ sin (θ)), di mana asp = 0,2 (parameter yang ditetapkan pengguna) dan θ = π, π + s, π +2 s,. . , 6π, di mana s = 5π/49. 2. Gunakan kuadrat jarak Euclidean dan menerapkan algoritma VS X8 untuk a = 12,1.52,22,. . , 82.. Untuk definisi pengelompokan/clustering awal, menggunakan output dari algoritma BSASdengan =2,5. Gambarkan kesimpulan anda. 3. Pertimbangkan hasil dari VS jika setengah lingkaran di X8, yang sesuai dengan kelompok ketiga dati titik-titik, dipusatkan di (12,0). 5 Penyelesaian. Ambil langkah-langkah berikut: Langkah 1. Untuk membangkitkan kelompok pertama dari titik-titik di X8, ketik Untuk membangkitkan kelompok kedua, ketik Untuk membangkitkan kelompok ketiga, ketik 6 Dan, untuk membangkitkan kelompok ketiga, ketik Langkah 2. Untuk nilai-nilai a dalam rentang [42, 62], VS berhasil mengidentifikasi cluster-cluster pada X8 (lihat Gambar 7.9 (a)). Langkah 3. Untuk skenario alternatif (Gambar 7.9 (b)), VS gagal (mengidentifikasi dua cluster paling kanan sebagai sebuah cluster tunggal). Dengan demikian, kami menyimpulkan bahwa VS dapat menangani dengan cluster bentuk tidak teratur hanya di bawah asumsi bahwa mereka benar-benar terpisah satu sama lain. Gbr 7.9. Clustering yang dihasilkan oleh algoritma VS dalam Contoh 7.6.1: (a) langkah 2(empat cluster); (b) langkah 3 (tiga cluster). Titik-titik dari cluster yang berbeda ditunjukkan dengan lambing/baying-bayang abu-abu yang berbeda. Clustering Spektral Algoritma pengelompokan/clustering spektral memanfaatkan konsep-konsep teori graph dan kriteria optimasi tertentu yang mengacu pada teori matrik. Lebih khusus, algoritma semacam ini membangun sebuah graf berbobot, G, di mana (a) masing-masing titik, vi, sesuai dengan titik, xi, dari himpunan data X, dan kemudian (b) asosiasi sebuah bobot wij dengan tepi eij yang menghubungkan dua simpul, vi dan vj. 7 Bobot wij merupakan indikasi dari "jarak" antara titik data yang sesuai xi dan xj. Tujuannya adalah untuk memotong grafik dalam m komponen terputus melalui optimasi kriteria. Komponen ini mengidentifikasi kelompok/cluster dibawah X. Dalam sekuelnya, kita mempertimbangkan kasus 2-cluster (yaitu, m = 2); kriteria yang akan dioptimalkan adalah dipotong yang disebut normalized cut atau potongan ternormalisasi, atau Ncut [Theo 09, Bagian 15.2.4]. Sebelum menjelaskan algoritma, dijelaskan dulu beberapa definisi. Di antara berbagai cara untuk mendefinisikan bobot dari grafik, yang umum adalah (7.4) di mana e dan σ2 parameter yang ditetapkan pengguna dan | | · | | menunjukkan jarak Euclidean. Dengan kata, diberikan titik data xi, untuk semua titik xj yang terletak dari xi sebuah jarak yang lebih besar daripada e, kita memberikan wij = 0. Untuk titik xj yang jarak dari xi kurang dari e, bobot wij menurun sesuai jarak antara xi dan kan xj meningkat. Jadi, bobot-bobot mengkodekan informasi yang berkaitan dengan jarak antara titik-titik pada X. Setelah graf berbobot telah dibentuk, tujuannya adalah untuk membagi (memotong) menjadi dua bagian, katakanlah A dan B, sehingga titik di A dan B memiliki kesamaan paling kecil dibandingkan dengan bipartitioning lainnya. Kesamaan dalam hal ini adalah diukur dalam hal jarak bobot terkait. Berdasarkan kriteria normalized cut, pemisahan dua bagian dari grafik (cluster) sangat berperan sehingga tepi-tepi yang menghubungkan dua bagian memiliki jumlah bobot minimum (mengindiksikan cluster terpisahkan sebanyak mungkin berdasarkan dengan kriteria yang digunakan). Kriteria normalized cut juga mempertimbangkan "volume" dari cluster dan perhatikan untuk menghindari pembentukan kelompok kecil yang terisolir. Optimasi masing-masing ternyata menjadi NP-hard. Hal ini diatasi dengan sedikit formulasi ulang masalah, yang kemudian menjadi masalah eigenvalue-eigenvector dari matriks Laplace dari grafik. Matriks Laplace secara langsung berkaitan bobot asosiasi dengan grafik, yaitu, ia mengkodekan informasi jarak antara titik yang dapat dikelompokkan [Theo 09, Bagian 15.2.4]. Untuk menerapkan algoritma yang dijelaskan pada himpunan data X, ketik dimana: X vektor berisi data dalam kolom-kolomnya, e adalah parameter yang mendefinisikan ukuran dari lingkungan ketetanggaan sekitar setiap vektor, sigma2 adalah parameter yang ditetapkan pengguna yang mengontrol lebar dari fungsi Gaussian dalam Pers. (7.4), bel adalah vektor berdimensi N yang berisi elemen ke-i beriri label dari cluster data vektor ke-i diberikan. 8 Keterangan algoritma pengelompokan/clustering spektral memaksakan struktur pengelompokan/clustering pada X. Pada prinsipnya, algoritma pengelompokan spektral dapat memulihkan cluster berbagai bentuk algoritma. Pengelompokan spektral lain yang berasal optimasi kriteria seperti yang disebut ratio-cut telah diusulkan [Theo 09, Bagian 15.2.4]. Sebuah diskusi tentang kualitas clustering bahwa hasil dari metode pengelompokan spektral dapat ditemukan di [Guat 98]. Dalam kasus di mana lebih dari dua cluster yang diharapkan, skema sebelumnya dapat digunakan secara hierarkis. Artinya, di setiap langkah menghasilkan cluster yang dipartisi lagi menjadi dua kelompok [Shi 00]. Sebuah pendekatan yang berbeda dapat ditemukan di [Luxb 07]. Latihan 7.6.6 Perhatikan himpunan data X2 dari Latihan 7.4.1 dan terapkan algoritma sebelumnya yang menggunakan e = 2 dan sigma2 = 2. Gambarkan kesimpulan. Petunjuk Perhatikan bahwa algoritma memaksakan struktur pengelompokan/clustering berdasarkan X2, meskipun X2 tidak memiliki struktur pengelompokan/clustering. Latihan 7.6.7 1. Bangkitkan dan plot himpunan data X9, yang terdiri dari 200 vektor berdimensi 2. 100 pertama dari distribusi Gaussian dengan mean [0, 0] T; titik yang tersisa berasal dari distribusi Gaussian dengan mean [5, 5] T. Kedua distribusi berbagi matriks kovarians identitas. 2. Terapkan algoritma clustering spektral sebelumnya pada X9 menggunakan e = 2 dan sigma2=2. Gambarkan kesimpulan. Petunjuk Perhatikan bahwa algoritma dengan benar mengidentifikasi kelompok dalam X9. Contoh 7.6.2. Lakukan hal berikut: 1. Bangkitkan dan plot himpunan data X10 yang terdiri dari 400 titik data yang terletak di sekitar dua lingkaran. Secara khusus, 200 titik pertama yang berada di lingkaran dengan jari-jari r1 = 3, yang berpusat di (0,0); sisa titik terletak di sekitar lingkaran dengan jari-jari r2 = 6, yang berpusat di (1,1). 2. Terapkan algoritma clustering spektral pada X10 untuk e = 1,5 dan sigma2 = 2 dan plot hasilnya. 3. Ulangi hal ini untuk e = 3. Berikan komentar pada hasil. 9 Penyelesaian. Ambil langkah-langkah berikut: Langkah 1. Untuk menghasilkan himpunan data X10, ketik Plot himpunan data dengan mengetikan Langkah 2. Untuk menerapkan algoritma clustering spectral, ketik 10 Gbr 7.10. Hasil clustering dari penerapan algoritma clustering spectral pada himpunan data X10 pada Contoh 7.6.2 ketika (a)e=1,5 dan (b)e=3. Titik-titik yang diberikan cluster yang sama ditunjukkan dengan lambing yang sama. Terlihat peka terhadap pilihan parameter. Plot hasil clustering (lihat Gbr 7.10.(a)), ketik Langkah 3. Bekerja seperti pada langkah 2, pengaturan e sama dengan 3 (Gambar 7.10 (b)). Membandingkan Gambar 7.10(a) dan7.10(b), perhatikan pengaruh nilai-nilai parameter pada kualitas clustering yang dihasilkan.Menyediakan penjelasan fisik untuk itu. Latihan 7.6.8 Ulangi Contoh 7.6.2 untuk kasus di mana lingkaran kedua ini berpusat di (3,3), untuk berbagai nilai e dan sigma2. Berikan komentar pada hasil. Petunjuk Perhatikan bahwa, dalam kasus ini, algoritma gagal untuk mengidentifikasi dua cluster (overlap). 7.7. ALGORITMA CLUSTERING HIRARKI Berbeda dengan algoritma pengelompokan/clustering yang telah dibahas sejauh ini, yang kembali pada clustering tunggal, algoritma pada bagian ini adalah hierarchy ofN nested clustering, di mana N adalah jumlah titik data dalam X. Sebuah pengelompokan/clustering , , Terdiri dari k cluster , dikatakan bersarang di clustering ’, berisi r (<k) cluster, jika masing-masing cluster dalam adalah bagian dari cluster di ’. Sebagai contoh, clustering 1 = {{x1, x2}, { x3}, {x4, x5}} adalahbersarang di clustering 2 = {{x1, x2, x3}, {x4, x5}}?, tapi 1 tidak bersarang dalam 3 = {{x1, x3}, {x2}, {x4, x5}} atau dalam 4 = {{x1, x3, x4}, {x2, x5}}. 11 Dua kategori utama dari algoritma pengelompokan hirarki adalah: agglomerative. Dengan clustering awal 0 terdiri dari N cluster, masing-masing berisi satu elemen X. Clustering 1 diperoleh pada langkah berikutnya, berisi (N -1) cluster dan0 bersarang di dalamnya. Akhirnya, N-1 clustering diperoleh, yang berisi sebuah cluster tunggal (seluruh himpunan data X). Divisive/memecah belah. Di sini jalur balik diikuti. Cluster awal 0 terdiri dari cluster tunggal (seluruh himpunan data X). Pada langkah selanjutnya clustering 1 adalah dibuat, yang terdiri dari dua cluster dan bersarang di 0. Akhirnya, N-1 clustering diperoleh, yang terdiri dari N cluster, masing-masing berisi satu elemen dari X. Untuk selanjutnya , kita hanya mempertimbangkan pengelompokan algoritma agglomerative.khususnya, (a) skema algoritma agglomerative umum dan (b) algoritma tertentu yang berkaitan dengan yang dibahas. 7.7.1 Skema Agglomerative Umum Skema (dikenal sebagai GAS) dimulai dengan clustering 0 yang terdiri dari N cluster, masing-masing berisi vektor data tunggal. Clustering t (hirarki clustering pada tingkat ke-t ) terdiri dari (a)cluster dibentuk oleh penggabungan dari dua cluster "paling mirip" ("jarak paling kecil") clustering t-1. Dan (b) semua cluster sisa dari clustering t-1 . Clustering yang dihasilkan t sekarang berisi (N-t) cluster (perhatikan bahwat-1mengandung (N-t +1) cluster). Algoritma berlanjut sampai clustering N-t dibuat, di mana semua titik menjadi milik cluster tunggal. Ia mengembalikan hirarki clustering. Keterangan Jika dua titik sama-sama dalam sebuah cluster tunggal pada clustering t (level ke-t pada hirarki clustering), mereka akan tetap berada dalam cluster yang sama untuk semua clustering berikutnya (yaitu, untuk t+1,..., N-1). Jumlah operasi yang diperlukan oleh GAS adalah O (N3). Isu penting yang terkait dengan GAS adalah definisi dari sebuah ukuran kedekatan antara cluster. Untuk selanjutnya , kita membahas definisi rekursif dari jarak (dinotasikan dengan d (·)) antara dua cluster, khususnya, jarak antara setiap pasangan cluster dalam clustering t didefinisikan dalam hal jarak antara pasangan-pasangan pada cluster t-1. Hal ini menimbulkan beberapa algoritma agglomerative hirarkis yang paling banyak digunakan. Jika d (xi, xj) menunjukkan jarak antara dua vektor data. Menurut definisi, jarak antara dua elemen cluster tunggal didefinisikan sebagai jarak antara elemen-elemen mereka: d({xi}, {xj}) ≡ d (xi, xj). Mempertimbangkan dua cluster Cq, Cs pada clustering t, t> 0 level ke-t hirarki): Jika kedua Cq dan Cs termasuk dalam clustering t-1 (level ke-t-1), Jarak mereka tetap tidak berubah di t. Jika Cq adalah hasil dari penggabungan cluster Ci dan Cj dalam clustering t-1, dan Cs adalah cluster lain yang berbeda dari Ci dan Cj dalam t-1, maka d (Cq, Cs) didefinisikan sebagai (7.5) Pilihan yang berbeda dari parameter ai, aj, b, dan c menimbulkan pengukuran jarak yang berbeda antar 12 cluster dan akibatnya menyebabkan algoritma pengelompokan/clustering yang berbeda. Dua diantaranya mengikuti. 7.7.2 Algoritma Clustering Agglomerative Tertentu Jalir tunggal: Ini hasil dari GAS jika dalam Pers. (7.5) kita atur ai = aj = 0,5, b = 0, dan c =- 0,5. Dalam hal ini Persamaan (7.5) menjadi (7.6) Persamaan (7.6) juga dapat ditulis sebagai (7.7) Jalur Lengkap: Ini hasil dari GAS jika dalam Persamaan (7.5) kita atur ai = aj = 0,5, b = 0, dan c = 0,5. Dalam hal ini Persamaan (7,5) menjadi (7.8) Ternyata Persamaan (7.8) juga dapat ditulis sebagai (7.9) Contoh 7.7.1. Pertimbangkan himpunan data set X11 = {x1, x2, x3, x4, x5, x6} dan menjadi matriks 6 × 6 yang elemen(i, j), dij, adalah jarak antara vektor data xi dan xj (lihat Gambar 7.11). 1. Terapkan, langkah demi langkah, algoritma jalur tunggal di X11. 2. Ulangi langkah 1 untuk algoritma jalur lengkap. Gbr. 7.11 Himpunan data yang dipertimbangkan dalam Contoh 7.7.1. Angka (1, 3, 3,5, 3,6, 3,7) menunjukkan jarak masing-masing. Besar nilai jarak tidak ditampilkan. 13 Penyelesaian . Ambil langkah-langkah berikut: Langkah 1. Algoritma jalur tunggal. Inisialisasi 0 = {{x1}, {x2}, { x3}, {x4}, {x5}, {x6}} (clustering hirarki level 0). Dua kelompok terdekat pada 0 adalah { x1}dan {x2}, dengan d ({x1}, {x2}) = 1. Ini digabungkan untuk membentuk pengelompokan berikutnya, 1 = {{x1, x2}, { x3}, {x4 }, {x5}, {x6}} (level 1). Karena cluster yang paling dekat dalam 1 adalah {x1, x2} dan {x3} , dengan Persamaan (7.7), d ({x1, x2}, { x3}) = min (d ({x1}, {x3}), d ({x2}, {x3})) = 3 adalah jarak minimum antara setiap pasang cluster 1. Jadi, 2 = {{x1, x2, x3}, {x4}, {x5}, {x6}} (level 2). Cluster terdekat pada 2 adalah {x4 } dan {x5} karena d ({x4}, {x5}) = 3.5 adalah jarak minimum antara setiap pasang cluster 2. Jadi, jarak minimum antara setiap pasang cluster 3 = {{x1, x2, x3}, {x4, x5}, {x6}} (level 3). Demikian pula, cluster yang paling dekat dalam jarak minimum antara setiap pasang cluster 3 adalah {x4, x5} dan {x6}, karena d ({x4, x5}, {x6}) = min (d ({x4}, {x6}), d ({x5}, {x6 }) = 3,6 adalah jarak minimum antara setiap pasangan cluster di jarak minimum antara setiap pasang cluster 3 , dan jarak minimum antara setiap pasang cluster 4 = {{x1, x2, x3}, {x4, x5, x6}} (level 4). Akhirnya, dua kelompok dalam jarak minimum antara setiap pasang cluster 4 yang bergabung untuk membentuk pengelompokan akhir, jarak minimum antara setiap pasang cluster 5 = {{x1, x2, x3, x4, x5, x6}} (level 5). Perhatikan bahwa d ({x1, x2, x3}, {x4, x5, x6}) = Min i = 1, 2, 3, j = 4, 5, 6 d (xi, xj) = 20. Langkah 2. algoritma jalur lengkap. Inisialisasi 0 = {{x1}, {x2}, { x3}, {x4}, {x5}, {x6}} (clustering hirarki level 0). Dua kelompok terdekat pada 0 adalah { x1}dan {x2}, dengan d ({x1}, {x2}) = 1. Ini digabungkan untuk membentuk pengelompokan berikutnya, 1 = {{x1, x2}, { x3}, {x4 }, {x5}, {x6}} (level 1). Karena cluster yang paling dekat dalam 1 adalah {x4 } dan {x5} karena d ({x4}, {x5}) = 3.5, yang merupakan jarak minimum antara semua pasangan cluster dalam 1 (sesuai dengan Pers. (7.9), d ({x1, x2}, { x3}) = max (d ({x1}, { x3}), d ({x2}, { x3})) = 4). Jadi, 2 = {{x1, x2}, {x3}, { x4,x5}, {x6}} (Level 2). Cluster terdekat 2 adalah {x4, x5} dan {x6} karena d ({x4, x5}, {x6}) = max (d ({x4}, {x6}), d ({x5}, {x6})) = 3,7 adalah jarak minimum antara setiap pasang kelompok dalam 2. Jadi, 3 ={{x1, x2}, {x3}, {,x4,x5, x6}} (level 3). Demikian pula, cluster terdekat 3 adalah {x1, x2} dan { x3} karena d ({x1, x2}, {} x3) = max (d ({x1}, { x3}), d ({x2}, { x3}) = 4 adalah jarak minimum antara sepasang kelompok dalam 3. Jadi, 4 = {{x1, x2, x3}, {x4, x5, x6}} (level 4). Akhirnya, dua kelompok dalam 4 yang bergabung untuk membentuk pengelompokan akhir, 5= {{x1, x2, x3, x4, x5, x6}} (level 5). Perhatikan bahwa d ({x1, x2, x3}, {x4, x5, x6}) = max i = 1, 2, 3, j = 4, 5, 6 d (xi, xj) = 26. Dendrogram Sebuah isu yang sering timbul pada algoritma clustering hirarki yang memperhatikan visualisasi dari hierarki yang terbentuk. Satu alat yang sering digunakan disebut proximity dendogram/dendrogram kedekatan (lebih spesifik, dendogram ketaksamaan(kesamaan) ukuran jarak ketaksamaa(kesamaan) antar cluster digunakan). Ini memiliki struktur pohon seperti yang ditunjukkan pada Gambar 7.12, yang menunjukkan dendrogram ketaksamaan pada hirarki clustering setelah menerapkan algoritma jalur tunggal untuk himpunan data X11. 14 Pada level 0 hirarki, masing-masing vektor data membentuk cluster tunggal. Pada tingkat 1, {x1} dan {x2} digabungkan menjadi cluster tunggal, membentuk clustering 1 . ini digambarkan dengan bergabung mereka dengan sambungan yang ditunjukkan pada gambar, yang sesuai dengan ketaksamaan tingkat 1. Kita mengatakan bahwa clustering 1 dibentuk di ketaksamaan tingkat 1. Pada tingkat kedua dari hirarki, cluster {x1, x2 } dan { x3} digabungkan dan sambungan di ketaksamaan tingkat 3 dimasukkan. Jadi, clustering 2 terbentuk pada ketaksamaan tingkat 3. Melanjutkan dengan prinsip ini, kita dapat melihat bagaimana bagian yang tersisa dari dendrogram dibangun. 0 ,1 , 2, 3 , 4 , 5 dibuat pada ketaksamaan tingkat 0 1, 3, 3,5, 3,6, 20, masing-masing. Gbr 7.12 Dendrogram Ketaksamaan yang dihasilkan oleh algoritma jalur tunggal bila diterapkan pada himpunan data X11dalam Contoh 7.7.1. Gbr 7.13 Dendrogram Ketaksamaan diperoleh dengan algoritma jalur lengkap bila diterapkan pada himpunan data X11 pada Contoh 7.7.1. 15 Jelaslah, dendrogram kedekatan merupakan alat yang berguna dalam memvisualisasikan informasi mengenai hirarki clustering. Kegunaannya menjadi lebih jelas dalam kasus di mana jumlah titik data yang besar (Gambar 7.13 menunjukkan dendrogram ketaksamaan yang dibentuk oleh algoritma jalur lengkap ketika diterapkan pada himpunan data X11). Untuk menjalankan skema agglomerative umum (GAS), ketik Dimana prox_mat adalah matrik ketaksamaan N × N untuk N vektor dari himpunan data X, (Prox_mat (i, j) adalah jarak antara xi dan xj vektor), code adalah bilangan bulat yang menunjukkan algoritma clustering yang digunakan (1 singkatan jalur tunggal; 2 singkatan untuk jalur lengkap), bel adalah matriks N × N yang elemen (i, j) berisi label cluster untuk vektor ke-j dalam clustering ke-i. (Baris pertama dari bel sesuai dengan pengelompokan N-cluster, baris kedua, pengelompokan (N -1)-cluster, dan baris N, untuk pengelompokan cluster tunggal), thres adalah vektor berdimensi N yang mengandung tingkat ketaksamaan di mana setiap pengelompokan baru terbentuk. Keterangan Clustering dihasilkan oleh algoritma jalur tunggal dibentuk pada tingkat ketaksamaan yang lebih rendah, sementara yang dihasilkan oleh algoritma jalur lengkap terbentuk pada tingkat ketaksamaan yang lebih tinggi. Hal ini disebabkan fakta bahwa operator min dan max digunakan untuk menentukan ukuran jarak mereka. Semua algoritma yang lain berkompromi antara kasus-kasus ekstrim tersebut. Algoritma seperti unweighted pair group method average (UPGMA), unweighted pair group method centroid (UPGMC), Ward, atau varians minimum semua berasal dari Persamaan. (7.5) untuk pilihan yang berbeda dari parameter [ ,Theo 09 Bagian 13.2.2]. Suatu hal yang penting dengan algoritma hirarki adalah kemonotonan. Kita mengatakan bahwa suatu hirarki dari clustering yang dihasilkan oleh seperti algoritma menampilkan properti monotonisitas jika tingkat ketaksamaan dimana hirarki clustering ke-t, 1 , terbentuk lebih besar dari tingkat ketaksamaan dari semua clustering terbentu pada tingkat sebelumnya. Kemonotonan adalah properti dari algoritma clustering, bukan dari kumpulan data. Hal ini dapat ditunjukkan bahwa algoritma jalur tunggal dan jalur lengkap menampilkan properti monotonisitas, sementara algoritma agglomerative lain tidak (misalnya, UPGMC, dijelaskan pada [, Theo 09 Bagian 13.2.2]). Hubungan tunggal dan lengkap-link algoritma, serta sejumlah orang lain, mungkin berasal dari kerangka teori grafik [Theo 09, Bagian 13.2.5]. Dalam kasus di mana terdapat hubungan (yaitu, lebih dari sepasang cluster berbagi jarak minimum yang sama pada tingkat ke-t dari hirarki pengelompokan), satu pasang secara acak dipilih untuk digabung. Pilihan ini berpengaruh, secara umum, hirarki pengelompokan dibentuk oleh jalur lengkap dan semua algoritma pengelompokan lainnya yang berasal dari Persamaan(7.5). Kecuali algoritma jalur tunggal. 16 7.7.3 Pemilihan Clustering Terbaik Ketika sebuah hirarki clustering/pengelompokan tersedia, sebua isu penting adalah pilihan clustering/pengelompokan tertentu yang paling mewakili struktur clustering untuk himpunan data X. Beberapa metode telah diusulkan untuk masalah ini. Salah satu metode yang sederhana adalah untuk mencari hirarki untuk cluster yang memiliki masa hidup yang lama. Masa hidup suatu cluster didefinisikan sebagai perbedaan mutlak antara tingkat kedekatan di mana cluster terbentuk dan tingkat kedekatan di mana itu diserap ke dalam cluster yang lebih besar. Dalam dendrogram pada Gambar 7.12 ,misalnya, cluster {x1, x2, x3} dan {x4, x5, x6} memiliki masa hidup yang lama, yang menunjukkan bahwa clustering yang paling mewakili himpunan data yang sesuai adalah {{x1, x2, x3}, {x4, x5, x6}}. Pendapat serupa berlaku untuk yang dendrogram pada Gambar 7.13. Dua metode lain yang diusulkan dalam [Bobe 93] dan juga dibahas dalam [Theo 09]. Dalam pembahasan ini, kami mempertimbangkan versi lanjutan salah satu dari mereka. Menurut metode ini, dimana clustering yang paling representatif dari X dalam hirarki berisi cluster yang menunjukkan "ketaksamaan rendah" di antara anggotanya. "Derajat ketidaksamaan" dalam cluster C diukur dari segi kuantitas dimana d (x, y) adalah ketaksamaan antara vektor-vektor x dan y. Selain itu, ambang batas ketaksamaan, θ, digunakan. Kriteria untuk pemilihan clustering dalam hirarki yang paling menggambarkan struktur clustering dari X dapat dinyatakan sebagai “Pemilihan clustering t jika terdapat sebuah cluster C dalan clustering t+1 dengan h(C) > .” Parameter θ dapat didefinisikan sebagai di mana μ dan σ adalah mean dan deviasi standar dari ketaksamaan-ketaksamaan antara titik-titik data X dan λ adalah parameter yang ditetapkan pengguna. Jelaslah bahwa pilihan nilai λ sangat penting. Untuk menghindari risiko ketergantungan pada nilai tunggal λ, kita dapat bekerja sebagai berikut. Jika λ memindai rentang nilai dan diperoleh, untuk setiap nilai tersebut, clustering t yang memenuhi kriteria sebelumnya. Kemudian, tidak termasuk kasus-kasus di mana? 0 dan N-1 telah dipilih, hitung fraksi dari berapa kali jumlah clustering masing-masing telah dipilih dan, akhirnya, pertimbangkan clustering terpilih yang paling besar frekuensinya sebagai yang paling mungkin untuk mewakili himpunan data dalam studi. Namun, perhatikan bahwa, sejalan dengan clustering terpilih berdasarkan frekuensi paling besar, clustering terpilih berdasarkan frekuensi lebih sedikit berikutnya mungkin sesuai data dengan baik (terutama jika mereka telah memilih angka frekuensi yang signiikan). Setelah semua, ini adalah manfaat utama clustering hirarki -itu dianjurkan lebih dari clustering yang sesuai dengan data dengan alasan yang cukup baik. Ini mungkin berguna dalam memberikan sebuah "gambar" yang lebih lengkap dari struktur clustering X. Untuk menerapkan teknik yang dijelaskan sebelumnya, ketik Dimana prox_mat dan bel didefinisikan sebagai dalam fungsi agglom, 17 lambda adalah vektor dari nilai-nilai parameter λ, yang clustering (selain0 dan N) diperoleh, cut_point_tot adalah vektor yang berisi indeks dari clustering yang dipilih untuk nilai λ yang diberikan, hist_cut adalah vektor yang komponen ke-t berisi jumlahberapa kali clustering telah dipilih (termasuk clustering1-cluster dan cluster N). Fungsi ini juga menghasilkan plot histogram yang sesuai. Contoh 7.7.2. Bangkitkan dan plot himpunan data X12, menggunakan langkah-langkah yang diikuti dalam Contoh 7.5.1. Di sini masing-masing dari empat cluster terdiri dari 10 titik. Lalu 1. Hitunglah matriks yang berisi (kuadrat Euclidean) jarak antara setiap pasangan vektor pada X12 dan vektor yang mengakumulasi elemen-elemen baris diagonal atas . 2. Terapkan algoritma jalur (ketaksamaan)yang sesuai. tunggal dan jalur lengkap pada X12 dan gambarkan dendrogram 3. Tentukan clustering yang terbaik sesuai dengan struktur clustering pada X12. Beri komentar pada hasil. Penyelesaian Untuk membangkitkan himpunan data X12, ketik Plot X12 (lihat Gbr 7.14(a), ketik Kemudian diproses sebagai berikut Langkah 1. Untuk menghitung matrik jarak untuk vektor data pada X12, ketik 18 Gbr. 7.14. (a) himpunan data X12, dipertimbangkan dalam Contoh 7.7.2. (b)-(c). Dendogram ketaksamaan diperoleh dengan algoritma jalur tunggal dan jalur lengkap, masing-masing, ketika mereka diterapkan pada X12. Sumbu horizontal berisi label vektor data. Untuk menumpuk jarak terhitung pada sebuah vektor data, ketik Langkah 2. Untuk menerapkan algoritma jalur tunggal pada X12 dan menggambar dendogram ketaksamaan yang sesuai (lihat Gbr. 7.14(b)), ketik 19 Fungsi linkage adalah fungsi MATLAB built-in, yang melakukan clustering/pengelompokan agglomerative dan mengembalikan hasilnya ke format yang berbeda (lebih kompak namun kurang dapat dipahami), dibandingkan dengan bentuk yang diadopsi dalam fungsi agglom. Selain itu, fungsi dendrogram juga MATLAB built-in, yang mengambil sebagai input, output dari linkage dan menggambar dendrogram yang sesuai.Kesamaan bekerja dalam jalur lengkap, di mana sekarang argumen kedua dalam fungsi agglom akan sama dengan 2 dan argumen kedua dari fungsi linkage sama dengan ‘complete’. (Lihat juga Gambar 7.14 (c)) Langkah 3. Untuk menentukan clustering hirarki yang dihasilkan oleh algoritma jalur tunggal yang paling sesuai dengan struktur X12, ketik Fungsi ini membentuk histogram dengan frekuensi pemilihan setiap cluster (lihat Gambar 7.15 (a)). Perhatikan bahwa batang pertama sesuai dengan kasus clustering/pengelompokan 2-cluster. Histogram yang sesuai untuk algoritma jalur lengkap ditunjukkan pada Gambar 7.15 (b). Dari Gambar 7.14 (b) dan (c), maka bahwa clusterings dalam hirarki yang dihasilkan oleh algoritma jalur lengkap yang terbentuk pada tingkat ketaksamaan lebih tinggi dibandingkan dengan clustering yang dihasilkan oleh algoritma jalur tunggal. Meskipun begitu dan perbedaan kecil lainnya, kedua dendrogram menunjukkan bahwa clustering 2-cluster dan 4-klaster yang paling sesuai dengan struktur pengelompokan pada X12. Hal ini dibuktikan dengan histogram pada Gambar 7.15 dan ini sejalan dengan intuisi kita (Lihat Gambar 7.14 (a)). Gbr 7.15. Pemilihan clustering yang struktur clustering-nya paling cocok dengan X12. (a) - (b) histogram menunjukkan pemilihan frekuensi clustering pada hirarki yang dihasilkan algoritma jalur tunggal dan jalur lengkap, masing-masing, ketika mereka diterapkan pada himpunan data X12 (yang clustering 0 dan N-1 telah dikecualikan). Latihan 7.7.1 Bangkitkan dan plot himpunan data X13, menggunakan cara yang diikuti pada Contoh 7.6.1, di sini dengan empat cluster terdiri dari 30,, 20 10, dan 51 titik, masing-masing. Ulangi Contoh 7.7.2 untuk X13. Gambarkan kesimpulan. Perhatikan bahwa algoritma jalur tunggal dan lengkap pada prinsipnya dapat mendeteksi cluster berbagai bentuk asalkan terpisahkan dengan baik. 20 DAFTAR PUSTAKA [1] Theodoridies, Sergios., and Koutroumbas, Kostantinos., 2010, An Introduction to Pattern Recognition: A MATLAB Approach, Academic Press, Burlington USA. 21 22