Apakah ada algoritma pengelompokan berbasis non-jarak?

14

Tampaknya untuk K-means dan algoritma terkait lainnya, pengelompokan didasarkan pada penghitungan jarak antara titik. Apakah ada yang berfungsi tanpanya?

pengguna154510
sumber
2
Apa tepatnya yang Anda maksud dengan "pengelompokan" tanpa cara untuk mengukur kesamaan atau "kedekatan" poin?
Whuber
2
@ Jawaban Tim di bawah ini sangat bagus. Anda mungkin ingin mempertimbangkan untuk meningkatkan & / atau menerimanya , jika itu telah membantu Anda; itu cara yang bagus untuk mengucapkan 'terima kasih'. Memperluas idenya, ada analisis kelas laten , yang menerapkan pendekatan serupa dengan data kategorikal. Pendekatan non-parametrik untuk FMM dapat digunakan melalui ketinggian estimasi kepadatan kernel multivarian. Lihat Mengelompokkan melalui Estimasi Kepadatan Nonparametrik: Paket R pdfCluster ( pdf ) untuk lebih lanjut.
gung - Reinstate Monica

Jawaban:

25

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 ):fXKf1,...,fk

f(x,ϑ)=k=1Kπkfk(x,ϑk)

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)πkkϑkfk

Kasus khusus untuk data diskrit adalah Analisis Kelas Laten (misalnya di sini ) didefinisikan sebagai:

P(x,k)=P(k)P(x|k)

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πkP(x)xP(x|k)xk

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 contoh flexmixpaket dan dokumentasinya . Untuk LCA ada paket R poLCA .

Tim
sumber
Apakah Anda memiliki pemahaman yang baik tentang apa yang mungkin terjadi dengan berbagai kasus penggunaan?
shadowtalker
Seperti pada, "kapan saya harus menggunakan ini alih-alih, katakanlah, mempartisi di sekitar medoid?" Jawaban yang sangat bagus
shadowtalker
1
@caveman mencatat itu hanya konvensi notasi. Itu adalah vektor vektor, itu saja.
Tim
1
@caveman ada yang berbeda distribusi f 1 , . . . , F k yang dalam campuran, masing-masing dengan parameter mereka sendiri (itu sebabnya kita memiliki vektor parameter). k f1,...,fk
Tim
1
@caveman kasus yang paling umum adalah Anda memiliki misalnya distribusi normal, dengan cara dan sd yang berbeda. Tetapi mereka dapat berbeda, lihat contoh 3.1 di cran.r-project.org/web/packages/flexmix/vignettes/… yang menunjukkan campuran dua model regresi yang berbeda. k
Tim
7

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 ?

Memiliki QUIT - Anony-Mousse
sumber
1
+1: Saya menghargai bahwa Anda menunjukkan bagaimana algoritma pengelompokan menggunakan beberapa rasa "jarak" atau "kesamaan" yang tersirat dan umum, dan Anda melakukannya sambil menawarkan survei dari banyak algoritma semacam itu.
whuber
Saya pikir dengan "berbasis jarak" yang ia maksud adalah metrik kesamaan, yang akan mencakup varians.
id1
1
Mengapa varians menjadi metrik kesamaan? Ini terkait dengan jarak Euclidean persegi; tapi tidak setara dengan jarak arbitrer s .
Memiliki QUIT - Anony-Mousse
2

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.

λ digunakan. Itu bermuara pada varian kebalikan dari Gaussian sebelum bobot.

Ekstensi ke metode kernel atau jaringan saraf untuk pengelompokan non-linear sangat mudah.

bayerj
sumber