Apa hubungan antara k-means clustering dan PCA?

61

Ini adalah praktik umum untuk menerapkan PCA (analisis komponen utama) sebelum algoritma pengelompokan (seperti k-means). Diyakini bahwa ini meningkatkan hasil pengelompokan dalam praktik (pengurangan kebisingan).

Namun saya tertarik pada studi komparatif dan mendalam tentang hubungan antara PCA dan k-means. Sebagai contoh, Chris Ding dan Xiaofeng He, 2004, K-means Clustering melalui Principal Component Analysis menunjukkan bahwa "komponen utama adalah solusi berkelanjutan untuk indikator keanggotaan cluster diskrit untuk K-means clustering". Namun, saya kesulitan memahami makalah ini, dan Wikipedia sebenarnya mengklaim itu salah .

Juga, hasil dari dua metode agak berbeda dalam arti bahwa PCA membantu mengurangi jumlah "fitur" sambil mempertahankan varians, sedangkan pengelompokan mengurangi jumlah "data-poin" dengan merangkum beberapa poin dengan harapan / cara mereka. (dalam hal k-means). Jadi jika dataset terdiri dari titik dengan masing-masing fitur , PCA bertujuan untuk mengompresi fitur sedangkan pengelompokan bertujuan untuk mengompresi titik dataT T NNTTN

Saya mencari penjelasan orang awam tentang hubungan antara kedua teknik ini + beberapa makalah teknis lainnya yang menghubungkan kedua teknik ini.

mik
sumber
2
Clustering juga dapat dianggap sebagai pengurangan fitur. Di mana Anda mengekspresikan setiap sampel dengan penugasan gugusnya, atau jarang menyandikannya (karena itu kurangi ke ). Kedua pendekatan ini menjaga jumlah titik data konstan, sambil mengurangi dimensi "fitur". kTk
jeff

Jawaban:

73

Memang benar bahwa K-means clustering dan PCA tampaknya memiliki tujuan yang sangat berbeda dan pada pandangan pertama tampaknya tidak terkait. Namun, seperti yang dijelaskan dalam makalah Ding & He 2004 K-means Clustering via Principal Component Analysis , ada hubungan yang mendalam di antara mereka.

Intinya adalah bahwa PCA berusaha untuk mewakili semua vektor data sebagai kombinasi linear dari sejumlah kecil vektor eigen, dan melakukannya untuk meminimalkan kesalahan rekonstruksi mean-squared. Sebaliknya, K-means berusaha untuk mewakili semua data vektor melalui sejumlah kecil cluster centroid, yaitu untuk merepresentasikannya sebagai kombinasi linear dari sejumlah kecil vektor centroid cluster di mana bobot kombinasi linear harus semuanya nol kecuali untuk satu . Ini juga dilakukan untuk meminimalkan kesalahan rekonstruksi mean-squared.n 1nn1

Jadi K-means dapat dilihat sebagai PCA super-jarang.

Apa kertas Ding & He lakukan, itu untuk membuat koneksi ini lebih tepat.


Sayangnya, kertas Ding & He mengandung beberapa formulasi yang ceroboh (paling-paling) dan dapat dengan mudah disalahpahami. Misalnya, sepertinya Ding & He mengklaim telah membuktikan bahwa kluster centroid dari solusi klaster K-means terletak pada subruang PCA -dimensi:(K1)

Teorema 3.3. Subruang pusat massa kluster direntang oleh petunjuk utama pertama [...].K1

Untuk ini akan menyiratkan bahwa proyeksi pada sumbu PC1 akan selalu negatif untuk satu cluster dan positif untuk cluster lain, yaitu sumbu PC2 akan memisahkan cluster dengan sempurna.K=2

Ini bisa merupakan kesalahan atau tulisan yang ceroboh; dalam kasus apa pun, secara harfiah, klaim khusus ini salah.

