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)
Jawaban yang benar adalah D. Bisakah Anda menjelaskan mengapa?
sumber
Jawaban:
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
x
dan 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).
sumber
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
sumber
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.
sumber
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.
sumber