Dirichlet Proses untuk pengelompokan: bagaimana cara menangani label?

14

T: Apa cara standar untuk mengelompokkan data menggunakan Proses Dirichlet?

Saat menggunakan cluster sampel Gibbs, muncul dan menghilang selama pengambilan sampel. Selain itu, kami memiliki masalah pengidentifikasian karena distribusi posterior tidak berbeda dengan relabeling cluster. Dengan demikian, kita tidak bisa mengatakan mana yang merupakan kluster dari seorang pengguna melainkan bahwa dua pengguna berada di kluster yang sama (yaitu ).p(ci=cj)

Bisakah kita meringkas penugasan kelas sehingga, jika adalah penugasan cluster dari titik i , kita sekarang tidak hanya itu c i = c j tetapi c i = c j = c j = . . . = C z ?ciici=cjci=cj=cj=...=cz

Ini adalah alternatif yang saya temukan dan mengapa saya pikir mereka tidak lengkap atau salah arah.

(1) Pengambilan sampel DP-GMM + Gibbs + matriks berbasis pasangan

Untuk menggunakan Dirichlet Process Gaussian Mixture Model (DP-GMM) untuk pengelompokan saya mengimplementasikan makalah ini di mana penulis mengusulkan DP-GMM untuk estimasi kepadatan menggunakan sampling Gibbs.

Untuk mengeksplorasi kinerja pengelompokan, mereka mengatakan:

Karena jumlah komponen berubah pada rantai [MCMC], orang perlu membentuk matriks kebingungan yang menunjukkan frekuensi setiap pasangan data yang ditugaskan ke komponen yang sama untuk seluruh rantai, lihat Gambar 6. masukkan deskripsi gambar di sini

Cons : Ini bukan pengelompokan "lengkap" yang sebenarnya tetapi pengelompokan pasangan-bijaksana. Angka itu terlihat bagus karena kita tahu kelompok nyata dan mengatur matriks yang sesuai.

(2) Pengambilan sampel DP-GMM + Gibbs + sampel hingga tidak ada perubahan

Saya telah mencari dan menemukan beberapa orang yang mengaku melakukan pengelompokan berdasarkan Dirichlet Process menggunakan sampler Gibbs. Sebagai contoh, posting ini menganggap bahwa rantai bertemu ketika tidak ada lagi perubahan baik dalam jumlah cluster atau cara, dan karena itu mendapatkan ringkasan dari sana.

Cons : Saya tidak yakin ini diizinkan karena, jika saya tidak salah:

  • (a) mungkin ada pergantian label selama MCMC.

  • (B) bahkan dalam distribusi stasioner sampler dapat membuat beberapa cluster dari waktu ke waktu.

(3) Pengambilan sampel DP-GMM + Gibbs + pilih sampel dengan kemungkinan besar partisi

Dalam hal ini kertas , penulis mengatakan:

Setelah periode "terbakar", sampel yang tidak bias dari distribusi posterior IGMM dapat diambil dari Gibler sampler. Hard clustering dapat ditemukan dengan menggambar banyak sampel seperti itu dan menggunakan sampel dengan kemungkinan gabungan tertinggi dari variabel indikator kelas. Kami menggunakan implementasi IGMM yang dimodifikasi yang ditulis oleh M. Mandel .

p(c|θ)p(c)p(c,θ)

(4) DP-GMM dengan Inferensi Variatonal :

Saya telah melihat bahwa beberapa perpustakaan menggunakan inferensi variasional. Saya tidak tahu banyak Variational Inference, tetapi saya kira Anda tidak memiliki masalah pengidentifikasian di sana. Namun, saya ingin tetap menggunakan metode MCMC (jika mungkin).

Referensi apa pun akan sangat membantu.

Alberto
sumber
p(c) tidak tersedia tidak masuk akal bagi saya. Sepertinya lebih seperti keluhan tentang MCMC secara umum daripada tentang masalah khusus ini.
shadowtalker
p(c)
alberto
itu dengan desain . Bahkan, ini melampaui MCMC: ini adalah fitur bawaan dari setiap model Bayesian. Jika ada, Anda menghadapi masalah karena Anda mencoba melakukan sesuatu yang tidak wajar, sesuatu yang kami terobsesi untuk melakukannya: menjejalkan perkiraan distribusi menjadi perkiraan titik
shadowtalker
Ada alasan untuk tidak ingin melakukan sesuatu seperti ini di tempat pertama - ada berbagai pengertian di mana model campuran proses Dirichlet tidak dapat secara konsisten memperkirakan jumlah cluster (dan karenanya tidak dapat melakukan pekerjaan yang baik untuk memulihkan sebuah " true "pengelompokan data). Ada makalah terbaru di NIPS tentang topik ini.
cowok
1
Lihat di sini . Saya pikir mereka mengusulkan untuk menempatkan Poisson sebelum pada jumlah komponen (dan menurunkan semacam proses restoran untuk mengimplementasikannya), tapi saya tidak yakin apakah ini kertas yang mereka lakukan.
lelaki