Mari kita mulai dengan melihat beberapa contoh mainan dalam 2D ​​untuk . Saya menghasilkan beberapa sampel dari dua distribusi normal dengan matriks kovarians yang sama tetapi beragam cara. Saya kemudian menjalankan K-means dan PCA. Gambar berikut ini menunjukkan plot pencar data di atas, dan data yang sama diwarnai sesuai dengan solusi K-means di bawah ini. Saya juga menunjukkan arah utama pertama sebagai garis hitam dan centroid kelas yang ditemukan oleh K-means dengan salib hitam. Sumbu PC2 ditunjukkan dengan garis hitam putus-putus. K-means diulang kali dengan biji acak untuk memastikan konvergensi ke optimal global.100K=2100

PCA vs K-means

Orang dapat dengan jelas melihat bahwa meskipun centroid kelas cenderung cukup dekat dengan arah PC pertama, mereka tidak jatuh tepat di atasnya. Selain itu, meskipun sumbu PC2 memisahkan cluster dengan sempurna di subplot 1 dan 4, ada beberapa titik di sisi yang salah dalam subplot 2 dan 3.

Jadi perjanjian antara K-means dan PCA cukup baik, tetapi tidak tepat.

Jadi apa yang Ding & Dia buktikan? Untuk kesederhanaan, saya hanya akan mempertimbangkan kasus. Biarkan jumlah poin yang ditetapkan untuk masing-masing cluster menjadi dan dan jumlah total poin . Mengikuti Ding & He, mari kita tentukan vektor indikator cluster sebagai berikut: jika poin ke- milik cluster 1 dan jika itu milik cluster 2. Vektor indikator cluster memiliki panjang unit dan "terpusat", yaitu elemen-elemennya dijumlahkan ke nol .n 1 n 2 n = n 1 + n 2 qR n q i = K=2n1n2n=n1+n2 qRn iqi=-qi=n2/nn1iqi=n1/nn2q=1qi=0

Ding & He menunjukkan bahwa fungsi kehilangan K-means (algoritma K-means diminimalkan) dapat secara setara ditulis ulang sebagai , di mana adalah matriks Gram produk skalar di antara semua poin: , di mana adalah matriks data dan adalah matriks data terpusat.ki(xiμk)2qGqGn×nG=XcXcXn×2Xc

(Catatan: Saya menggunakan notasi dan terminologi yang sedikit berbeda dari makalah mereka tetapi saya merasa lebih jelas).

Jadi solusi K-means adalah vektor satuan terpusat yang memaksimalkan . Sangat mudah untuk menunjukkan bahwa komponen utama pertama (ketika dinormalisasi untuk memiliki satuan jumlah kuadrat) adalah vektor eigen terkemuka dari matriks Gram, yaitu juga merupakan vektor satuan terpusat memaksimalkan . Satu-satunya perbedaan adalah bahwa juga dibatasi hanya memiliki dua nilai yang berbeda sedangkan tidak memiliki batasan ini.qqGqppGpqp

Dengan kata lain, K-means dan PCA memaksimalkan fungsi tujuan yang sama , dengan satu-satunya perbedaan adalah bahwa K-means memiliki kendala "kategorikal" tambahan.

Cukup beralasan bahwa sebagian besar solusi K-means (constrained) dan PCA (unconstrained) akan cukup dekat satu sama lain, seperti yang kita lihat di atas dalam simulasi, tetapi kita seharusnya tidak mengharapkannya identik. Mengambil dan mengatur semua elemen negatifnya menjadi sama dengan dan semua elemen positifnya ke umumnya tidak akan memberikan secara tepat .pn1/nn2n2/nn1q

Ding & He tampaknya memahami ini dengan baik karena mereka merumuskan teorema mereka sebagai berikut:

Teorema 2.2. Untuk pengelompokan K-means di mana , solusi kontinu dari vektor indikator klaster adalah komponen utama [pertama]K=2

Perhatikan bahwa kata-kata "solusi berkelanjutan". Setelah membuktikan teorema ini, mereka juga berkomentar bahwa PCA dapat digunakan untuk menginisialisasi iterasi K-means yang masuk akal karena kita berharap dekat dengan . Tetapi orang masih perlu melakukan iterasi, karena mereka tidak identik.qp

Namun, Ding & He kemudian mengembangkan pengobatan yang lebih umum untuk dan akhirnya merumuskan Teorema 3.3 sebagaiK>2

