Sürekli Çevrimiçi Küme Tanımlaması için Çözümler?


11

Size varsayımsal bir çevrimiçi kümeleme uygulaması örneği göstereyim:

resim açıklamasını buraya girin

Mavi küme A'ya n puanları 1,2,3,4 ve kırmızı küme B'ye b, 5,6,7 noktaları tahsis edilir.

N + 1 zamanında, mavi kümeye A atanan ancak aynı zamanda b noktasının mavi kümeye A atanmasına neden olan yeni bir a noktası eklenir.

Bitiş noktalarında 1,2,3,4, a, b A'ya ve 5,6,7 B'ye aittir. Bana göre bu makul görünüyor.

İlk bakışta basit görünen şey aslında biraz zor - tanımlayıcıları zaman adımlarında korumak için. Bu noktayı daha sınırda bir örnekle netleştirmeye çalışalım:

resim açıklamasını buraya girin

Yeşil nokta, iki mavi ve iki kırmızı noktanın keyfi olarak maviyi renklendirmeye karar verdiğim bir kümede birleştirilmesine neden olacaktır - bu zaten işteki insan sezgisel düşüncemdir!

Bu kararı vermek için bir bilgisayarın kurallar kullanması gerekecektir. Örneğin, noktalar bir kümeye birleştirildiğinde, kümenin kimliği çoğunluk tarafından belirlenir. Bu durumda bir beraberlikle karşılaşırız - hem mavi hem de kırmızı, yeni (burada mavi renkli) küme için geçerli seçenekler olabilir.

Yeşil olana yakın beşinci bir kırmızı nokta düşünün. Sonra çoğunluk kırmızı olurdu (3 kırmızı vs 2 mavi), bu yüzden kırmızı yeni küme için iyi bir seçim olacaktır - ancak bu, en kırmızı küme için daha açık kırmızı seçimiyle çelişir, çünkü bunlar kırmızıdır ve muhtemelen bu şekilde kalmalıdır. .

Bunun hakkında düşünmeyi çok balık buluyorum. Günün sonunda bunun için mükemmel bir kural yok - daha ziyade bazı kararlılık kriterlerini optimize eden buluşsal yöntemler.

Bu sonunda sorularıma yol açıyor:

  1. Bu "sorunun" adı verilebilecek bir adı var mı?
  2. Bunun için "standart" çözümler var mı ve ...
  3. ... bunun için bir R paketi bile var mı?

Tekrarlayan Kümelemede Küme Kimliklerinin Makul Mirası



Kümelerin kimliğini korumaya çalıştığınız sorun her adımda mümkün olduğunca mı? Böylece N + 1'de bir kümenin nasıl değiştiğini söyleyebilirsiniz, çünkü N'deki kümeler ile N + 1'deki kümeler arasında bir ilişki vardır? Ve zor bit kümeler bölünüp birleşirse ne olur?
Spacedman

@Spacedman: BINGO :) joyofdata.de/blog/…
Raffael

Sizi buna ve buna
farhawa

Yanıtlar:


1

Kararlılık-Plastisite İkilemi, Öğrenme Oranları ve Unutma Algoritmaları:

İlk olarak, bunun gerçekten harika bir soru olduğunu ve kişinin ML algoritmaları hakkındaki anlayışını gerçekten geliştiren düşünceyi kışkırtan şey olduğunu söyleyeyim.

  1. Bu "sorunun" adı verilebilecek bir adı var mı?

Buna genellikle "stabilite" denir. Komik olan, istikrarın aslında çevrimiçi kümelenmede, yani çevrimiçi değil kullanışlı bir kavram olmasıdır. Algoritmanın "kararlılığı" genellikle doğru sayıda kümenin seçilip seçilmediğine ilişkin bir seçim kriteri olarak seçilir. Daha spesifik olarak, açıkladığınız çevrimiçi kümeleme kararlılığı sorununa stability-plasticity dilemma.

  1. Bunun için "standart" çözümler var mı ve ...

Birincisi, büyük resim yanıtı, birçok çevrimiçi kümeleme algoritmasının, büyük bir başlangıç ​​verileri grubu ile iyi eğitildiklerinde şaşırtıcı derecede kararlı olmasıdır. Ancak, algoritmanın yeni verilere tepki vermesine izin verirken noktaların küme kimliklerini gerçekten çivilemek istiyorsanız hala bir sorun. Belirttiğiniz hileler kısaca Ethem Alpaydin'in Makine Öğrenmesine Giriş bölümünde ele alınmıştır. On sayfa 319 o stokastik gradyan asıllı uygulaması üzerinden online k-ortalamalar algoritması türetir, ancak bahseder stability-plasticity dilemmaöğrenme oranı için bir değer seçerken ortaya çıkar. Küçük bir öğrenme oranı istikrarla sonuçlanır, ancak sistem daha büyük bir öğrenme hızının uyarlanabilirlik kazandığı, ancak küme kararlılığını kaybettiği uyarlanabilirliği kaybeder.

İleriye dönük en iyi yolun, stokastik degrade iniş algoritmasını kontrol etmenizi ve daha sonra sağlam bir çapraz doğrulama prosedürünü kullanarak en iyi şekilde istikrarı ve uyarlanabilirliği en üst düzeye çıkarmak için öğrenme hızını seçmenizi sağlayan bir çevrimiçi kümeleme uygulaması seçeceğine inanıyorum.

Çalıştığını gördüğüm başka bir yöntem, veri akışı olgunlaştıkça eski noktaları unutmak gibi bir çeşit unutma algoritmasıdır. Bu, hızlı zaman ölçeklerinde oldukça kararlı bir sistem sağlar ve daha yavaş zaman ölçeklerinde evrim sağlar. Adaptive Resonance Theoryçözmek için oluşturuldu stability-plasticity dilemma. Bu makaleyi ilginç bulabilirsiniz .

R'de bir algoritma önermek için yeterince bilgili değilim, ancak mini-batch k-meansöğrenme oranını stokastik degrade iniş algoritmasında kontrol etmenizi sağlayan bir algoritma aramanızı öneririm .

Umarım bu yardımcı olur!

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.