Jika k-means clustering adalah suatu bentuk pemodelan campuran Gaussian, dapatkah itu digunakan ketika data tidak normal?

21

Saya membaca Bishop pada algoritma EM untuk GMM dan hubungan antara GMM dan k-means.

Dalam buku ini dikatakan bahwa k-means adalah versi GMM yang sulit. Saya bertanya-tanya apakah itu menyiratkan bahwa jika data yang saya coba kluster bukan Gaussian, saya tidak dapat menggunakan k-means (atau setidaknya itu tidak cocok untuk digunakan)? Sebagai contoh, bagaimana jika data adalah gambar dari angka tulisan tangan, masing-masing terdiri dari 8 * 8 piksel dengan nilai 0 atau 1 (dan anggap mereka independen maka harus campuran Bernoulli)?

Saya sedikit bingung tentang ini dan akan menghargai setiap pemikiran.

eddie.xie
sumber
2
Jika Anda bertanya apakah valid untuk melakukan k-means clustering pada data yang tidak normal, jawabannya adalah ya jika data tersebut dianggap kontinu. Data biner tidak kontinu. Beberapa orang melakukan k-means pada data tersebut, hal mana yang diperbolehkan secara heuristik, tetapi secara teoritis tidak valid.
ttnphns
Tidak ada model probabilitas untuk k-means sehingga tidak ada asumsi normalitas untuk membatalkan. (tidak berarti itu akan bekerja dengan baik)
dugaan
1
@conjectures Hmm ... Tapi k-menas setara dengan GMM, dan GMM menganggap normal.
eddie.xie
@ttnphns Terima kasih atas jawaban Anda! Jadi saya kira jika saya menggunakan TF-IDF untuk mentransfer teks ke dalam skor dan membuatnya terus menerus maka saya bisa mendaftar dan itu valid?
eddie.xie
Tiba-tiba saya menyadari bahwa GMM adalah campuran (jumlah) beberapa gaussians dan seharusnya dapat mengekspresikan distribusi apa pun yang diberikan campuran yang cukup. Jadi, bahkan GMM dan K-means setara tidak berarti K-means tidak dapat menggunakan data tidak normal karena GMM dapat mengekspresikan distribusi apa pun. Apakah itu benar?
eddie.xie

Jawaban:

20

Dalam situasi GMM EM umum, seseorang memang memperhitungkan varians dan kovarian. Ini tidak dilakukan dalam k-means.

Tapi memang, salah satu heuristik populer untuk k-means (catatan: k-means adalah masalah, bukan algoritma) - algoritma Lloyd - pada dasarnya adalah algoritma EM, menggunakan model centroid (tanpa varian) dan tugas yang sulit.

Saat melakukan k-means style clustering (mis. Minimisasi varians), Anda

  • secara kebetulan meminimalkan jarak Euclidean kuadrat, karena WCSS (dalam-cluster jumlah kuadrat) kontribusi varian = kuadrat jarak euclidean
  • secara kebetulan menetapkan objek ke kluster terdekat dengan jarak Euclidean, karena fungsi sqrt adalah monoton (perhatikan bahwa mean tidak mengoptimalkan jarak Euclidean, tetapi fungsi WCSS)
  • mewakili cluster menggunakan centroid saja
  • dapatkan cluster berbentuk sel Voronoi, yaitu poligon
  • ini bekerja paling baik dengan kluster bola

argminSi=1kxjSid=1D(xjdμid)2
S={S1Sk}kDxjdjd

Secara umum dikatakan bahwa k-means mengasumsikan cluster bola. Secara umum juga diakui bahwa k-means cluster adalah sel Voronoi, yaitu tidak berbentuk bola. Keduanya benar, dan keduanya salah. Pertama-tama, kluster bukanlah sel Voronoi yang lengkap, tetapi hanya objek yang diketahui di dalamnya. Tidak perlu mempertimbangkan ruang mati di antara cluster untuk menjadi bagian dari salah satu cluster, karena memiliki objek di sana akan mempengaruhi hasil algoritma. Tetapi tidak jauh lebih baik untuk menyebutnya "bulat", hanya karena jarak euclidean bulat. K-means tidak peduli dengan jarak Euclidean. Semua itu, adalah heuristik untuk meminimalkan varians . Dan itu sebenarnya, apa yang harus Anda pertimbangkan k-artinya: minimalisasi varians.