Teorema 3.3. Subruang pusat massa kluster direntang oleh petunjuk utama pertama [...].K1

Saya tidak membaca matematika dari Bagian 3, tetapi saya percaya bahwa teorema ini sebenarnya juga merujuk pada "solusi kontinu" dari K-means, yaitu pernyataannya harus membaca "cluster centroid space dari solusi kontinu dari K-means adalah membentang [...] ".

Namun Ding & He, tidak membuat kualifikasi penting ini, dan terlebih lagi menulis dalam abstrak mereka itu

Di sini kami membuktikan bahwa komponen utama adalah solusi berkelanjutan untuk indikator keanggotaan klaster diskrit untuk klaster K-means. Secara ekuivalen, kami menunjukkan bahwa subruang yang direntang oleh cluster centroid diberikan oleh ekspansi spektral dari matriks kovarians data yang terpotong pada istilah .K1

Kalimat pertama benar-benar benar, tetapi yang kedua tidak. Tidak jelas bagi saya apakah ini tulisan yang sangat ceroboh atau kesalahan asli. Saya telah dengan sangat sopan mengirim email kepada kedua penulis yang meminta klarifikasi. (Pembaruan dua bulan kemudian: Saya belum pernah mendengar kabar dari mereka.)


Kode simulasi Matlab

figure('Position', [100 100 1200 600])

n = 50;
Sigma = [2 1.8; 1.8 2];

for i=1:4
    means = [0 0; i*2 0];

    rng(42)
    X = [bsxfun(@plus, means(1,:), randn(n,2) * chol(Sigma)); ...
         bsxfun(@plus, means(2,:), randn(n,2) * chol(Sigma))];
    X = bsxfun(@minus, X, mean(X));
    [U,S,V] = svd(X,0);
    [ind, centroids] = kmeans(X,2, 'Replicates', 100);

    subplot(2,4,i)
    scatter(X(:,1), X(:,2), [], [0 0 0])

    subplot(2,4,i+4)
    hold on
    scatter(X(ind==1,1), X(ind==1,2), [], [1 0 0])
    scatter(X(ind==2,1), X(ind==2,2), [], [0 0 1])
    plot([-1 1]*10*V(1,1), [-1 1]*10*V(2,1), 'k', 'LineWidth', 2)
    plot(centroids(1,1), centroids(1,2), 'w+', 'MarkerSize', 15, 'LineWidth', 4)
    plot(centroids(1,1), centroids(1,2), 'k+', 'MarkerSize', 10, 'LineWidth', 2)
    plot(centroids(2,1), centroids(2,2), 'w+', 'MarkerSize', 15, 'LineWidth', 4)
    plot(centroids(2,1), centroids(2,2), 'k+', 'MarkerSize', 10, 'LineWidth', 2)

    plot([-1 1]*5*V(1,2), [-1 1]*5*V(2,2), 'k--')
end

for i=1:8
    subplot(2,4,i)
    axis([-8 8 -8 8])
    axis square
    set(gca,'xtick',[],'ytick',[])
