Algoritme Pengelompokan

Mari kita lihat jenis algoritme pengelompokan dengan cepat dan kapan Anda harus memilih setiap jenis.

Saat memilih algoritme pengelompokan, Anda harus mempertimbangkan apakah algoritme diskalakan ke set data Anda. Set data dalam machine learning dapat memiliki jutaan contoh, tetapi tidak semua algoritme pengelompokan diskalakan secara efisien. Banyak algoritme pengelompokan berfungsi dengan menghitung kesamaan antara semua pasangan contoh. Ini berarti runtime-nya meningkat sebagai kuadrat jumlah contoh \(n\), yang dilambangkan sebagai \(O(n^2)\) dalam notasi kompleksitas. \(O(n^2)\) algoritme tidak praktis saat jumlah contoh dalam jutaan. Kursus ini berfokus pada algoritme k-intent yang memiliki kerumitan \(O(n)\), yang berarti bahwa algoritme diskalakan secara linier dengan \(n\).

Jenis Pengelompokan

Terdapat beberapa pendekatan untuk pengelompokan. Untuk daftar lengkap, lihat Survei Komprehensif Algoritme Pengelompokan Xu, D. & amp; Tian, Y. Data Data. Sains (2015) 2: 165. Setiap pendekatan paling cocok untuk distribusi data tertentu. Di bawah ini terdapat diskusi singkat tentang empat pendekatan umum, yang berfokus pada pengelompokan berbasis sentroid menggunakan cara k.

Pengelompokan berbasis Centroid

Pengelompokan berbasis entroid mengatur data ke dalam cluster non-hierarki, tidak seperti pengelompokan hierarkis yang ditentukan di bawah ini. k-intent adalah algoritme pengelompokan berbasis centroid yang paling banyak digunakan. Algoritme berbasis Centroid efisien, tetapi sensitif terhadap kondisi awal dan pencilan. Kursus ini berfokus pada k-berarti karena merupakan algoritme pengelompokan yang efisien, efektif, dan sederhana.

Contoh yang dikelompokkan ke dalam cluster menggunakan pengelompokan berbasis centroid.
           Garis-garis menunjukkan batas-batas antar-cluster.
Gambar 1: Contoh pengelompokan berbasis centroid.

Pengelompokan Berbasis Kepadatan

Pengelompokan berbasis kepadatan menghubungkan area dengan kepadatan contoh tinggi ke dalam cluster. Hal ini memungkinkan distribusi berbentuk arbitrer selama area padat dapat terhubung. Algoritme ini mengalami kesulitan dengan data dengan berbagai kepadatan dan dimensi yang tinggi. Selanjutnya, berdasarkan desain, algoritme ini tidak menetapkan pencilan ke cluster.

Contoh dikelompokkan ke dalam dua cluster menggunakan pengelompokan berbasis kepadatan. Cluster tidak dapat dipisahkan secara linear.
Gambar 2: Contoh pengelompokan berbasis kepadatan.

Pengelompokan Berbasis Distribusi

Pendekatan pengelompokan ini mengasumsikan bahwa data terdiri dari distribusi, seperti distribusi Gaussian. Dalam Gambar 3, algoritme berbasis distribusi mengelompokkan data menjadi tiga distribusi Gaus. Seiring meningkatnya jarak dari pusat distribusi, probabilitas bahwa suatu titik akan menjadi milik distribusi akan menurun. Band menunjukkan probabilitas penurunan. Jika tidak mengetahui jenis distribusi dalam data Anda, sebaiknya gunakan algoritme yang berbeda.

Contoh dikelompokkan menggunakan pengelompokan berbasis distribusi. Warna kepadatan contoh di setiap cluster menunjukkan cara cluster dipetakan ke distribusi.
Gambar 3: Contoh pengelompokan berbasis distribusi.

Pengelompokan Hierarkis

Pengelompokan hierarki membuat hierarki cluster. Pengelompokan hierarki, tidak mengherankan, sangat cocok untuk data hierarkis, seperti taksonomi. Lihat Perbandingan 61 Sequenceed Escherichia coli Genomes oleh Oksana Lukjancenko, Trudy Wassenaar & amp; Dave Ussery sebagai contoh. Selain itu, keuntungan lain adalah sejumlah cluster dapat dipilih dengan memotong pohon pada tingkat yang tepat.

Hewan yang dikelompokkan menggunakan pohon hierarki.
Gambar 4: Contoh hierarki pohon yang mengelompokkan hewan.