K-araçlarının sakıncaları nasıl anlaşılır


365

K-aracı küme analizinde yaygın olarak kullanılan bir yöntemdir. Anladığım kadarıyla, bu yöntem HERHANGİ BİR varsayım gerektirmez, yani, bana bir veri kümesi ve önceden belirlenmiş sayıda küme verir, k ve ben sadece küme içindeki kare hataların (SSE) en aza indirgenen bu algoritmayı uygularım hata.

Yani k-aracı aslında bir optimizasyon problemidir.

K-araçlarının sakıncaları hakkında bazı materyaller okudum. Birçoğu şöyle diyor:

  • k-aracı, her bir özelliğin (değişken) dağılımının varyansının küresel olduğunu varsayar;
  • tüm değişkenler aynı varyansa sahiptir;
  • Tüm k kümeleri için önceki olasılık aynıdır, yani her kümenin kabaca eşit sayıda gözlemi vardır;

Bu 3 varsayımdan herhangi biri ihlal edilirse, k-aracı başarısız olur.

Bu ifadenin ardındaki mantığı anlayamadım. Bence k-means yöntemi aslında hiçbir varsayımda bulunmuyor, sadece SSE'yi en aza indiriyor, bu yüzden SSE'nin en aza indirilmesi ile bu 3 "varsayım" arasındaki bağlantıyı göremiyorum.


49
Küme sayısının çoktan bir varsayım olduğunu söyleyebilirim.
njzk2

30
K-araçlarının anahtar varsayımlar şunlardır: 1. orada olan k kümeler. 2. SSE, en aza indirmek için doğru hedeftir . 3. tüm kümeler aynı SSE'ye sahiptir. 4. Tüm değişkenler her küme için aynı öneme sahiptir. Bunlar oldukça güçlü varsayımlar ...
Anony-Mousse

2
İkinci sorunuza göre (cevap olarak gönderildi, sonra silindi): k-araçlarını doğrusal regresyona benzer bir optimizasyon problemi olarak anlamak istiyorsanız, bunu nicelleştirme olarak anlayın . örnekleri kullanarak verinin en küçük kareler yaklaşımını bulmaya çalışır . Yani aslında eğer yerini en yakın ağırlık merkezi tarafından her noktaya. k
Anony-Mousse

2
@ Anony-Mousse, bazı materyalleri okudum ve daha sonra şu düşünceye : istatistiksel bir model anlamına gelir (optimizasyon yöntemi yerine), altta yatan k kümeleri olduğunu ve verilerin dağılımının tamamen normalden kaynaklandığını varsayar eşit sapma ile rastgele gürültü. Bu basit doğrusal regresyon modelinin varsayımına benzer. O zaman Gauss-Markov teoreminin bir versiyonuna göre (bir kağıt bulamadım sanırım), size verilerimiz için temel aldığımız k kümelerinin ortalamasının tutarlı bir tahmincisini verecektir. k -kk
KevinKim

1
K-araçlarının gerçekten iyi çalıştığını varsayabileceği (aynı şekildeki tüm kümeler) bir veri kümesinin yanıtına bir örnek ekledim; ve 1000 yineleme bile optimum sonucu bulamadı.
Anony-Mousse

Yanıtlar:


273

Sevdiğim iken David Robinson'ın cevabı burada çok, burada k-araçlarının bazı ek eleştiri bu.

Kümelenmemiş verilerin kümelenmesi

Tekdüzen verilerde k-means komutunu çalıştırın, yine de kümeleri elde edersiniz! Bu veriler sadece görürsek size söylemez değil kümelenme ve bir çıkmaz içine bu şekilde araştırmanızı alabilir.

Tek tip veri üzerinde K-aracı

Ölçeğe duyarlı

Veri kümelerinizi yeniden ölçeklendirmek sonuçları tamamen değiştirecektir. Bu kötü olmasa da , verilerinizi ölçeklendirmeye daha fazla dikkat etmeniz gerektiğini fark etmemeniz kötüdür. Ölçekleme faktörleri ekstra gizli parametreler 1 ve böylece için "varsayılan" kolayca gözden kaçan, henüz büyük bir etkiye sahip olduğu k-ortalamalar (ama tabii bu da birçok başka algoritmalar için geçerlidir).d

Bu muhtemelen "tüm değişkenler aynı varyansa sahip" olarak adlandırdığınız şeydir. Bunun dışında ideal olarak, uygun olduğunda doğrusal olmayan ölçeklemeyi de göz önünde bulundurursunuz.