end    
amuba kata Reinstate Monica
sumber
2
Saya baru saja melirik ke dalam kertas Ding & He. Dalam teorema 2.2 mereka menyatakan bahwa jika Anda melakukan k-means (dengan k = 2) dari beberapa cloud data p-dimensional dan juga melakukan PCA (berdasarkan covariances) dari data, maka semua titik yang dimiliki oleh cluster A akan negatif dan semua poin milik kluster B akan positif, pada skor PC1. Pernyataan menarik, - itu harus diuji dalam simulasi. Masalahnya, bagaimanapun, adalah mengasumsikan solusi K-means yang optimal secara global, saya pikir; tetapi bagaimana kita tahu jika pengelompokan yang dicapai optimal?
ttnphns
1
@ttnphns, saya telah memperbarui simulasi dan angka untuk menguji klaim ini secara lebih eksplisit. Jika proyeksi pada PC1 harus positif dan negatif untuk kelas A dan B, itu berarti bahwa sumbu PC2 harus berfungsi sebagai batas di antara mereka. Ini sangat dekat dengan kasus dalam simulasi mainan 4 saya, tetapi dalam contoh 2 dan 3 ada beberapa poin di sisi yang salah dari PC2. Mengenai konvergensi, saya menjalankan kmeansfungsi dengan 100 replikasi: ia memilih inisialisasi acak yang berbeda setiap kali dan kemudian memilih solusi terbaik, sehingga diharapkan dapat memastikan bahwa optimum global tercapai.
Amoeba berkata Reinstate Monica
1
@ttnphns: Saya pikir saya sudah tahu apa yang sedang terjadi, silakan lihat pembaruan saya.
Amoeba berkata Reinstate Monica
amoeba, terima kasih telah mencerna artikel yang sedang dibahas kepada kami semua dan telah memberikan kesimpulan Anda (+2); dan untuk memberi tahu saya secara pribadi! Saya akan kembali mudah-mudahan dalam beberapa hari untuk membaca dan menyelidiki jawaban Anda. Tapi sekarang sudah menghargainya.
ttnphns
Pos luar biasa. Apakah ada alasan mengapa Anda menggunakan Matlab dan bukan R? Hanya ingin tahu karena saya mengambil kursus ML Coursera dan Andrew Ng juga menggunakan Matlab, bukan R atau Python. Apakah ini pilihan ML umum?
Antoni Parellada
10

PCA dan K-means melakukan hal yang berbeda.

PCA digunakan untuk pengurangan dimensi / pemilihan fitur / pembelajaran representasi misalnya ketika ruang fitur mengandung terlalu banyak fitur yang tidak relevan atau berlebihan. Tujuannya adalah untuk menemukan dimensi intrinsik data.

Berikut adalah contoh dua dimensi yang dapat digeneralisasi ke ruang dimensi yang lebih tinggi. Dataset memiliki dua fitur, dan , setiap lingkaran adalah titik data.xy

masukkan deskripsi gambar di sini

Pada gambar memiliki besaran lebih besar dari . Ini adalah vektor Eigen. Dimensi data dikurangi dari dua dimensi menjadi satu dimensi (tidak banyak pilihan dalam kasus ini) dan ini dilakukan dengan memproyeksikan arah vektor (setelah rotasi di mana menjadi sejajar atau tegak lurus terhadap salah satu sumbu) . Ini karena ortogonal dengan arah varian terbesar. Salah satu cara untuk memikirkannya, adalah kehilangan minimal informasi. (Masih ada kerugian karena satu sumbu koordinat hilang).v1v2v2v2v2

K-means adalah algoritma pengelompokan yang mengembalikan pengelompokan alami dari titik data, berdasarkan kesamaan mereka. Ini adalah kasus khusus dari Model Campuran Gaussian .

Pada gambar di bawah ini dataset memiliki tiga dimensi. Dapat dilihat dari plot 3D di sebelah kiri bahwa dimensi dapat 'dijatuhkan' tanpa kehilangan banyak informasi. PCA digunakan untuk memproyeksikan data ke dua dimensi. Pada gambar di sebelah kiri, bidang proyeksi juga ditampilkan. Kemudian, K-means dapat digunakan pada data yang diproyeksikan untuk memberi label pada kelompok yang berbeda, pada gambar di sebelah kanan, diberi kode dengan warna yang berbeda.X

masukkan deskripsi gambar di sini

PCA atau teknik pengurangan dimensi lainnya digunakan sebelum metode yang tidak diawasi atau diawasi dalam pembelajaran mesin. Selain alasan yang diuraikan oleh Anda dan yang saya sebutkan di atas, ini juga digunakan untuk tujuan visualisasi (proyeksi ke 2D atau 3D dari dimensi yang lebih tinggi).

Mengenai artikel ini, saya tidak percaya ada koneksi apa pun, PCA tidak memiliki informasi mengenai pengelompokan data secara alami dan beroperasi pada seluruh data, bukan subset (grup). Jika beberapa kelompok dapat dijelaskan oleh satu vektor eigen (hanya karena gugus tertentu tersebar di sepanjang arah itu) hanya kebetulan dan tidak boleh dianggap sebagai aturan umum.

"PCA bertujuan untuk mengompresi fitur T sedangkan pengelompokan bertujuan untuk mengompresi titik data N."

