Solusi untuk Identifikasi Cluster Online Berkelanjutan?

11

Izinkan saya menunjukkan kepada Anda sebuah contoh aplikasi pengelompokan online hipotetis:

masukkan deskripsi gambar di sini

Pada saat n poin 1,2,3,4 dialokasikan ke cluster biru A dan poin b, 5,6,7 dialokasikan untuk cluster merah B.

Pada waktu n +1 titik baru a diperkenalkan yang ditugaskan ke gugus biru A tetapi juga menyebabkan titik b ditugaskan ke gugus biru A juga.

Pada poin akhir 1,2,3,4, a, b milik A dan poin 5,6,7 untuk B. Bagi saya ini masuk akal.

Apa yang tampak sederhana pada pandangan pertama sebenarnya sedikit rumit - untuk mempertahankan pengidentifikasi di langkah waktu. Biarkan saya mencoba memperjelas hal ini dengan contoh yang lebih jelas:

masukkan deskripsi gambar di sini

Titik hijau akan menyebabkan dua titik biru dan dua titik merah bergabung menjadi satu kelompok yang saya putuskan untuk berubah warna menjadi biru - pikiran ini sudah menjadi pemikiran heuristik manusiawi saya di tempat kerja!

Komputer untuk membuat keputusan ini harus menggunakan aturan. Misalnya ketika poin digabung menjadi sebuah cluster maka identitas cluster ditentukan oleh mayoritas. Dalam hal ini kita akan menghadapi undian - baik biru dan merah mungkin pilihan yang valid untuk cluster baru (berwarna biru).

Bayangkan titik merah kelima dekat dengan titik hijau. Maka mayoritas akan menjadi merah (3 merah vs 2 biru) sehingga merah akan menjadi pilihan yang baik untuk cluster baru - tetapi ini akan bertentangan dengan pilihan merah yang lebih jelas untuk cluster paling kanan seperti yang telah merah dan mungkin harus tetap seperti itu. .

Saya merasa mencurigakan untuk memikirkan hal ini. Pada akhirnya saya kira tidak ada aturan yang sempurna untuk ini - lebih baik heuristik mengoptimalkan beberapa kriteria stabilitas.

Ini akhirnya mengarah ke pertanyaan saya:

  1. Apakah "masalah" ini memiliki nama yang dapat dirujuk?
  2. Apakah ada solusi "standar" untuk ini dan ...
  3. ... apakah mungkin ada paket R untuk itu?

Warisan yang wajar dari Identitas Cluster dalam Pengulangan Clustering

Raffael
sumber
Pos silang dari statistik stats.stackexchange.com/questions/111911/... AND stackoverflow: stackoverflow.com/questions/24970702/…
Punya QUIT - Anony-Mousse
Apakah masalah yang Anda coba untuk mempertahankan identitas cluster sebanyak mungkin pada setiap langkah waktu? Sehingga pada N + 1 Anda dapat mengatakan bagaimana sebuah cluster telah berubah karena ada beberapa hubungan antara cluster di N dan yang ada di N +1? Dan bagian yang sulit adalah apa yang terjadi jika cluster terpecah dan bergabung?
Spacedman
@Spacedman: BINGO :) joyofdata.de/blog/…
Raffael
Saya mengundang Anda untuk melihat ini dan ini
farhawa

Jawaban:

1

Dilema Stabilitas-Plastisitas, Tingkat Belajar, dan Algoritma Lupa:

Pertama, izinkan saya mengatakan bahwa ini adalah pertanyaan yang benar-benar hebat dan merupakan jenis pemikiran yang merangsang yang benar-benar meningkatkan pemahaman seseorang tentang algoritma ML.

  1. Apakah "masalah" ini memiliki nama yang dapat dirujuk?

Ini umumnya disebut sebagai "stabilitas". Yang lucu adalah bahwa stabilitas sebenarnya adalah konsep yang berguna dalam pengelompokan reguler yaitu tidak online. "Stabilitas" dari algoritma sering dipilih sebagai kriteria seleksi untuk apakah jumlah cluster yang tepat telah dipilih. Lebih khusus lagi, masalah stabilitas pengelompokan online yang telah Anda gambarkan disebut sebagai stability-plasticity dilemma.

  1. Apakah ada solusi "standar" untuk ini dan ...

Pertama, jawaban gambaran besarnya adalah bahwa banyak algoritma pengelompokan online secara mengejutkan stabil ketika mereka telah dilatih dengan baik dengan kohort besar data awal. Namun, ini masih menjadi masalah jika Anda ingin benar-benar menentukan identitas cluster sementara membiarkan algoritma bereaksi terhadap data baru. Trickiness point Anda secara singkat dibahas dalam Pengantar Pembelajaran Mesin Oleh Ethem Alpaydin. Pada halaman 319 ia mendapatkan algoritma k-means online melalui penerapan keturunan gradien stokastik, tetapi menyebutkan bahwa stability-plasticity dilemmamuncul ketika memilih nilai untuk tingkat pembelajaran. Tingkat pembelajaran yang kecil menghasilkan stabilitas, tetapi sistem kehilangan kemampuan beradaptasi di mana ketika tingkat pembelajaran yang lebih besar mendapatkan kemampuan beradaptasi, tetapi kehilangan stabilitas kelompok.

Saya percaya jalan terbaik ke depan adalah memilih implementasi pengelompokan online yang memungkinkan Anda untuk mengontrol algoritma penurunan gradien stokastik dan kemudian memilih tingkat pembelajaran sehingga Anda memaksimalkan stabilitas dan kemampuan beradaptasi sebaik mungkin menggunakan prosedur validasi silang suara.

Metode lain yang saya lihat digunakan adalah semacam melupakan algoritma misalnya melupakan poin yang lebih tua saat aliran data matang. Ini memungkinkan sistem yang cukup stabil pada skala waktu cepat dan memungkinkan evolusi pada skala waktu lebih lambat. Adaptive Resonance Theorydiciptakan untuk mencoba memecahkan stability-plasticity dilemma. Anda mungkin menemukan artikel ini menarik.

Saya tidak cukup berpengalaman dalam R untuk menyarankan suatu algoritma, tetapi saya sarankan Anda mencari mini-batch k-meansalgoritma yang memungkinkan Anda untuk mengontrol tingkat pembelajaran dalam algoritma gradient descent stochastic.

Saya harap ini membantu!

AN6U5
sumber