Tampaknya untuk K-means dan algoritma terkait lainnya, pengelompokan didasarkan pada penghitungan jarak antara titik. Apakah ada yang berfungsi tanpanya?
machine-learning
clustering
data-mining
k-means
pengguna154510
sumber
sumber
Jawaban:
Salah satu contoh dari metode tersebut adalah Model Campuran Hingga (misalnya di sini atau di sini ) yang digunakan untuk pengelompokan. Dalam FMM Anda mempertimbangkan distribusi ( ) dari variabel Anda X sebagai campuran K distribusi ( f 1 , . . . , F k ):f X K f1,...,fk
di mana adalah vektor parameter θ = ( π ' , θ ' 1 , . . . , θ ' k ) ' dan π k adalah proporsi k 'th distribusi dalam campuran dan θ k adalah parameter (atau parameter) dari f k distribusi.ϑ ϑ=(π′,ϑ′1,...,ϑ′k)′ πk k ϑk fk
Kasus khusus untuk data diskrit adalah Analisis Kelas Laten (misalnya di sini ) didefinisikan sebagai:
di mana adalah probabilitas mengamati kelas laten k (yaitu π k ), P ( x ) adalah probabilitas mengamati nilai x dan P ( x | k ) adalah probabilitas x berada di kelas k .P(k) k πk P(x) x P(x|k) x k
Biasanya untuk kedua algoritma FMM dan LCA EM digunakan untuk estimasi, tetapi pendekatan Bayesian juga mungkin, tetapi sedikit lebih menuntut karena masalah seperti identifikasi model dan penggantian label (misalnya blog Xi'an ).
Jadi tidak ada ukuran jarak melainkan model statistik yang mendefinisikan struktur (distribusi) data Anda. Karena itu nama lain dari metode ini adalah "model-based clustering".
Periksa dua buku di FMM:
Salah satu yang paling paket pengelompokan populer yang menggunakan FMM adalah
mclust
(cek di sini atau di sini ) yang diimplementasikan dalam R . Namun, FMM yang lebih rumit juga dimungkinkan, periksa contohflexmix
paket dan dokumentasinya . Untuk LCA ada paket R poLCA .sumber
Ada banyak pendekatan pengelompokan berbasis grid . Mereka tidak menghitung jarak karena itu sering menghasilkan runtime kuadratik. Sebagai gantinya, mereka mempartisi data dan menggabungkannya ke dalam sel kotak. Tetapi intuisi di balik pendekatan semacam itu biasanya sangat erat kaitannya dengan jarak.
Ada sejumlah algoritma pengelompokan untuk data kategorikal seperti COOLCAT dan STUCCO. Jarak tidak mudah digunakan dengan data seperti itu (pengodean satu-panas adalah peretasan, dan tidak menghasilkan jarak yang sangat berarti). Tapi saya belum pernah mendengar ada yang menggunakan algoritma ini ...
Ada pendekatan pengelompokan untuk grafik. Tapi mereka mengurangi ke masalah grafik klasik seperti klik atau temuan dekat-klik dan pewarnaan grafik, atau mereka terkait erat dengan pengelompokan berbasis jarak (jika Anda memiliki grafik berbobot).
Pengelompokan berbasis kepadatan seperti DBSCAN memiliki nama yang berbeda, dan tidak berfokus pada meminimalkan jarak; tetapi "kepadatan" biasanya ditentukan sehubungan dengan jarak, jadi secara teknis algoritma ini berbasis jarak atau berbasis jaringan.
Bagian penting dari pertanyaan Anda yang Anda tinggalkan adalah apa data Anda ?
sumber
Selain jawaban yang bagus sebelumnya, saya sarankan mempertimbangkan model campuran Dirichlet dan Bayesian model proses Dirichlet hirarki . Untuk tinjauan umum yang agak komprehensif dan umum tentang pendekatan dan metode untuk menentukan jumlah cluster yang optimal , silakan lihat jawaban yang sangat baik ini di StackOverflow : /programming//a/15376462/2872891 .
sumber
Pendekatan yang murni diskriminatif adalah "maksimalisasi informasi yang diatur" oleh Gomes et al . Tidak ada kesamaan / jarak yang terlibat di dalamnya.
Idenya adalah untuk memiliki model seperti regresi logistik yang menempatkan poin ke dalam sampah. Tetapi alih-alih melatihnya untuk memaksimalkan beberapa bentuk log-kemungkinan label kelas, fungsi obyektif adalah yang menempatkan poin ke dalam kelompok yang berbeda.
Ekstensi ke metode kernel atau jaringan saraf untuk pengelompokan non-linear sangat mudah.
sumber