Memang, kompresi adalah cara intuitif untuk berpikir tentang PCA. Namun, dalam K-means, untuk menggambarkan setiap titik relatif terhadap Anda masih memerlukan setidaknya jumlah informasi yang sama (misalnya dimensi) , di mana adalah jarak dan disimpan bukannya . Dan Anda juga perlu menyimpan untuk mengetahui apa yang terkait dengan delta. Anda tentu saja dapat menyimpan dan namun Anda tidak akan dapat mengambil informasi aktual dalam data.xi=d(μi,δi)dδixiμidi

Clustering benar-benar menambah informasi. Saya menganggapnya sebagai membagi data menjadi kelompok alami (yang tidak harus dipisahkan) tanpa mengetahui apa arti label untuk setiap kelompok (well, sampai Anda melihat data dalam kelompok).

shuriken x blue
sumber
3
Cara PC Anda diberi label dalam plot tampaknya tidak konsisten dengan diskusi yang sesuai dalam teks. Perhatikan bahwa, meskipun PCA biasanya diterapkan pada kolom, & k-means untuk baris, keduanya dapat diterapkan pada keduanya. Saya belum membaca koran, tapi saya yakin itulah yang mereka bicarakan.
gung - Reinstate Monica
Maaf, saya maksudkan gambar paling atas: yaitu., Label v1 & v2 untuk PC.
gung - Reinstate Monica
Poin bagus, mungkin berguna (tidak tahu untuk apa) untuk mengompres grup titik data. Temukan grup menggunakan k-means, kompres catatan menjadi lebih sedikit menggunakan pca. Adapun pengelompokan fitur, yang mungkin sebenarnya berguna.
shuriken x blue
2
Jadi, apakah Anda pada dasarnya mengatakan bahwa kertas itu salah? Secara eksplisit menyatakan (lihat kalimat ke-3 dan ke-4 dalam abstrak) dan mengklaim telah membuktikan secara matematis bahwa ada koneksi tertentu, sedangkan Anda mengatakan bahwa tidak ada koneksi.
Amoeba berkata Reinstate Monica
Apa yang saya dapatkan dari itu: PCA meningkatkan solusi pengelompokan K-means. Sambungan adalah bahwa struktur cluster tertanam dalam komponen utama K - 1 pertama. Ini adalah kontribusi.
shuriken x blue
7

Adalah umum untuk memutihkan data sebelum menggunakan k-means. Alasannya adalah bahwa k-means sangat sensitif terhadap skala, dan ketika Anda memiliki atribut campuran, tidak ada skala "benar" lagi. Maka Anda harus menormalkan, menstandarkan, atau memutihkan data Anda. Tidak ada yang sempurna, tetapi pemutihan akan menghilangkan korelasi global yang terkadang dapat memberikan hasil yang lebih baik. PCA / whitening adalah karena Anda beroperasi pada matriks kovarians.O(nd2+d3)

Menurut pemahaman saya, hubungan k-means dengan PCA bukan pada data asli . Ini adalah untuk menggunakan PCA pada matriks jarak (yang memiliki entri, dan melakukan PCA penuh dengan demikian adalah - yaitu mahal, khususnya dibandingkan dengan k-means yang merupakan mana adalah satu-satunya istilah besar), dan mungkin hanya untuk . K-means adalah masalah optimisasi kuadrat-terkecil, demikian juga PCA. k-means mencoba menemukan partisi kuadrat-terkecil dari data. PCA menemukan vektor keanggotaan cluster kuadrat-terkecil.n2O(n2d+n3)O(knid)nk=2

Vektor Eigen pertama memiliki varian terbesar, oleh karena itu pemisahan pada vektor ini (yang menyerupai keanggotaan cluster, bukan input data koordinat!) Berarti memaksimalkan antara varian cluster . Dengan memaksimalkan antar varian klaster, Anda juga meminimalkan varians dalam-kluster.

Tetapi untuk masalah nyata, ini tidak berguna. Ini hanya kepentingan teoretis.