Ayrıca , her ekseni birim değişime sahip olacak şekilde ölçeklendirmenin bir sezgisel olduğunu unutmayın . Bu k-araçlarının çalışmasını sağlamaz. Ölçeklendirme, veri kümenizin anlamına bağlıdır. Birden fazla kümeniz varsa, her kümenin (bağımsız olarak) her değişkende aynı varyansa sahip olmasını istersiniz.

İşte verinin klasik counterexample k-araçlarının belirlemesidir olamaz küme. Her iki eksen de her kümeye yerleştirilmiştir, bu yüzden bunu 1 boyutta yapmak yeterli olacaktır. Ancak kümelerin değişken farklılıkları vardır ve k-araçları onları yanlış şekilde böler.

K-aracı bu veri kümesini kümeleyemez

Bence bu k-aracı için bir karşı örnek, puanlarınızı kapsıyor:

  • Tüm kümeler küreseldir (Gaussian iid).
  • Tüm eksenler aynı dağılıma ve dolayısıyla değişkenliğe sahiptir.
  • Her iki kümede, her biri 500 eleman vardır.

Yine de, k-aracı hala kötü bir şekilde başarısız oluyor (ve daha büyük küme için varyansı 0,5'in üzerine çıkarsam daha da kötüye gidiyor) Ama: başarısız olan algoritma bu değil. Tutmayan varsayımlar . K-aracı mükemmel çalışıyor, sadece yanlış kriteri optimize ediyor.

Mükemmel veri setlerinde bile yerel asgari düzeyde sıkışıp kalabilir

Klasik A3 veri setinde 10 çalışma k-aracının en iyisi aşağıdadır . Bu, k-araçları için tasarlanmış sentetik bir veri setidir . Her biri Gauss biçimindeki 50 küme oldukça iyi ayrılmıştır. Yine de, sadece k-means ++ ve 100 yineleme ile beklenen sonucu elde ettim ... (örnek 10 göstergede normal k-anlamına gelir).

A3 veri setinde k-aracı

K-aracının doğru yapıyı bulamadığı yerlerde, bu veri kümesinde hızlıca çok sayıda küme bulacaksınız. Örneğin sağ altta, bir küme üç parçaya bölündü. Ancak, k-aracı bu merkezlerden birini veri setinin tamamen farklı bir yerine taşıyacak - yerel bir asgari düzeyde kalmış (ve bu zaten 10 çalışmanın en iyisiydi !)

Ve bu veri setinde bu tür yerel minimaların birçoğu var . Çok sık, aynı kümeden iki örnek aldığınızda, bu kümenin bölünmüş kalacağı ve bunun yerine diğer iki kümenin birleştirildiği minimumda sıkışıp kalır. Her zaman değil ama çok sık. Bu yüzden şanslı bir seçim yapmak için birçok tekrarlamaya ihtiyacınız var. 100 yineleme k-aracı ile hala 6 hatayı saydım ve 1000 yineleme ile bunu 4 hataya indirdim. K-++ ++, rastgele örneklere ağırlık verir, bu veri setinde çok daha iyi çalışır.

Ortalamalar sürekli

İkili verilerde k-araçları çalıştırabilirseniz (veya bir sıcak kodlanmış kategorik veri), sonuçlar artık ikili olmayacaktır. Böylece bir sonuç elde edersiniz, ancak sonuçta yorumlayamayabilirsiniz, çünkü orijinal verilerinizden farklı bir veri türüne sahiptir.

Gizli varsayım: SSE en aza indirmeye değer

Bu, esasen yukarıda cevabında mevcut olup, doğrusal regresyon ile güzel bir şekilde gösterilmiştir. K-araçlarının mükemmel bir anlam ifade ettiği bazı kullanım durumları vardır. Lloyd PCM sinyallerini çözmek zorunda kaldığında, farklı tonların sayısını biliyordu ve en küçük kare hata kod çözme hatalarını en aza indirdi. Ve görüntülenen renk miktarını ölçmede, paleti azaltırken de renk hatasını en aza indirirsiniz. Ancak, verilerinizde kare sapmaların toplamı, minimize etmek için anlamlı bir kriter midir?

Yukarıdaki örnek örneğinde, varyans minimuma indirilmeye değer değildir , çünkü kümeye bağlıdır. Bunun yerine, bir Gauss Karışım Modeli, aşağıdaki şekilde olduğu gibi verilere uygun olmalıdır:

Gauss Karışımı Modellemesi

(Ama bu değildir ya nihai yöntemi. Bu varsayımlar, örneğin, "k Gauss dağılımları karışımı" tatmin etmiyor verileri oluşturmak için sadece kadar kolay, arka plan gürültü ekleyerek)

Kötü kullanmak çok kolay

Sonuçta, verilerinize k-araçları atmak çok kolaydır ve yine de bir sonuç almak (bu oldukça rasgeledir, ancak farketmezsiniz). Verilerinizi anlamadıysanız, başarısız olabilecek bir yönteme sahip olmanın daha iyi olacağını düşünüyorum ...

K-niceleme olarak ifade eder

Eğer k-aracının ne yaptığına dair teorik bir model istiyorsanız , kümeleme algoritması değil, nicelleştirme yaklaşımı olduğunu düşünün .

K-ortalama amacı - karesel hata minimize - makul bir seçimdir eğer onun en yakın ağırlık merkezi tarafından her nesneyi değiştirin. (Grupların IMHO orijinal verilerini incelemeniz çok daha az anlamlıdır.)

Bunun için çok iyi kullanım durumları var. Orijinal PCM Lloyd'un kullanım durumu akla geliyor, ya da örneğin renklendirme (Wikipedia) . Renkleri k bir resim azaltmak istiyorsanız, do yakın ağırlık merkezi ile her pikseli değiştirmek istiyor. Kare renk sapmasını en aza indirme sonra gelmez kullanarak görüntü yaklaştırılarak L2 optimaliteye ölçmek renkleri sadece.k

Bu nicelleştirme muhtemelen doğrusal regresyon örneğine oldukça benzer. Doğrusal regresyon en iyi doğrusal modeli bulur . Ve k-aracı (bazen) çok boyutlu bir veri kümesinin k değerlerine en iyi azalmayı bulur . "En iyi" en küçük kare hatadır.

IMHO, k-means iyi bir niceleme algoritmasıdır (bu yazıdaki ilk resme bakın - verileri iki noktaya ayarlamak istiyorsanız, bu makul bir seçimdir!). Küme analizini keşif yapısındaki gibi yapmak istiyorsanız, k-aracı IMHO değil, en iyi seçimdir. Küme olmadığında kümelemeye meyillidir ve verilerde çok gördüğünüz çeşitli yapıları tanıyamaz.


İnce baskı: tüm görüntüler ELKI ile üretildi . Veriler, .xmlveri oluşturma formatı kullanılarak oluşturuldu , ancak o kadar basit ki paylaşmaya değer değil.


17
(Sadece not etmek - muhtemelen "yukarıdaki cevap" hakkında konuşmak iyi bir fikir değildir, çünkü bir okuyucunun gördüğü cevap sırası değişken olabilir. Örneğin, ekran sırasını "aktif" olarak ayarladılarsa, cevabınız aslında yukarıdaki!)
Silverfish

1
@ Anony-Mousse Bu cevap gerçekten harika. Ama şimdiye kadar, "k-aracı bazı koşullar altında çalışacak ve diğer koşullar altında başarısız olacak" diyerek genellikle ne demek istediğimizi unutuyorum. Bu bağlamda "iş" veya "başarısız" kelimesi ne anlama geliyor? "İş", k-araçların ürettiği çözümün görsel olarak 'makul görüneceği' anlamına mı geliyor? Bu biraz belirsiz. Veya 'iş', eğer k-aracı 'standart çözüm' ile aynı olan bir çözüm sağlıyorsa, yani biz bir veri seti hazırlar ve k-araçlarını kullanırız. Bu bağlamda 'iş' anlamlıdır, ancak gerçekte, veriler bazı dağıtımlar tarafından önceden oluşturulmamıştır.
KevinKim

Genellikle insanlar bazı temel gerçeklere, yani verilerin nasıl üretildiğine veya algoritmadan gizlenen bazı etiketlere atıfta bulunur. Üretilen verilerin karşılaştırılması, üretim için kullanılan modeli optimize eden algoritmaları tercih edecektir (örneğin, GMM ve Gaussianlar için k-araçları). Ve gerçek ve etiketli verilerde bile, bu değerlendirme bilinen bir sonucun yeniden üretilmesi ile ilgilidir . Keşif / bilgi keşif özelliğini göz önüne aldığınızda, yeni bir şeyler öğrenmek istediğiniz yer . Ama elimizdeki tek şey bu.
Anony-Mousse

k

@TMOTTM bu önceki bilgi ile seçilen k ile birlikte. 10'un en iyisi ile çalışan "doğru" k a priori seçildi.
Anony-Mousse

450

Ne kadar güzel bir soru - herhangi bir istatistiki yöntemin sakıncalarını ve varsayımlarını nasıl inceleyeceğini gösterme şansı. Yani: bazı verileri oluştur ve algoritmayı dene!

Varsayımlarınızdan ikisini ele alacağız ve bu varsayımlar kırıldığında k-aracı algoritmasına ne olacağını göreceğiz. Görselleştirmesi kolay olduğu için 2 boyutlu verilere bağlı kalacağız. ( Boyutluluk laneti sayesinde , ek boyutlar eklemek, bu sorunları daha az değil, daha ciddi hale getirebilir. İstatistiki programlama dili R ile çalışacağız: kodun tamamını burada (ve burada blog biçiminde yazılan ) burada bulabilirsiniz .

Derivasyon: Anscombe'nın Dörtlüsü

İlk önce bir analoji. Birinin aşağıdakileri tartıştığını düşünün:

Doğrusal regresyonun dezavantajları hakkında bazı materyaller okudum - lineer bir eğilim beklediğini, artıkların normal şekilde dağıldığını ve aykırı değer bulunmadığını söyledi. Fakat yapılan tüm doğrusal regresyon, öngörülen satırdaki karesel hataların (SSE) toplamını minimize etmektir. Bu, eğrinin şekli veya artıkların dağılımı ne olursa olsun çözülebilen bir optimizasyon problemidir. Bu nedenle, doğrusal regresyon çalışması için hiçbir varsayım gerektirmez.

Evet, doğrusal regresyon, kare artıkların toplamını en aza indirerek çalışır. Ancak bu tek başına bir regresyonun amacı değildir: yapmaya çalıştığımız şey, x'e dayalı y'nin güvenilir, tarafsız bir tahmincisi olarak hizmet eden bir çizgi çizmektir . Gauss-Markov teoremi SSE minimize olduğu goal- yapar ama bu teoremi bazı çok özel varsayımlara dayanmaktadır söyler. Bu varsayımlar kesintili ise, yine SSE en aza indirebilir, ancak olmayabilir yapmakherhangi bir şey. "Pedala basarak bir araba kullanıyorsunuz: sürüş aslında bir" pedal basma işlemidir "deyin. Tankta ne kadar gaz olursa olsun, pedala basılabilir. Bu nedenle, tank boş olsa bile, pedala hala basabilir ve aracı sürebilirsiniz. "

Ama konuşma ucuz. Soğuk ve sert verilere bakalım. Ya da aslında, tamamlanmış veriler.

görüntü tanımını buraya girin

R2

Biri “Doğrusal regresyon hala bu durumlarda çalışıyor , çünkü artıkların karelerinin toplamını minimize ediyor ” diyebilir . Ama ne Pyrrhic zafer ! Doğrusal regresyon her zaman bir çizgi çekecektir, ancak anlamsız bir çizgi ise kimin umurunda?

Öyleyse şimdi görüyoruz ki, sadece bir optimizasyon yapılabilir çünkü hedefimize ulaştığımız anlamına gelmiyor. Ve veri oluşturmanın ve görselleştirmenin bir modelin varsayımlarını incelemenin iyi bir yolu olduğunu görüyoruz. O sezgiyi bekle, bir dakika içinde buna ihtiyacımız olacak.

Kırık Varsayım: Küresel Olmayan Veriler

K-aracı algoritmasının küresel olmayan kümeler üzerinde iyi çalışacağını savunuyorsunuz. Bunlar gibi küresel olmayan kümeler ...?

görüntü tanımını buraya girin

Belki de beklediğiniz şey bu değildir, ancak kümelenmeleri oluşturmanın mükemmel bir yoludur. Bu görüntüye bakıldığında, biz insanlar derhal iki doğal nokta grubunu tanırız - onları yanlış anlamazlar. Öyleyse k-araçlarının nasıl olduğunu görelim: ödevler renkli, emperyal merkezler X'ler olarak gösterilir.

görüntü tanımını buraya girin

Eh, o doğru değil. K-aracı, yuvarlak bir deliğe kare bir dübel takmaya çalışıyordu - etraflarında temiz küreler bulunan güzel merkezler bulmaya çalışıyordu ve başarısız oldu. Evet, hala küme içi karelerin toplamını minimize ediyor - ama aynen yukarıdaki Anscombe's Quartet'te olduğu gibi, Pyrrhic bir zafer!

"Bu adil bir örnek değil ... hiçbir kümeleme yöntemi o kadar tuhaf kümeleri doğru şekilde bulamıyor " diyebilirsiniz . Doğru değil! Tek bağlantı hierachical clustering'i deneyin :

görüntü tanımını buraya girin

Başarmak! Bunun nedeni, tek bağlantı hiyerarşik kümelemenin bu veri kümesi için doğru varsayımları yapmasıdır. ( Başarısız olduğu başka bir durum sınıfı var).

"Bu tek, aşırı, patolojik bir durum" diyebilirsiniz. Ama değil! Örneğin, dış grubu daire yerine yarım daire yapabilirsiniz ve k-araçlarının hala korkunç bir şekilde yaptığını göreceksiniz (ve hiyerarşik kümelemenin hala iyi olduğunu). Diğer sorunlu durumları kolayca bulabilirdim, ve bu sadece iki boyutta. 16 boyutlu veriyi kümelendiğinde, ortaya çıkabilecek her türlü patolojiler var.

Son olarak, k-araçlarının hala kurtarılabilir olduğunu not etmeliyim! Verilerinizi kutupsal koordinatlara dönüştürerek başlarsanız , kümeleme şimdi çalışır:

görüntü tanımını buraya girin

Bu nedenle bir yöntemin altında yatan varsayımların anlaşılması önemlidir: sadece bir yöntemin sakıncaları olduğunda size söylemez, onları nasıl düzelteceğinizi söyler.

Bozuk Varsayım: Düzensiz Boyutlu Kümeler

Peki ya kümeler eşit olmayan sayıda noktaya sahipse - bu aynı zamanda k-kümelenmesini de kıran şey midir? Peki, 20, 100, 500 boyutlarındaki bu kümeleri düşünün. Her birini çok değişkenli bir Gaussian'dan yarattım:

görüntü tanımını buraya girin

K-aracı muhtemelen bu kümeleri bulabilir, değil mi? Her şey temiz ve düzenli gruplara oluşturulmuş gibi görünüyor. Öyleyse k-araçlarını deneyelim:

görüntü tanımını buraya girin

Ahh. Burada olanlar biraz daha hafif. Küme içi kareler toplamını en aza indirme arayışında, k-aracı algoritması daha büyük kümelere daha fazla "ağırlık" verir. Uygulamada bu, küçük kümelerin herhangi bir merkezden uzağa gitmesine izin vermenin mutluluğunu ifade ederken, bu merkezleri çok daha büyük bir kümeyi "bölmek" için kullanmaktır.

Bu örneklerle biraz oynarsanız ( burada R kodu! ), K-aracının utanç verici şekilde yanlış yaptığı yerlerde çok daha fazla senaryo oluşturabileceğinizi göreceksiniz.

Sonuç: Bedava Öğle Yemeği Yok

Wolpert ve Macready tarafından resmileştirilmiş , "Ücretsiz Öğle Yemeği Teoremi" olarak adlandırılan matematiksel folklorda büyüleyici bir yapı var . Muhtemelen makine öğrenme felsefesi sevdiğim teoremi var ve bunu getirmek için herhangi bir gol atmış (did Ben bu soruyu seviyorum söz?) Temel fikri bu şekilde (non-titizlikle) belirtilmektedir: "tüm olası durumlara arasında ortalama zaman Her algoritma eşit derecede iyi performans gösterir. "

Sezgisel ses mi? Bir algoritmanın çalıştığı her durum için, korkunç bir şekilde başarısız olduğu bir durum oluşturabileceğimi düşünün. Doğrusal regresyon, verilerinizin bir çizgiye düştüğünü varsayar, ancak ya sinüzoidal bir dalgayı izlerse? Bir t-testi, her numunenin normal bir dağılımdan geldiğini varsayar: ya da bir ayracı atarsan? Herhangi bir degrade yükselme algoritması yerel maksima'da sıkışıp kalabilir ve denetlenen herhangi bir sınıflandırma aşırı uyarlama için kandırılabilir.

Ne anlama geliyor? Bu, varsayımların gücünüzün geldiği yer olduğu anlamına gelir! Netflix size filmler önerdiğinde, bir filmi seviyorsanız, benzer filmleri beğeneceğinizi (ve bunun tersini yapacağınızı) varsayıyoruz. Bunun doğru olmadığı bir dünya hayal edin ve zevkleriniz türler, aktörler ve yönetmenler arasında tam anlamıyla rastgele dağıldı. Onların öneri algoritmaları korkunç derecede başarısız olur. "Eh, hala beklenen bazı kare hatasını minimize ediyor, bu yüzden algoritma hala çalışıyor" demek mantıklı mı? Kullanıcıların zevkleri hakkında bazı varsayımlar yapmadan öneri algoritması yapamazsınız - tıpkı bu kümelerin doğası hakkında bazı varsayımlar yapmadan kümeleme algoritması yapamadığınız gibi.

Bu yüzden sadece bu dezavantajları kabul etmeyin. Onları tanıyın, böylece kendi seçtiğiniz algoritmaları bildirebilirler. Onları anlayın, böylece algoritmanızı düzeltebilir ve bunları çözmek için verilerinizi dönüştürebilirsiniz. Ve onları sevin, çünkü modeliniz asla yanlış olmazsa, bu asla doğru olmayacağı anlamına gelir.



50
Bu tutkulu cevap için +1. Özellikle kutup dönüşüm örneğinden hoşlandım, bu zeki numaralar matematiksel olarak cahil beynimi şaşırtmaktan asla vazgeçmiyorlar.
mugen

20
+ 1, bu, analizin ayrıntılarında tıkanmadan varsayımların nasıl bozulduğunu gösteren harika bir iş çıkaran, kesinlikle güzel bir cevaptır.
Louis Cialdella

15
+1 İnsanların bana şikayet etmeye devam ettiği ortak şeylerden biri teorik şeylerin pratikte işe yaramadığıdır. Ancak "verileriniz modelin varsayımlarına uyuyor mu?" Ben sadece yüzlerinden boş bir bakış alıyorum. Cevabınız ve özellikle son bölüm beni çok mutlu etti.
TenaliRaman

9
+1 Vay, bir süredir buralardayım, ancak bir günde 50'den fazla oy almak için hiçbir zaman bir cevap görmediğimi düşünüyorum . Bu gerçekten etkileyici bir başarı.
amip

7
Gördüğüm gibi, kutup dönüşümü burada temel olarak çekirdek kümelenme tekniklerine yönelik ilk ve jargonsuz bir örnek olarak kullanışlıdır - bu tür bir ön dönüşüm, doğrusal öğrenme yöntemlerinin nasıl çalışılacağıdır.
Mikael Vejdemo-Johansson

7

@ DavidRobinson'ın cevabını, en az toplam küme varyansına kümelemenin aslında bir- birleştirme optimizasyon problemi olduğunu eklemek isterim ki bu, k-anlamına gelen tek bir tekniktir - ve ikincisine "tek atış", yerel "en dik iniş" doğası verilir. bir oldukça kötü de bir tane. Ayrıca, küme tohumlarının nerede olması gerektiğine karar veren “çıplak kemikleri” k-anlamına gelir (bir şekilde çabucak!) Büyük ölçüde iyileştirmeye çalışmak, nihai kümeleri etkilediği için: tohumlar nihai kümeleri etkilediği için (büyük ölçüde!) En iyisinin ne olduğunu "bilmek" ... aslında hesaplamadan önce .

Bununla birlikte, çoğu optimizasyon problemi olarak, yine de bazı ciddi optimizasyon tekniklerine uygun olabilir . Bunlardan biri (NFL'nin gerektirdiği gibi) sorunun yapısına çok yakından uyuyor ve kesinlikle sonuçlarında ortaya çıkıyor. Burada herhangi bir reklam yapmak istemiyorum (ve - haklı olarak böyle - görgü kurallarına aykırı), bu yüzden ilgileniyorsanız, sadece burada okuyun ve kendi kararınızı verin.

Ben k-Means kesinlikle olmadığını @ttnphns katılıyorum söyleniyor değil tamamen farklı iki sorunların maliyeti fonksiyonları - Bir Gauss Karışım tanımlar. En uygun olanı bulmanın (veriye verilen modelin olasılığı açısından) Gaussian Mixture'ın aynı zamanda bir birleşimsel optimizasyon problemi olduğu ve bunun da ciddi bir optimizasyon tekniğinin de bulunduğu bir sonuç olduğu ortaya çıktı. Bir kez daha, hiç reklam yok: Burada kendi sonuca ulaşabilirsin - Burada tartışılan algoritmanın gerçekten, @ DavidRobinson'ın gönderisindeki son resimdeki kümeleri doğru şekilde tanımlayabildiğini söyleyeceğim . Hatta doğru (yani, matematiksel olarak iyi tanımlanmış bir şekilde) aykırı değerlerin çok yıllık sorununu çözer.yani, kümelerin hiçbirine ait olmayan veri noktaları, çünkü sadece tamamen rastgeledirler ( örneğin, k-Means'ı tamamen raydan çıkarırlar ). Bu bir ek sahip yapılır tekdüze dağılım Gauss'ların ... ve görkemli sonuçla rekabet gerçekten raporları, eşit dağıtılmış veri olduğunu açık var şey orada (başka bir yerde hiç görmedim).

Şimdi açık bir şekilde, NFL'ye göre ve haklı bir şekilde belirtildiği gibi, dışlayıcı tanımlaması olan küresel olarak en uygun Gauss Karışımları bile önceden bir varsayıma dayanıyor - yani verilerin gerçekten normal bir şekilde dağıtıldığı. Neyse olsa Büyük Sayılar Kanunu sayesinde sayısız doğal fenomenler do varsayımına uygundur.

YASAL UYARI: En derin özür dilerim, hem yukarıdaki belgeleri hem de tartıştıkları algoritmaları yazdım.

PS Macready ile bir keresinde bir araya geldim - son derece parlak ve hoş bir adam!


Bunun sorunun cevabı olduğu farz edilir.
Michael Chernick

3
Aslında bir cevap IS, Michael: k-Kombine bir optimizasyon probleminin gerçekte ne olduğunu çözmek için ÖNEMLİ Demektir ... ama kesinlikle DEĞİL (hiçbir şekilde ciddi değil)! Ayrıca, k-Means (tasarım yoluyla) küresel dağılımları varsayar, ki bu sizin ağlamanızı sağlar (boyutlardan birini iki ile çarpın ve "akıllı" tohumlarınız ne olursa olsun, tamamen farklı bir şey elde edin!). Aykırı olanların sorunu (gördüğüm hiçbir gerçek dünya verisinde mevcut değil!) K-anlamına gelir, k-anlamına gelen "ciddi" kümelemede olabilecek her şeyi tamamen yok etmelerine rağmen.
Emanuel Falkenauer

1
@EmanuelFalkenauer, siteye hoşgeldiniz. Cevabınız için oy kullanıyorum (+1), ancak bu sadece biraz iddialı. K-demek bir insan için nasıl bir şeymiş gibi davranabilir ? Yaptığı şeyi yapar ve basit / hızlı bir yöntem için fena değildir.
ttnphns

@ ttnphns: Hoş geldiniz ve teşekkürler için teşekkürler! Tabii ki k-Means hiçbir şey yapmıyor (sadece bir kod parçası - benim de kötüm!), Ancak terfi eden insanlar - OP'nin belirttiği gibi. Bunun "basit / hızlı" bir yöntem olduğunu belirttiğinize katılıyorum - ama asıl sorun, en basit olan verilere dayanan verilere dayanmanın intihara yakın olması: zaman, ama onlar bile, korkunç bir iş yapıyor. Sadece en dik iniş ile bir kombinasyon problemini çözmüyorsunuz. ;-)
Emanuel Falkenauer

6

Mantıklı konuşursak, K-araçlarının sakıncaları:

  • Kümelerin doğrusal olarak ayrılması gerekir
  • küme sayısını belirtmeniz gerekir
  • Algoritmalar: Loyds prosedürü, birçok nokta veya boyut olduğunda iyi bir başlangıç ​​olsa bile gerçek global maksimuma yakınlaşmaz.

Fakat K-aracı, genellikle düşündüğümüzden daha iyidir. Bir milyon metnin gerçek hayattaki metin sınıflamasında diğer kümeleme yöntemlerine (spektral, yoğunluk ...) ve LDA'ya karşı test ettikten sonra oldukça hevesli oldum: K-araçları, örneğin LDA'dan çok daha iyi bir doğruluğa sahipti (% 88'e karşılık % 59). Diğer bazı kümeleme yöntemleri iyiydi, ancak K-araçları en üste yakındı ve karmaşıklık açısından daha uygun oldu.

Çok çeşitli problemlerde evrensel olarak daha iyi olan bir kümeleme metodunu hiç okumamıştım. K-araçlarının evrensel olarak daha iyi olduğunu söylememek, bildiğim kadarıyla evrensel bir kümelenme süper kahramanı olmadığı için. Pek çok makale, pek çok yöntem, gerçek bir devrim değil (benim kişisel sınırlı deneyimlerimden bazıları).

K-araçlarının mantıksal dezavantajlarının genellikle sadece belirgin olmasının ana nedeni, 2B düzlemde kümelenme noktalarının makine öğrenmede nadiren yaptığınız bir şey olmasıdır. Geometrik sezgiden 2D, 3D'de doğru olan birçok şey, oldukça yüksek boyutta veya soyut vektör uzaylarında anlamsızdır (sözcük torbası gibi, değişkenlerin vektörü ...)

Doğrusal ayrılabilirlik: Gerçek hayat verilerinde dairesel kümelerle nadiren başa çıkmak zorunda kalırsınız. Bu durumlarda olmadıklarını varsaymak daha da iyidir. Algoritmanızın onları aramasına izin vermek, gürültünün içinde garip dairesel kümeler bulmasını sağlar. K-aracındaki lineer varsayım, onu genellikle daha sağlam kılar.

Küme sayısı: Görmek istediğiniz gerçek ideal ideal küme sayısı yoktur. Örneğin, metin sınıflandırma için, 100 kategoriler olabilir, 105, 110 ... hepsi özneldir. Küme sayısının belirtilmesi, küresel bir ayrıntı düzeyi belirlemeye eşdeğer olur. Tüm kümeleme yöntemlerinin yine de bir ayrıntılı özellik belirtimi gerekir.

10a lot

Ancak tüm kümeleme algoritmalarının bu gibi sınırlamaları vardır. Örneğin, Spektral kümelemede: gerçek özvektörleri bulamazsınız, sadece yaklaşımlar.

Aynı hesaplama süresi boyunca, oldukça optimize edilmiş bir LDA kütüphanesi, ev yapımı (mükemmel şekilde optimize edilmemiş) K-araçlarımızdan daha az başarılı oldu. O zamandan beri biraz farklı düşünüyorum.


1

K-araçlarının sakıncalarını anlamak için, bunun arkasındaki modelin ne olduğunu düşünmeyi seviyorum.

KK

Kσ2Iσ2Kσ20

Peki, bu bize K-araçlarının sakıncaları hakkında ne söylüyor?

  1. K-aracı, çok değişkenli Gauss'a benzeyen kümelere yol açar.
  2. Değişkenler arasındaki varyans aynı olduğundan, K-aracı küresel görünen kümelere yol açar.
  3. K
  4. K-aracı eşit büyüklükteki gruplara yönelir.

K-aracı aslında oldukça kısıtlayıcı bir algoritmadır. Bunun avantajı yukarıdaki varsayımlarla, algoritmayı oldukça hızlı bir şekilde gerçekleştirebilmenizdir. Ancak, kümelenme performansı sizin için önemliyse, K-aracı, gerçek durumlarda genellikle çok kısıtlayıcıdır.


2
Tamamen aynı fikirdeyim. 7. İstem K-araçlarının belirli bir Gauss karışımı olduğu anlamına gelir; K-araçları normal gibi belirli bir dağılım varsaymamaktadır (bu nedenle muhtemel toprak değildir). Üst üste binmeyen kümelerin (yani "karışım" yok) olduğunu varsayar. Küresel kümeleri varsayar, fakat Voronoi hücrelerinin dışbükey çokgenlerini varsaydığını söylemek daha kesindir. Belki de K-araçlarının hiçbir şeyi "modellemediğini" söyler, bir veri üretme işlemine doğrudan bir referansı yoktur. K-"eşit boyutta [puan sayısına göre] gruplara" eğilimi gösterir - zorunlu değil.
ttnphns

4
@ttnphns k-aracının gerçekten özel bir GMM örneği olduğu gösterilebilir: en.wikipedia.org/wiki/K-means_clustering#Gaussian_Mixture_Model
TrynnaDoStat

It can be shown that. Yeterli gerilme ile, aklın ötesinde, aklın ötesinde bir şey gösterilebilir.
ttnphns

2
@ Ttnphns Hayır, her şey matematiksel olarak gösterilemez.
TrynnaDoStat,
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.