Clustering dengan K-Means dan EM: bagaimana mereka terkait?

50

Saya telah mempelajari algoritma untuk pengelompokan data (pembelajaran tanpa pengawasan): EM, dan k-means. Saya terus membaca yang berikut:

k-means adalah varian EM, dengan asumsi bahwa kluster adalah bola.

Adakah yang bisa menjelaskan kalimat di atas? Saya tidak mengerti apa arti bola, dan bagaimana kmeans dan EM berhubungan, karena yang satu mengerjakan penugasan probabilistik dan yang lain melakukannya dengan cara yang deterministik.

Juga, dalam situasi apa lebih baik menggunakan k-means clustering? atau menggunakan pengelompokan EM?

Myna
sumber
Bulat berarti matriks varians-kovarian identik untuk setiap klaster (dengan asumsi distribusi gaussian), yang juga dikenal sebagai klaster berbasis model. Pendekatan mana yang Anda anggap deterministik?
chl
2
Akan lebih baik jika Anda memberikan sumber kutipan.
ttnphns
1
k-berarti "mengasumsikan" bahwa gugus-gugus itu lebih atau kurang berbentuk bundar dan padat (tidak memanjang atau melengkung atau hanya berdering) di ruang euclidean. Mereka tidak diharuskan berasal dari distribusi normal . EM memang membutuhkannya (atau setidaknya jenis distribusi khusus untuk diketahui).
ttnphns

Jawaban:

38

K berarti

  1. Sulit menetapkan titik data ke satu cluster tertentu pada konvergensi.
  2. Itu memanfaatkan norma L2 ketika mengoptimalkan (Min {Theta} L2 norma poin dan koordinat centroid-nya).

EM

  1. Soft memberikan satu titik ke kluster (sehingga memberikan kemungkinan titik apa pun yang termasuk ke dalam centroid apa pun).
  2. Itu tidak tergantung pada norma L2, tetapi didasarkan pada Ekspektasi, yaitu, probabilitas titik milik cluster tertentu. Ini membuat K-means bias terhadap kluster bola.
Sharan Srinivasan
sumber
57

Tidak ada "algoritma k-means". Ada algoritma MacQueens untuk k-means, algoritma Lloyd / Forgy untuk k-means, metode Hartigan-Wong, ...

Juga tidak ada "algoritma" EM. Ini adalah skema umum berulang kali mengharapkan kemungkinan dan kemudian memaksimalkan model. Varian paling populer dari EM juga dikenal sebagai "Gaussian Mixture Modeling" (GMM), di mana modelnya adalah distribusi Gaussian multivariat.

Satu dapat mempertimbangkan algoritma Lloyds terdiri dari dua langkah:

  • langkah-E, di mana setiap objek ditugaskan ke centroid sedemikian rupa sehingga ditugaskan ke kluster yang paling mungkin.
  • langkah-M, di mana model (= centroids) dihitung ulang (= optimasi kuadrat terkecil).

... mengulangi kedua langkah ini, seperti yang dilakukan oleh Lloyd, menjadikan ini secara efektif contoh dari skema EM umum. Berbeda dengan GMM bahwa:

  • menggunakan partisi keras, yaitu setiap objek ditugaskan tepat satu cluster
  • modelnya hanya centroid, tidak ada kovarian atau varian yang diperhitungkan
Anony-Mousse
sumber
kk
10
Banyak buku sama dengan k-means dengan algoritma lloyds, tetapi ia tidak pernah menyebutnya k-means. MacQueen memperkenalkan nama k-means. Maaf: banyak buku menggunakan penamaan yang salah di sini . k-means adalah masalahnya, hanya satu solusi yang populer. Bahkan, R akan menjalankan Hartigan-Wong secara default untuk memecahkan kmeans.
Anony-Mousse
4

Berikut ini sebuah contoh, jika saya melakukan ini dalam mplus, yang mungkin membantu dan memuji jawaban yang lebih komprehensif:

Katakanlah saya memiliki 3 variabel kontinu dan ingin mengidentifikasi cluster berdasarkan ini. Saya akan menentukan model campuran (lebih khusus dalam kasus ini, model profil laten), dengan asumsi independensi bersyarat (variabel yang diamati independen, diberikan keanggotaan cluster) sebagai:

Model: 
%Overall%
v1* v2* v3*;  ! Freely estimated variances
[v1 v2 v3];   ! Freely estimated means

Saya akan menjalankan model ini beberapa kali, setiap kali menentukan jumlah cluster yang berbeda, dan memilih solusi yang paling saya sukai (untuk melakukan ini adalah topik yang luas sendiri).

Untuk kemudian menjalankan k-means, saya akan menentukan model berikut:

Model: 
%Overall%
v1@0 v2@0 v3@0;  ! Variances constrained as zero
[v1 v2 v3];      ! Freely estimated means

Jadi keanggotaan kelas hanya didasarkan pada jarak ke sarana variabel yang diamati. Seperti yang dinyatakan dalam tanggapan lain, varians tidak ada hubungannya dengan itu.

Hal yang menyenangkan tentang melakukan ini di mplus adalah bahwa ini adalah model bersarang, sehingga Anda dapat langsung menguji apakah kendala menghasilkan kecocokan yang lebih buruk atau tidak, selain dapat membandingkan ketidaksesuaian dalam klasifikasi antara kedua metode. Kedua model ini, omong-omong, dapat diestimasi menggunakan algoritma EM, sehingga perbedaannya lebih banyak tentang model.

Jika Anda berpikir dalam ruang 3-D, berarti 3 membuat titik ... dan varians tiga sumbu ellipsoid berjalan melalui titik itu. Jika ketiga varian itu sama, Anda akan mendapatkan sebuah bola.

DL Dahly
sumber
Terima kasih untuk contoh ini. Ini membantu banyak memperbaiki beberapa ide.
Myna