Jawaban:

1

cp(c,θ)p(c,θ)p(c|θ)

Alasan saya mengatakan jawaban ini "tentatif" adalah karena saya tidak yakin apakah menetapkan nilai sebagai "parameter" hanyalah masalah semantik, atau jika ada definisi yang lebih teknis / teoritis bahwa salah satu pengguna yang memegang PhD di sini akan bisa dijelaskan.

shadowtalker
sumber
Kamu benar, p(c,θ)=p(c|θ)p(θ)p(c)
@alberto lagi, itu tidak ada hubungannya dengan model ini dan semuanya berkaitan dengan statistik Bayesian. Lihat di sini: groups.google.com/forum/m/#!topic/stan-users/qH-2Mq219gs . Dan jika Anda khawatir tentang banyak mode, lihat di sini: groups.google.com/forum/m/#topic/stan-users/RsVo9NUn0yM dan di sini: stats.stackexchange.com/q/3328/36229
shadowtalker
1

Saya hanya ingin berbagi sumber tentang topik ini, berharap beberapa dari mereka dapat membantu menjawab pertanyaan ini. Ada banyak tutorial tentang proses Dirichlet (DP) , termasuk beberapa tentang cara menggunakan DP untuk pengelompokan . Mulai dari "lembut", seperti tutorial presentasi ini , hingga lebih lanjut, seperti tutorial presentasi ini . Yang terakhir adalah versi terbaru dari tutorial yang sama, disajikan oleh Yee Whye Teh di MLSS'07. Anda dapat menonton video pembicaraan itu dengan slide yang disinkronkan di sini . Berbicara tentang video, Anda dapat menonton pembicaraan lain yang menarik dan relevan dengan slide oleh Tom Griffith di sini . Dalam hal tutorial yang diformat kertas, tutorial ini adalah yang bagus dan cukup populer.

Akhirnya, saya ingin berbagi beberapa makalah terkait. Makalah ini tentang DP hirarkis tampaknya penting dan relevan. Hal yang sama berlaku untuk makalah ini oleh Radford Neal. Jika Anda tertarik pada pemodelan topik , alokasi Dirichlet laten (LDA) laten kemungkinan besar juga ada di radar Anda. Dalam hal ini ,. Saya menyadari bahwa beberapa materi yang saya rekomendasikan mungkin terlalu mendasar untuk Anda, tetapi saya berpikir bahwa dengan memasukkan semua yang saya temukan di topik, saya akan meningkatkan peluang bagi Anda untuk menemukan jawabannya . ini makalah yang sangat baru ini menyajikan novel dan pendekatan LDA yang jauh lebih baik. Berkenaan dengan domain pemodelan topik, saya akan merekomendasikan untuk membaca makalah penelitian oleh David Blei dan rekan-rekannya. Makalah ini merupakan pengantar, sisanya dapat Anda temukan di halaman publikasi penelitiannya

Aleksandr Blekh
sumber
Saya mengerti apa yang Anda coba lakukan di sini, tetapi sebenarnya tidak menjawab pertanyaan.
shadowtalker
1
@ssdecontrol: Jika Anda memahami apa yang saya coba lakukan di sini (yang membantu OP dalam menemukan jawaban dan mempelajari satu atau dua hal), lalu apa gunanya komentar Anda? Saya tidak pernah mengklaim bahwa jawaban saya adalah yang jawabannya, tapi menyatakan harapan bahwa itu adalah membantu , yang akhirnya sampai ke OP untuk memutuskan. Jika Anda memiliki jawaban yang lebih baik, saya yakin itu akan dihargai oleh OP dan masyarakat.
Aleksandr Blekh
1
Yup, saya sangat mengerti. Itu juga banyak yang saya lakukan di sini. Tetapi pertanyaannya adalah bertanya tentang cara yang tepat untuk memilih label klaster dari hasil MCMC dan saya tidak berpikir ini menjawab pertanyaan itu sama sekali.
shadowtalker
@AlexandrBlekh Saya akan setuju dengan ssdecontrol bahwa itu sedikit di luar topik karena OP tampaknya tahu "dasar-dasar" dan menanyakan pertanyaan tertentu.
Tim
1
@AleksandrBlekh Saya menghargai posting Anda, setidaknya itu membuat ringkasan yang bagus untuk pengantar DP. Saya tahu dasar-dasarnya (tingkat menengah, katakanlah), tetapi setidaknya referensi Anda membuat saya kembali ke LDA dan menyadari bahwa mereka berjinjit di sekitar masalah karena label mereka sering tidak beralih.
alberto