Clusterings yang bisa disebabkan oleh K-means


8

Saya mendapatkan pertanyaan berikut sebagai pertanyaan ujian untuk ujian saya dan saya tidak bisa memahami jawabannya.

Plot sebar data yang diproyeksikan ke dua komponen utama pertama ditunjukkan di bawah ini. Kami ingin memeriksa apakah ada beberapa struktur grup dalam kumpulan data. Untuk melakukan ini, kami telah menjalankan algoritma k-means dengan k = 2 menggunakan ukuran jarak Euclidean. Hasil dari algoritma k-means dapat bervariasi antar proses tergantung pada kondisi awal acak. Kami menjalankan algoritme beberapa kali dan mendapatkan beberapa hasil pengelompokan yang berbeda.

Hanya tiga dari empat pengelompokan yang ditampilkan dapat diperoleh dengan menjalankan algoritma k-means pada data. Mana yang tidak bisa diperoleh dengan k-means? (tidak ada yang istimewa tentang data)

4 kemungkinan pengelompokan data

Jawaban yang benar adalah D. Bisakah Anda menjelaskan mengapa?


2
Akan lebih baik untuk mengetahui bagaimana guru atau Profesor Anda menjelaskan hal ini
Andy Clifton

3
Ini adalah jawaban yang diberikan oleh profesor saya: Algoritma k-means berlanjut sampai konvergensi dengan menghitung rata-rata setiap cluster dan menugaskan objek data ke cluster terdekat. Jika pengelompokan dalam D adalah solusi, berarti dua klaster akan menjadi sekitar -1,8 dan 0 pada poros PC2, yang akan memaksa objek data antara -0,9 dan -1,8 pada poros PC2 untuk dikelompokkan ke dalam kluster pertama di iterasi berikutnya dari algoritma k-means. Dengan demikian, D tidak bisa menjadi solusi.
pir

Jawaban:


7

Untuk menambahkan sedikit daging pada jawaban Peter Flom, k-means mengelompokkan mencari k grup dalam data. Metode ini mengasumsikan bahwa Setiap cluster memiliki centroid pada suatu tertentu (x,y). Algoritma k-means meminimalkan jarak setiap titik ke centroid (ini bisa berupa jarak euclidian atau manhattan tergantung pada data Anda).

Untuk mengidentifikasi cluster, tebakan awal dibuat dari titik data mana yang termasuk dalam cluster mana, dan centroid dihitung untuk setiap cluster. Metrik jarak kemudian dihitung, dan kemudian beberapa titik ditukar antara kluster untuk melihat apakah kecocokan membaik. Ada banyak variasi pada perinciannya, tetapi pada dasarnya k-means adalah solusi brute force yang bergantung pada kondisi awal, karena ada minimum lokal untuk solusi pengelompokan.

Jadi, dalam kasus Anda, sepertinya kasus A memiliki kondisi awal yang dipisahkan secara luas xdan kluster diselesaikan karena jarak dari centroid ke data kecil, dan ini merupakan solusi yang stabil. Sebaliknya, Anda tidak dapat memperoleh D karena titik merah tunggal itu lebih dekat ke pusat massa titik biru daripada banyak titik lainnya, sehingga titik merah seharusnya menjadi bagian dari rangkaian biru.

Oleh karena itu satu-satunya cara Anda bisa mendapatkan D adalah jika Anda mengganggu proses pengelompokan sebelum selesai (atau kode yang membuat cluster rusak).


2
Baik jawaban dari Peter Flom dan Andy Clifton menjelaskan kepada saya mengapa seseorang tidak dapat memperoleh D dari pengelompokan di pos asli. Namun, saya pikir jawaban ini adalah yang paling menyeluruh, yang dapat lebih mudah membuat orang lain memahaminya. Terima kasih untuk bantuannya!
pir

5

Karena titik yang dilingkari dalam D tidak jauh dari titik-titik lain dalam dimensi PC1, dimensi PC2 atau jarak Euclidean menggabungkannya.

Di A, titik tunggal jauh dari yang lain di PC1

Di B dan C ada dua kelompok besar yang mudah dipisahkan. Memang, B dan C adalah pengelompokan yang sama (kecuali saya kehilangan satu titik) mereka hanya berbeda dalam hal label


4
Ya, dan saya akan mengatakan bahwa tidak mungkin bahwa analisis klaster mana pun - bukan hanya K-means - akan memberikan solusi D (kecuali jika mungkin ketika tidak disetel dengan benar).
ttnphns

3

Karena D berisi satu titik saja, pusatnya persis pada titik ini.

Untuk sisa data, pusat harus mendekati 0,0 dalam proyeksi ini.

Paling tidak salah satu titik biru jauh lebih dekat ke pusat merah daripada biru di dua komponen utama pertama. Hasilnya tampaknya tidak diproduksi oleh sel Voronoi.


1

Ini bukan jawaban langsung untuk pertanyaan Anda, tetapi saya tidak mengerti bagaimana pengaturan guru Anda menyarankan, yaitu pertama menerapkan PCA kemudian mencari cluster, masuk akal:

Jika dataset memiliki struktur berkerumun, pengurangan dimensi yang diperoleh melalui PCA tidak dijamin untuk menghormati struktur ini sama sekali. Dalam gambar Anda, PC1 dan PC2 hanya akan memberi Anda variabel (atau kombinasi variabel linear) yang menangkap variasi paling banyak dalam data.

Dengan kata lain: jika Anda berhipotesis sejak awal bahwa dataset berisi kluster, fitur yang paling penting jelas adalah yang membedakan klaster, yang, secara umum tidak bertepatan dengan arah variasi besar dalam keseluruhan dataset.

Dalam skenario seperti itu apa yang lebih masuk akal adalah untuk klaster pertama (tanpa pengurangan dimensi) dan kemudian melakukan LDA atau XCA , atau sesuatu yang serupa yang menjaga informasi diskriminatif kelas / kluster.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.