Anony-Mousse
sumber
2
Akan sangat bagus untuk melihat penjelasan / tinjauan umum yang lebih spesifik dari kertas Ding & He (yang terkait dengan OP). Saya sendiri belum terbiasa dengan hal itu, tetapi saya sudah melihatnya menyebutkan cukup banyak untuk cukup penasaran.
Amoeba berkata Reinstate Monica
3
Maksudmu ini ? Ya, saya juga sudah menemukannya; Saya pikir itu hanya menambah kebingungan saya. Saya berharap bahwa ini akan menjadi utas yang dapat mengklarifikasi untuk saya ... Sekarang saya berpikir tentang hal itu, mungkin saya harus memberi hadiah padanya. Saya pikir saya tidak akan punya waktu di hari-hari berikutnya untuk mempelajari topik ini sendiri.
Amuba kata Reinstate Monica
3
Paragraf wiki ini sangat aneh. Dikatakan bahwa Ding & He (2001/2004) salah dan bukan hasil baru! Untuk menunjukkan bahwa itu bukan hal baru, ia mengutip makalah tahun 2004 (?!). Untuk menunjukkan bahwa itu salah, ia mengutip makalah 2014 yang lebih baru yang bahkan tidak mengutip Ding & He. Mencurigakan.
Amoeba berkata Reinstate Monica
3
Mungkin mengutip spam lagi. Wikipedia penuh dengan promosi diri.
Anony-Mousse
1
Saya pikir saya sudah tahu apa yang terjadi di Ding & He, tolong lihat jawaban saya. Terlepas dari itu, argumen Anda tentang kompleksitas algoritme tidak sepenuhnya benar, karena Anda membandingkan dekomposisi vektor eigen penuh dari matriks dengan mengekstraksi hanya K-berarti "komponen". Itu bukan perbandingan yang adil. Jika Anda menggunakan beberapa algoritma iteratif untuk PCA dan hanya mengekstrak komponen , maka saya berharap itu berfungsi secepat K-means. Jadi saya tidak yakin benar mengatakan bahwa itu tidak berguna untuk masalah nyata dan hanya untuk kepentingan teoretis. n×nkk
Amoeba berkata Reinstate Monica
4

Memecahkan k-means pada pendekatan tingkat rendah O (k / epsilon) -nya (yaitu, memproyeksikan pada rentang vektor tunggal terbesar pertama seperti dalam PCA) akan menghasilkan perkiraan (1 + epsilon) dalam hal kesalahan multiplikasi.

Khususnya, Memproyeksikan pada vektor k-terbesar akan menghasilkan 2-aproksimasi.

Faktanya, jumlah jarak kuadrat untuk SETIAP pusat k dapat diperkirakan dengan proyeksi ini. Kemudian kita dapat menghitung coreset pada data tereduksi untuk mengurangi input ke titik poli (k / eps) yang mendekati jumlah ini.

Lihat: Dan Feldman, Melanie Schmidt, Christian Sohler: Mengubah data besar menjadi data kecil: Core ukuran konstan untuk k-means, PCA, dan pengelompokan projektif. SODA 2013: 1434-1453

Dan Feldman
sumber
3

