Hartigan-Wong k-ortalamaları yöntemi ve diğer algoritmalarda yakınsama


10

Esasen dil statspaketinde uygulanan farklı k-ortalama kümeleme algoritmalarını anlamaya çalışıyorum R.

Lloyd'un algoritmasını ve MacQueen'in çevrimiçi algoritmasını anlıyorum. Onları anlama şeklim şu şekildedir:

Lloyd Algoritması:

Başlangıçta 'k' kümelerinin sentroidleri olarak işlev görecek 'k' rastgele gözlemler seçilir. Daha sonra sentroidler birleşene kadar yineleme aşağıdaki adımlar gerçekleşir.

  1. Her bir gözlem ile seçilen sentroidler arasındaki Öklid mesafesi hesaplanır.
  2. Her sentroide en yakın gözlemler 'k' kovaları içinde etiketlenir.
  3. Her bir kovadaki tüm gözlemlerin ortalaması yeni centroidler olarak hizmet eder.
  4. Yeni sentroidler eski sentroidlerin yerini alır ve eski ve yeni sentroidler yakınsak değilse tekrarlama 1. adıma geri döner.

Yakınsama koşulları şunlardır: eski ve yeni sentroidler tamamen aynıdır, sentroidler arasındaki fark küçüktür (10 ^ -3 mertebesinde) veya maksimum yineleme sayısına (10 veya 100) ulaşılır.

MacQueen'in Algoritması:

Bu, ilk 'k' örneklerinin centroid olarak seçildiği çevrimiçi bir sürümdür.

Daha sonra, her bir örnek, o örneğe en yakın hangi sentroidin olduğuna bağlı olarak kovalara yerleştirilir. İlgili sentroid yeniden hesaplanır.

Her örnek uygun kovaya yerleştirilene kadar bu adımı tekrarlayın.

Bu algoritmanın yalnızca bir yinelemesi vardır ve döngü 'x' örnekleri için devam eder

Hartigan-Wong Algoritması:

  1. Tüm noktaları / örnekleri rastgele kovalara atayın ve ilgili sentroidi hesaplayın.
  2. İlk örnekten başlayarak en yakın centroidi bulun ve o kovayı değerlendirin. Kova değiştiyse, yeni sentroidleri yeniden hesaplayın, yani yeni atanan kepçenin sentroidini ve eski kova ödevinin sentroidini değiştirin, çünkü bunlar değişiklikten etkilenen iki sentroiddir
  3. Tüm noktaları gözden geçirin ve yeni sentroidler alın.
  4. Bir tür temizleme işlemi gerçekleştiren ve kaçak noktaları kovalara yeniden atayan 2. ve 3. noktaların tekrarını yapın.

Bu nedenle, bu algoritma yakınsama sonucunu görmeden önce 2 yineleme gerçekleştirir.

Şimdi, Hartigan-Wong algoritmasındaki 4. noktada düşündüğüm algoritmanın doğru yöntemi olup olmadığından emin değilim. Benim sorum şu: Hartigan-Wong için aşağıdaki yöntem k-araçlarını uygulamak için doğru yöntemse? Bu yöntem için yalnızca iki yineleme var mı? değilse, yakınsama koşulu nedir (ne zaman durmalı)?

Anladığım başka bir olası uygulama açıklaması.

  1. Tüm noktaları / örnekleri rastgele kovalara atayın ve ilgili sentroidi hesaplayın.
  2. İlk örnekten başlayarak en yakın centroidi bulun ve bu kovayı atayın. Kova değiştiyse, yeni sentroidleri yeniden hesaplayın, yani yeni atanmış kepçenin sentroidini ve eski kova atamasının sentroidini değiştirin; bunlar, değişiklikten etkilenen iki sentroiddir.
  3. Grupta herhangi bir nokta için değişiklik olduğunda, ilk örneğe geri dönün ve adımları tekrarlayın.
  4. Yineleme, tüm örnekler yinelendiğinde ve noktaların hiçbiri bölümleri değiştirmediğinde sona erer.

Bu şekilde, veri kümesinin her değişmesinde veri kümesinin başından tekrar tekrar başlayan çok sayıda yineleme vardır.

Herhangi bir açıklama yardımcı olacaktır ve bu yöntemlerden herhangi biri için anlayışım yanlışsa lütfen bana bildirin.


Ne olduğunu bir "kova"?
ÇIKIŞ - Anony-Mousse

@ Anony-Mousse "kova" bir "küme" dir. Örn: k-araçları, verileri 'k' kovalarına / kümelerine bölmek için kullanılır
Sid

Ama sonra MacQueens algoritması gibi geliyor.
QUIT - Anony-Mousse

@ Anony-Mus. evet Hartigan-Wong'un ilk adım dışında MacQueens algoritması gibi görünüyor. Ancak bunun doğru anlayış olup olmadığından emin değilim. Yinelemeler ve yakınsama için eksik olduğum bir kavram olabilir.
Sid

Yanıtlar:


1

HW'nin algoritması, 1979 tarihli makaleden giriş başlangıç ​​kümeleri olarak kabul edilir. Ancak yazarlar, son bölümlerinde bunları elde etmek için bir yöntem önermektedir. Altyordamdaki ilk atamadan sonra hiçbir kümenin boş kalmayacağının garanti edildiğini yazarlar . Aşağıdaki gibi gider:

  1. Genel ortalamayı hesaplayın .x¯
  2. Gözlemleri mesafelerine göre sıralayın , yani | | x i - ˉ x | | 2 (artan sırada sanırım?).x¯||xix¯||2
  3. konumundaki noktaları alın , burada L = 1 , , K , başlangıç ​​sentroidleri olarak. ( [ ] büyük olasılıkla zemin fonksiyonuna, dolayısıyla başlangıçta 1'e atıfta bulunur .){1+(L1)[M/K]}L=1,,K[  ]1

Ana algoritmaya gelince, Hartigan'ın K-Ortalamaları ve Lloyd K-Ortalamaları-Değişim Zamanı mı? N Slonim, E Aharoni, K Crammer, 2013 yılında AJCAI tarafından yayınlanmıştır . Bu sürümün rastgele bir başlangıç ​​bölümü kullandığını unutmayın. Aşağıdaki gibi gider.

Vektörler için ve kümeler bir hedef sayı K ,xXK

  1. Ayar rastgele bir bölümü olması X içine K kümeleri ve her bağlantılı ağırlık merkezi vektör hesaplamak C , bunları ifade v C .CXKCCvC

  2. Tarama gelişigüzel bir sırayla, ve tüm x XXxX

    s=1

    xCC=C{x}

    C+={argminC(CC)C 1nd(x,vC)+1nyC[d(y,vCx)d(y,vC)]}{x}

    C+CCCCC+vCvCs0

  3. s=0

CargminxCdvCvC{x}

Bence tüm sorularınızın cevapları yukarıdaki algoritmada örtük ... Ancak yine de algoritmanın bu uygulamasının standart olduğundan emin olmak zorundayım . Özellikle R'de uygulanan ise, herhangi bir yorum / düzenleme memnuniyetle karşılanır.

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.