Anony-Mousse -Reinstate Monica
sumber
Izinkan saya menyarankan Anda untuk sedikit memperbaiki ekspresi Anda - untuk akurasi lebih lanjut. Misalnya, untuk apa minimize squared euclidean distanceatau minimize the variances? Pasti ada kata "jumlah" atau "dikumpulkan" atau semacamnya, karena kita memiliki 2+ cluster, bukan?
ttnphns
BTW, karena k-means meminimalkan jumlah dalam-cluster yang dikumpulkan dari d ^ 2 dibagi dengan jumlah objek di masing-masing cluster, poin Anda coincidentally minimize Euclidean distance, because the sqrt function is monotoneadalah, tepatnya, tidak benar.
ttnphns
Fungsi obyektif yang tepat, di mana Anda dapat membuktikan konvergensi, adalah WCSS, dalam jumlah cluster-kuadrat . Dan memang, itu tidak meminimalkan jarak Euclidean, tetapi jarak terdekat-centroid-oleh-euclidean juga merupakan tugas optimal WCSS.
Anony-Mousse -Reinstate Monica
Sayangnya, kata-kata Anda masih meragukan . Apa kalimat minimize squared Euclidean distance, because WCSS variance contribution = squared euclidean distance berarti ? Apakah Anda mengatakan "kuadrat d antara objek-objek dalam cluster diminimalkan karena WCSS penyimpangan diminimalkan", atau hanya "WCSS penyimpangan diminimalkan, yang - penyimpangan - adalah jarak euclidean secara alami"? Atau apa lagi?
ttnphns
1
Jelas, k-means adalah pilihan yang baik hanya jika Anda menginginkan model centroid dari data Anda. Jika Anda ingin mengoptimalkan jarak berpasangan, gunakan pengelompokan hierarkis.
Anony-Mousse -Reinstate Monica
8

GMM menggunakan tumpang tindih bukit yang membentang hingga tak terbatas (tetapi praktis hanya dihitung untuk 3 sigma). Setiap titik mendapatkan semua nilai probabilitas bukit. Juga, bukit-bukit itu "berbentuk telur" [oke, mereka elips simetris ] dan, dengan menggunakan matriks kovarian penuh, dapat dimiringkan .

K-berarti hard-assign sebuah titik ke satu cluster, sehingga skor dari pusat-pusat cluster lainnya diabaikan (secara implisit diatur ulang ke nol / tidak peduli). Bukit-bukit itu adalah gelembung-gelembung sabun berbentuk bola. Ketika dua gelembung sabun bersentuhan, batas di antara keduanya menjadi bidang datar (hyper-). Seperti halnya ketika Anda mengeluarkan busa dari banyak gelembung sabun, gelembung di bagian dalam tidak datar tetapi berbentuk kotak, sehingga batas antara banyak bola (hyper-) sebenarnya membentuk partisi ruang Voronoi dari ruang tersebut. Dalam 2D, ini cenderung terlihat samar-samar seperti pengepakan heksagonal, pikirkan sarang lebah (walaupun tentu saja sel Voronoi tidak dijamin menjadi heksagon). Bukit K-means bundar dan tidak miring, sehingga memiliki kekuatan representasi yang lebih kecil; tetapi lebih cepat untuk menghitung, terutama di dimensi yang lebih tinggi.

Karena K-means menggunakan metrik jarak Euclidean, maka diasumsikan bahwa dimensi dapat dibandingkan dan memiliki bobot yang sama. Jadi jika dimensi X memiliki satuan mil per jam, bervariasi dari 0 hingga 80, dan dimensi Y memiliki satuan pound, bervariasi dari 0 hingga 400, dan Anda memasang lingkaran di ruang XY ini, maka satu dimensi (dan penyebarannya) akan menjadi lebih kuat daripada dimensi lain dan akan menaungi hasilnya. Inilah sebabnya mengapa biasa untuk menormalkan data saat mengambil K-means.

Baik GMM dan K-means memodelkan data dengan menyesuaikan perkiraan terbaik dengan apa yang diberikan. GMM cocok untuk telur yang dimiringkan, dan K-means cocok untuk bola yang didahului. Tetapi data yang mendasarinya bisa berbentuk seperti apa pun, bisa berupa spiral atau lukisan Picasso, dan masing-masing algoritma masih berjalan, dan mengambil bidikan terbaiknya. Apakah model yang dihasilkan terlihat seperti data aktual tergantung pada proses fisik yang mendasari menghasilkan data. (Misalnya, pengukuran waktu tunda satu sisi; apakah Gaussian cocok? Mungkin.)

Rn

Dengan demikian gambar biner 8x8 Anda akan ditafsirkan sebagai hypercube 64 dimensi di hyperquadrant pertama. Algoritma kemudian menggunakan analogi geometris untuk menemukan kelompok. Jarak, dengan K-means, muncul sebagai jarak Euclidean dalam ruang 64-dimensi. Itu salah satu cara untuk melakukannya.

DragonLord
sumber
Perhatikan bahwa kedua algoritma juga secara implisit menganggap sumbu ruang sama-sama padat di semua titik, sehingga pemasangan data yang bervariasi secara eksponensial, logaritmik, atau secara sinusoidal biasanya mendapat manfaat dari pra-transformasi untuk memetakan kembali data ke dalam domain yang kira-kira-linear bervariasi.
DragonLord