Hubungan intuitif PCA dan KMeans

  1. Analisis dimensi PCA secara teoritis (penahan dimensi K pertama mengatakan 90% varians ... tidak perlu memiliki hubungan langsung dengan kluster K Means), namun nilai penggunaan PCA berasal dari a) pertimbangan praktis mengingat sifat benda yang kami menganalisis cenderung secara alami mengelompok sekitar / berevolusi dari (segmen tertentu) komponen utama mereka (usia, jenis kelamin ..) b) PCA menghilangkan dimensi varians rendah (kebisingan), sehingga itu sendiri menambah nilai (dan membentuk rasa yang mirip dengan pengelompokan) ) dengan berfokus pada dimensi kunci tersebut. Secara sederhana, ini seperti sumbu XY yang membantu kita menguasai konsep matematika abstrak tetapi dengan cara yang lebih maju.

  2. Berarti K mencoba meminimalkan jarak keseluruhan dalam sebuah cluster untuk K yang diberikan

  3. Untuk satu set objek dengan parameter dimensi N, secara default objek serupa Akan memiliki parameter PALING "mirip" kecuali beberapa perbedaan utama (misalnya sekelompok siswa IT muda, penari muda, manusia ... akan memiliki beberapa fitur yang sangat mirip (varian rendah) tetapi beberapa fitur utama masih cukup beragam dan menangkap "komponen utama utama" tersebut pada dasarnya menangkap mayoritas varian, misalnya warna, area tempat tinggal .... Oleh karena itu, distorsi rendah jika kita mengabaikan fitur-fitur perbedaan kecil, atau konversi ke PC yang lebih rendah tidak akan kehilangan banyak informasi
  4. Dengan demikian "sangat mungkin" dan "sangat alami" bahwa pengelompokan bersama untuk melihat perbedaan (variasi) masuk akal untuk evaluasi data (misalnya jika Anda membuat 1.000 survei dalam seminggu di jalan utama, mengelompokkannya berdasarkan etnis , usia, atau latar belakang pendidikan sebagaimana PC masuk akal) Di bawah misi K Means ', kami mencoba untuk menetapkan jumlah K yang wajar sehingga elemen-elemen kelompok tersebut (dalam sebuah cluster) akan memiliki keseluruhan jarak terkecil (diminimalkan) antara Centroid dan sementara biaya untuk membangun dan menjalankan cluster K adalah optimal (setiap anggota sebagai sebuah cluster tidak masuk akal karena terlalu mahal untuk mempertahankan dan tidak ada nilai)
  5. Pengelompokan K Berarti dapat dengan mudah “diperiksa secara visual” agar menjadi optimal, jika K tersebut berada di sepanjang Komponen Utama (mis. Jika bagi orang-orang di usia yang berbeda, kelompok etnis / regi, mereka cenderung untuk menyatakan pendapat yang serupa sehingga jika Anda mengelompokkan survei-survei tersebut berdasarkan PC-PC itu, maka yang mencapai tujuan miniisasi (ref. 1) Juga PC-PC itu (etnis, usia, agama ..) cukup sering bersifat ortogonal, maka secara visual berbeda dengan melihat PCA
  6. Namun deduksi intuitif ini mengarah pada kondisi yang cukup tetapi tidak diperlukan. (Ref 2: Namun, PCA adalah relaksasi yang berguna dari pengelompokan k-means bukanlah hasil baru (lihat, misalnya, [35]), dan mudah untuk mengungkap contoh-contoh berlawanan dengan pernyataan bahwa subruang pusat massa kluster direntang atas petunjuk utama. [36])

Memilih kelompok berdasarkan / di sepanjang CP dapat dengan nyaman mengarah pada mekanisme alokasi yang nyaman

Yang ini bisa menjadi contoh jika x adalah PC pertama sepanjang sumbu X: (........... CC1 ............... CC2 ..... ....... sumbu X CC3) di mana sumbu X mengatakan menangkap lebih dari 9X% dari varians dan katakan adalah satu-satunya PC

6. Akhirnya PCA juga digunakan untuk memvisualisasikan setelah K Berarti dilakukan (Ref 4)

Jika PCA menampilkan * hasil pengelompokan K kami menjadi ortogonal atau dekat, maka itu adalah tanda bahwa pengelompokan kami adalah suara, yang masing-masing menunjukkan karakteristik unik

(* karena menurut definisi PCA mencari / menampilkan dimensi utama tersebut (1D ke 3D) sedemikian rupa sehingga mengatakan K (PCA) akan menangkap mungkin lebih dari sebagian besar varian.

Jadi PCA berguna dalam memvisualisasikan dan mengkonfirmasi pengelompokan yang baik, serta elemen yang secara intrinsik berguna dalam menentukan pengelompokan K Berarti - yang akan digunakan sebelum setelah K Berarti.

Referensi:

  1. https://msdn.microsoft.com/en-us/library/azure/dn905944.aspx
  2. https://en.wikipedia.org/wiki/Principal_component_analysis
  3. CLUSTERING MENGGUNAKAN ANALISIS KOMPONEN UTAMA: APLIKASI ORANG TUA-DISABILIT AUTONOMY (Combes & Azema)
  4. http://cs229.stanford.edu/notes/cs229-notes10.pdf Andrew Ng
r poon
sumber