Pertanyaannya adalah:
Apa perbedaan antara k-means klasik dan k-means bola?
K-means Klasik:
Dalam k-means klasik, kami berusaha untuk meminimalkan jarak Euclidean antara pusat cluster dan anggota cluster. Intuisi di balik ini adalah bahwa jarak radial dari pusat-cluster ke lokasi elemen harus "memiliki kesamaan" atau "sama" untuk semua elemen dari cluster itu.
Algoritme adalah:
- Setel jumlah cluster (alias jumlah cluster)
- Inisialisasi dengan menetapkan secara acak titik-titik di ruang untuk indeks cluster
- Ulangi sampai bertemu
- Untuk setiap titik, temukan cluster terdekat dan tetapkan point ke cluster
- Untuk setiap cluster, temukan rata-rata poin anggota dan rata-rata pusat pembaruan
- Kesalahan adalah norma jarak cluster
K-means bola:
Dalam k-means bola, idenya adalah untuk mengatur pusat masing-masing klaster sehingga membuat seragam dan meminimalkan sudut antara komponen. Intuisi seperti melihat bintang - titik-titik harus memiliki jarak yang konsisten antara satu sama lain. Jarak itu lebih mudah untuk dikuantifikasi sebagai "cosine similarity", tetapi itu berarti tidak ada galaksi "milky-way" yang membentuk petak-petak besar yang terang melintasi langit data. (Ya, saya mencoba berbicara dengan nenek di bagian deskripsi ini.)
Versi lebih teknis:
Pikirkan tentang vektor, hal-hal yang Anda gambarkan sebagai panah dengan orientasi, dan panjang tetap. Itu dapat diterjemahkan di mana saja dan menjadi vektor yang sama. ref
Orientasi titik dalam ruang (sudutnya dari garis referensi) dapat dihitung dengan menggunakan aljabar linier, terutama produk titik.
Jika kita memindahkan semua data sehingga ekornya berada pada titik yang sama, kita dapat membandingkan "vektor" dengan sudutnya, dan mengelompokkan yang serupa ke dalam satu cluster.
Untuk kejelasan, panjang vektor diskalakan, sehingga lebih mudah "dibandingkan".
Anda bisa menganggapnya sebagai rasi bintang. Bintang-bintang dalam satu cluster dekat satu sama lain dalam beberapa hal. Ini adalah bola mata saya yang dianggap rasi bintang.
Nilai dari pendekatan umum adalah bahwa hal itu memungkinkan kita untuk merancang vektor yang dinyatakan tidak memiliki dimensi geometris, seperti dalam metode tf-idf, di mana vektor adalah frekuensi kata dalam dokumen. Dua "dan" kata yang ditambahkan tidak sama dengan "the". Kata-kata itu tidak kontinu dan non-numerik. Mereka non-fisik dalam arti geometris, tetapi kita dapat membuatnya secara geometris, dan kemudian menggunakan metode geometris untuk menanganinya. Spherical k-means dapat digunakan untuk mengelompokkan berdasarkan kata-kata.
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢x10−0.80.20.8−0.70.9y1−0.80.10.30.10.20.9x2−0.2013−0.95240.20610.4787−0.72760.748y2−0.73160.3639−0.14340.1530.38250.6793groupBACBAC⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
Beberapa poin:
- Mereka memproyeksikan ke unit sphere untuk menjelaskan perbedaan panjang dokumen.
Mari kita bekerja melalui proses yang sebenarnya, dan lihat bagaimana (buruk) "eyeballing" saya.
Prosedurnya adalah:
- (Tersirat dalam masalah) menghubungkan ekor vektor pada asal
- memproyeksikan ke unit sphere (untuk memperhitungkan perbedaan panjang dokumen)
- gunakan pengelompokan untuk meminimalkan " ketidakseimbangan kosinus "
J=∑id(xi,pc(i))
d(x,p)=1−cos(x,p)=⟨x,p⟩∥x∥∥p∥
(suntingan lainnya segera hadir)
Tautan:
- http://epub.wu.ac.at/4000/1/paper.pdf
- http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.8125&rep=rep1&type=pdf
- http://www.cs.gsu.edu/~wkim/index_files/papers/refinehd.pdf
- https://www.jstatsoft.org/article/view/v050i10
- http://www.mathworks.com/matlabcentral/fileexchange/32987-the-spherical-k-means-algorithm
- https://ocw.mit.edu/courses/sloan-school-of-management/15-097-prediksi-machine-learning-and-statistics-spring-2012/projects/MIT15_097S12_proj1.pdf