K-araçları kümelemeyi başlatma yöntemleri


11

K-ortalamaları için başlangıç ​​tohumlarını (küme merkezleri) seçmek için mevcut teknolojiyle ilgileniyorum.

Google, iki popüler seçeneğe yol açar:

  1. başlangıç ​​tohumlarının rastgele seçimi ve
  2. KMeans ++ seçim tekniğini kullanarak: Arthur & Vassilvitskii 2006 k-means ++: Dikkatli Tohumlamanın Avantajları

Buradaki herkesin farkında olduğu ve bu kadar popüler olmayabilecek başka umut verici yöntemler var mı?

Yanıtlar:


12

Basitçe için, uzak gitmeden, İzninizle bir seçenek listesi kopyala-yapıştır kendi işlevinden !kmini(SPSS için bir makro), koleksiyon "Kümelenme" bulundu burada .

İlk küme merkezlerini oluşturma veya seçme yöntemi. Seç:

  • RGC - rastgele alt örneklerin sentroidleri . Veriler rastgele bir şekilde körtüşmeyerek bölünür , üyelik, gruplar ve bu grupların sentroidleri başlangıç ​​merkezleri olarak atanır. Böylece, merkezler hesaplanır, mevcut veri kümesi durumlarından seçilmez. Bu yöntem, birbirlerine ve verilerin genel sentroidine yakın olan merkezler verir.
  • RP - rastgele seçilen noktalar . kverilerin farklı durumları ilk merkezler olarak rastgele seçilir.
  • RUNFP - en uzak noktalar (çalışan seçim). İlk kvakalar merkez olarak alınır ve daha sonra veri setinin geri kalanı boyunca çalışma sırasında merkezler arasında aşamalı olarak değiştirmeler yapılır; yer değiştirmelerin amacı k, değişken alanda birbirinden en uzak uç noktalarda elde etmektir . Veri bulutundaki çevresel konumları işgal eden bu noktalar (durumlar) üretilen ilk merkezlerdir. (Yöntem, SPSS k-ortalama prosedüründe varsayılan olarak kullanılır QUICK CLUSTER. SPSS Algoritmaları'ndaki ayrıntılara bakın. Ayrıca burada açıklanmaktadır ).
  • SIMFP - en uzak noktalar (basit seçim). İlk merkez, veri kümesinden rastgele bir durum olarak seçilir. 2. merkez, o merkezden en fazla uzak olan durum olarak seçilir. 3. merkez, bu ikisinden (ikisinin en yakınından) en fazla uzak olan durum olarak seçilir, - vb.
  • KMPP - rastgele en uzak noktalar veya k-++ anlamına gelir. İlk merkez, veri kümesinden rastgele bir durum olarak seçilir. 2. merkez de rastgele seçilir, ancak bir vakanın seçilme olasılığı, onun (1.) merkeze olan uzaklığı (kare öklid) ile orantılıdır. 3. merkez, bir davanın bu iki merkezden en yakınına orantılı seçim olasılığı ile rastgele seçilir - vb. Arthur, D., Vassilvitskii, S.
  • GREP - grup temsil noktaları . Yöntem fikri - merkez olarak toplamakken temsili “vekil” davalar. 1. merkez genel veri cenroidine en yakın vaka olarak alınır. Daha sonra merkezlerin geri kalanı, veri noktalarından, her bir noktanın, her birinden bir noktaya daha yakın (ve kare şeklinde öklid mesafesi açısından ne kadar) olup olmadığı dikkate alınacak şekilde seçilir. mevcut merkezlerden herhangi birine. Her nokta, daha önce toplanmış merkezler tarafından henüz yeterince iyi temsil edilmeyen bazı puan gruplarını temsil etmek için aday olarak incelenir. Bu açıdan en temsilci nokta bir sonraki merkez olarak seçilir. (Kaufman, L. Rousseeuw, PJ Verilerde grup bulma: küme analizine giriş., 1990. Ayrıca bakınız: Pena, JM ve ark. K-ortalama algoritması için dört başlatma yönteminin ampirik olarak karşılaştırılması // Pattern Recognition Lett. 20 (10), 1999,
  • [ kRastgele ve açgözlülük arasında bir yerde rasgele üniform fakat “rastgele daha az rasgele” noktalar oluşturmak için henüz makroda benim tarafımdan uygulanmayan güzel bir yöntem de var ; bu yöntem için potansiyel teorik temele bakınız ]
  • Bir başka yöntem de Ward'ın yöntemiyle hiyerarşik kümeleme yapmaktır. Örnek çok büyükse bunu nesnelerin alt örneğinde yapabilirsiniz. Daha sonra konun tarafından üretilen kümeler, k-ortalamaları prosedürü için ilk tohumlardır. Ward'ın diğer hiyerarşik kümeleme yöntemlerine göre daha çok tercih edilmesi nedeniyle ortak hedef hedefi k-araçlarıyla paylaşmaktadır .

Yöntemler RGC, RP, SIMFP, KMPP rasgele sayılara bağlıdır ve sonuçlarını çalışmadan çalışmaya değiştirebilir.

Yöntem RUNFP, veri kümesindeki vaka sırasına duyarlı olabilir; ancak GREP yöntemi değildir (verilerde birçok özdeş durumun, bağların olduğu durumlar dışında). Yöntem GREP , özellikle (ne zaman) verilerdeki vaka sayısına ( ) göre büyükse tüm kmerkezleri toplayamayabilir . [Makro, verilerin bu yöntemin merkezleri toplamasına izin vermediğini bildirir ]. Yöntem GREP en yavaş olanıdır, [benim uygulamamda] tüm durumlar arasındaki mesafeler matrisini hesaplar, bu nedenle on binlerce veya milyonlarca vaka varsa uygun olmaz. Ancak bunu verilerin rastgele bir alt örneğinde yapabilirsiniz.knk>n/2k

Şu anda hangi yöntemin "daha iyi" ve hangi durumda olduğunu tartışmıyorum, çünkü şu ana kadar soruyu kapsamlı bir simülasyon araştırması yapmadım. Benim çok ilk ve yüzeysel izlenimler GREP özellikle layık (ama pahalı) ve hala yeterince rekabetçi gerçekten ucuz bir yöntem istiyorsanız, o zaman sadece rastgele k puan, RP, iyi bir seçim oldu.


ps ayrıca yanıt istatistiklerine
350191/

Böyle bir şeye cevabınızı görmekten memnuniyet duyarım - K-Ortalamalarını başlatmanın kararlı ve etkili yolları.
Royi

@Royi, bu konuda bir sorunuz varsa neden sorunuzu göndermiyorsunuz?
ttnphns

Paylaşabileceğiniz birçok yöntem var mı? Birkaç "En Uzak Örnekleri Bul" hilesi yarattım, ancak birçok iyi soru bir soru açmaya değer mi?
Royi

Değerli olduğunu düşündüğünüz bir şey varsa, soru ile ilgili değerli bir şey sorulabilirse bunu bir soru şeklinde paylaşın.
ttnphns

5

En son 20 yıl önce kuşkusuz bu konuda kapsamlı bir literatür incelemesi yaptım, iki ana öneri şunlardı:

  1. Başlangıç ​​merkezlerini bulmak için Ward'ın Yöntemini kullanmak (bu standart bir hiyerarşik küme analiz algoritmasıdır).
  2. Rastgele başlar kullan.

Büyük veri uygulamalarında, Ward'ın yöntemi bir alt örneğe uygulanabilmesine rağmen iyi çalışmaz.

Yayınlamaya gelmediğim bazı simülasyonlar yaptım ve buldum:

Bundan aldığım ana çıkar SPSS algoritmasının şaşırtıcı derecede iyi olmasıdır, ancak kaynaklara sahipse, 1000+ rastgele başlangıç ​​noktası gitmek için bir yoldur.


Simülasyonlarınızda yüksek boyutlu veriler için davranışta herhangi bir değişiklik fark ettiniz mi?
Arin Chaudhuri

Hatırlayamadığım için değil. Ancak, simülasyonlarım bence yaklaşık 20'den fazla değişken kullanmazdı. Bununla birlikte, boyutluluk ne kadar yüksek olursa, tüm diğerlerinin aynı olması için rastgele başlangıç ​​sayısı o kadar fazla olur.
Tim

Not: Varsayılan SPSS algoritması (btw bağlantınız koptu) cevabımda RUNFP olarak kısalttığım şeydi.
ttnphns

4

Ttnphns isimlendirmesiyle RGC, RP ve KMPP'yi şu konularda test ettim:

  • 2D / 3D noktalar
  • metin belgelerinden kelime torbası
  • esasen mesafeli eğriler .L2

RGC'yi önermiyorum çünkü ortaya çıkan merkezler birbirine çok yakın: birçok noktanın ortalaması küresel ortalamaya yakın (büyük sayıların kanunu). Bu, yakınsamayı çok yavaşlatabilir: kümelerin bireyselleşmeye başlaması biraz zaman alır.

RP genellikle iyidir ve ilk kolay seçim olarak önerilir.

KMPP çok popülerdir ve küçük boyutta çok iyi çalışır: RP'ye kıyasla yerel minimumda bitirme olasılığını azaltma eğilimindedir.

Bununla birlikte, büyük veri kümeleri üzerinde çalışırken (büyük boyutlu metin belgelerinden alınan kelime torbası olan 1M noktaları) RP, biraz daha az yineleme ile sona erdiğinden KMPP'den biraz daha iyi performans gösterdi. Buna şaşırdım. Büyük veri kümesi / yüksek boyutta, küresel minimuma yakınsama mümkün değildir, kaliteyi "yerel minimumun ne kadar iyi" = "nihai SOD ne kadar küçük" olarak ölçersiniz. Her iki yöntem de aynı kaliteye sahipti.

Kaliteyi artırmak için çoğaltmalar kullanmak istiyorsanız rastgele bir yöntem kullanmanın önemli olduğunu unutmayın.


Teşekkürler. Büyük boyutlu verilerle ilgileneceğim, bu yüzden bu oldukça faydalı.
Arin Chaudhuri
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.