Tanıtım
Kümeleme, verilerin kendisinden kümeler olarak bilinen benzer veri noktalarından oluşan grupları tanımlayabilen denetimsiz bir makine öğrenimi yöntemidir. K-ortalamaları gibi bazı kümeleme algoritmaları için, önceden kaç tane küme olduğunun bilinmesi gerekir. Küme sayısı yanlış belirtilirse, sonuçlar çok bilgilendirici olmaz (bkz. Şekil 1).
Ne yazık ki birçok durumda verimizde kaç küme olduğunu bilmiyoruz. Aslında, kaç tane küme olduğunu bulmak, ilk etapta kümeleme yapmak istememizin nedeni olabilir. Elbette, veri kümesinin etki alanı bilgisi kümelerin sayısını belirlemeye yardımcı olabilir. Ancak bu, hedef sınıfları (veya en azından kaç sınıf olduğunu) bildiğinizi varsayar ve bu denetimsiz öğrenmede doğru değildir. Bir hedef değişkene dayanmadan bize küme sayısı hakkında bilgi veren bir metoda ihtiyacımız var.
Doğru küme sayısını belirlemede olası bir çözüm, kaba kuvvet yaklaşımıdır. Farklı sayıda kümeye sahip bir kümeleme algoritması uygulamaya çalışıyoruz. Ardından, kümeleme sonuçlarının kalitesini optimize eden sihirli sayıyı buluruz. Bu makalede, önce küme kalitesini değerlendirmek için iki popüler metriği tanıtıyoruz. Ardından, optimal küme sayısını bulmak için üç yaklaşımı ele alıyoruz:
Optimal küme sayısını belirlemek için farklı yöntemlere girmeden önce, kümeleme sonuçlarının kalitesini nicel olarak nasıl değerlendirebileceğimizi göreceğiz. Aşağıdaki senaryoları hayal edin. Aynı veri seti üç kümeye ayrılmıştır (bkz. Şekil 2). Gördüğünüz gibi, kümeler solda iyi tanımlanmış, sağda ise kümeler kötü tanımlanmış.
Nedenmiş? Kümelemenin amacının, kümelerdeki veri noktalarını (1) bir küme içindeki noktaların mümkün olduğunca benzer, (2) farklı kümelere ait noktaların mümkün olduğunca farklı olması için gruplandırmak olduğunu unutmayın. Bu, ideal kümelemede küme içi varyasyonun küçük, kümeler arası varyasyonun ise büyük olduğu anlamına gelir. Sonuç olarak, iyi bir kümeleme kalite metriği (1) ve/veya (2)'yi nicel olarak özetleyebilmelidir.
Böyle bir kalite ölçütü eylemsizliktir. Bu, veri noktaları ile ait oldukları kümelerin merkezleri arasındaki uzaklıkların karelerinin toplamı olarak hesaplanır. Atalet, küme içi varyasyonu ölçer.
Bir başka popüler metrik, hem küme içi hem de kümeler arası varyasyonu özetlemeye çalışan siluet katsayısıdır. Her veri noktasında, veri noktasının ait olduğu küme merkezine olan mesafeyi (a olarak adlandırılır ) ve ikinci en iyi küme merkezine olan mesafeyi ( b olarak adlandırılır) hesaplarız . Burada ikinci en iyi küme, mevcut veri noktasının kümesi olmayan en yakın kümeyi ifade eder. Daha sonra, bu iki a ve b mesafesine dayanarak, o veri noktasının silueti s , s=(ba)/max(a,b) olarak hesaplanır.
İdeal kümeleme altında, a mesafesi b mesafesine kıyasla çok küçüktür , bu da s'nin 1'e yakın olmasına neden olur (bkz. Şekil 3, sol). Kümeleme bir şekilde optimalin altındaysa, o zaman a ve b mesafeleri önemli ölçüde farklı olmayabilir (bkz. Şekil 3, merkez). Bu durumda s 0'a yakındır. Kümeleme daha da kötüyse, o zaman a mesafesi aslında b mesafesinden daha büyük olabilir (bakınız Şekil 3, sağ). Böyle bir senaryoda, s , -1'e yakın olarak negatif olur.
Tüm veri noktalarında s hesaplandığında, s'nin ortalaması bir siluet katsayısını belirler. Her küme için ayrı ayrı veya tüm veri noktaları için bir siluet katsayısı hesaplanabilir. 1'e yakın bir siluet katsayısı, bir kümeleme algoritmasının verileri iyi ayrılmış kümelere bölebildiğini gösterir.
Dirsek Yöntemi
Eylemsizlik, k kümelerinin sayısının azalan bir fonksiyonudur . Bununla birlikte, azalma oranı, optimal küme sayısının ( K ) üstünde veya altında farklıdır . k < K için atalet hızla azalırken k > K için azalma yavaştır . Böylece, bir k aralığı üzerinde eylemsizliğin grafiğini çizerek, K'de eğrinin nerede büküldüğünü veya dirsekleri belirleyebiliriz. Şekil 4, Şekil 1'deki örneğimizden bir atalet grafiğini göstermektedir. Bir dirseği veya dirseği açıkça görebiliriz, k =6'da .
Bununla birlikte, bu yöntem biraz özneldir, çünkü farklı kişiler dirseği farklı yerlerde tanımlayabilir. Şekil 4'teki örneğimizde, bazıları k =4'ün dirsek olduğunu iddia edebilir. Ayrıca, daha sonra göreceğimiz gibi dirsek her zaman belirgin olmayabilir.
Dirsek yönteminin kullanım durumu, KNIME Analytics Platformunu kullanan bir sosyal ağdaki optimal konu sayısını belirlemek için bir doğal dil probleminde görülebilir ( Konu Çıkarma: Dirsek Yöntemiyle Konu Sayısını Optimize Etme bloguna bakın ). Eylemsizliği hesaplayacak bir KNIME düğümü olmadığından, bu örnekte eylemsizliği hesaplamak için bir Java Snippet düğümü kullanılmıştır. İşte ataleti hesaplamak için kullanılan bir kod parçası.
// Initializing the sum of squares out_sum_squares = 0.0; /* The first half of columns belong to features of the origin. The second half of columns belong to features of the terminus. The groups of columns have to be in the same order. */ int col_count = getColumnCount(); int no_dimensions = col_count / 2; // Loop over the feature columns for(int i=0; i < no_dimensions; i++){ /* Checking if the feature i from the origin and the feature i from the terminus (i.e., i+no_dimensions) are not missing, and have similar column names */ if(!isMissing(i) && isType(i, tDouble) && !isMissing(i+no_dimensions) && isType(i+no_dimensions, tDouble) && getColumnName(i+no_dimensions).contains(getColumnName(i))){ // Calculating the squared distance and adding it to the sum out_sum_squares += Math.pow(getCell(i, tDouble) - getCell(i+no_dimensions, tDouble), 2); } }
Siluet katsayısı, optimal küme sayısını belirlemek için daha objektif bir araç sağlayabilir. Bu, basitçe bir k aralığında siluet katsayısını hesaplayarak ve tepeyi optimum K olarak tanımlayarak yapılır . Bir KNIME bileşeni Optimize Edilmiş K-Means (Siluet Katsayısı) tam olarak bunu yapar. Bir k aralığı üzerinde K-Ortalama kümelemesi gerçekleştirir , en büyük siluet katsayısını üreten optimal K'yi bulur ve optimize edilmiş K'ye dayalı olarak kümelere veri noktaları atar . Şekil 5, Şekil 1'de sunulan örnek verilerimizden bir siluet katsayı grafiği örneğini göstermektedir. Görüldüğü gibi, siluet katsayısı k'de zirve yapar .=6 ve böylece optimum K olarak belirlenir.
Boşluk İstatistik
Boşluk istatistikleri hakkında konuşmak için, herhangi bir küme organizasyonu olmayan rastgele bir veri kümesinin kümelenmesini düşünelim. Rastgele bir veri kümesinin k küme halinde kümelendiğini ve eylemsizliğin sonuçta ortaya çıkan kümelemeye dayalı olarak hesaplandığını varsayalım (bkz. Şekil 6). Altta yatan küme organizasyonunun olmamasına rağmen, kümelenmiş rastgele veriler, k arttıkça sürekli olarak azalan atalet (çoğul eylemsizlik) üretir. Bunun nedeni, ne kadar çok küme merkezi varsa, küme merkezlerine olan veri noktaları arasındaki mesafenin o kadar küçülmesi ve azalan atalet üretmesidir. Buna karşılık, Şekil 4'te daha önce gördüğümüz gibi, eylemsizlikteki azalma oranı, k'nin optimum küme sayısının altında veya üstünde olup olmadığına göre değişir.küme organizasyonu ile bir veri kümesinde. Gözlenen ve rastgele veriler için atalet birlikte çizildiğinde, fark belirginleşir (bkz. Şekil 7). Boşluk istatistiği, (umarım) kümelenmiş bir veri kümesinden atalet ve veri alanındaki aynı aralıkları kapsayan karşılık gelen rastgele bir veri kümesinden karşılaştırılarak hesaplanır (Tibshirani ve diğerleri, (2001)).
Bir boşluk istatistiğinin fiili hesaplamasında, bir dizi rastgele örnek üretilir, ardından bir k aralığı üzerinde kümelenir ve elde edilen atalet kaydedilir. Bu, rastgele durumlar için bir dizi eylemsizliğe izin verir. Orijinal veri seti ayrıca bir dizi atalet ile sonuçlanan bir k aralığı üzerinde kümelenmiştir. k kümede boşluk istatistiği şu şekilde hesaplanır:
Burada Wk(i), k kümeli i -inci rasgele örnekten (i=1,2,…,B) gelen eylemsizlik ve Wk, k kümeli orijinal verilerden gelen eylemsizliktir . Ayrıca standart sapmasını şu şekilde hesaplıyoruz:
Ardından , koşulu sağlayan en küçük k olarak optimal K'yi buluruz.
Bir boşluk istatistiğinin hesaplanması bir simülasyonu içerir. Bir KNIME iş akışı içinde bazı R komut dosyalarıyla boşluk istatistiğini hesaplamak için R'deki işlevleri çağırırız. Özellikle, farklı k'deki boşluk istatistiğini hesaplamak için clusGap() işlevi çağrılır ve maxSE() , yukarıda açıklanan koşulu karşılayan optimal K değerini döndürür. Şekil 8, Şekil 1'deki örnek veri setimizin, her k'de B =100 yinelemeye dayalı boşluk istatistik grafiğini göstermektedir . Kırmızı çizgi, yukarıdaki koşulu sağlayan optimum K'yı temsil eder.
Boşluk istatistik yöntemiyle belirlenen optimal K'nin tutarlı olmayabileceğine dikkat edilmelidir. Örneğin, boşluk istatistik yöntemi oyuncak verilerimize birçok kez uygulandığında, ortaya çıkan optimal K farklı olabilir (bkz. Şekil 9).
Örnek: MNIST El Yazısı Rakam Verileri
Şimdi küme organizasyonu ile gerçek bir veri seti üzerinde yukarıda açıklanan üç yöntemi inceleyelim. MNIST veri seti, 0'dan 9'a kadar elle yazılmış rakamların gri tonlamalı görüntülerinden oluşur. Bu örnekte, 8x8 pikselli n=1797 görüntü kullanıyoruz. Şekil 10, veri setinin bazı örneklerini göstermektedir. Yukarıda açıklanan üç yöntem, optimal küme sayısını belirlemek için kullanılır. Bu veri setinde 10 farklı rakam olduğundan, her biri bir rakama karşılık gelen 10 küme olduğunu varsaymak mantıklıdır. Ancak, insanların bazı rakamları yazmasının birden fazla yolu olabilir. Bu nedenle, gerçekte kümelerin sayısı mutlaka 10 değildir. Verilerin 2B dağılım grafiği (tSNE tarafından 2B uzaya yansıtılan, bkz. Şekil 11), bazı kümelerin diğerlerinden iyi ayrılmış olabileceğini gösterirken, bazıları kümeler birbirine değiyor veya örtüşüyor olabilir.https://kni.me/w/ACjm92qCUGbXsCX6.
Grafikte görünür bir dirsek olmadığı için dirsek yönteminin sonucu yetersizdir (Şekil 12, sol). Arsada bazı ince kıvrımlar vardır (örneğin, birkaçını saymak gerekirse 9, 12, 20, 24) ve bunlardan herhangi biri küme sayısı olarak seçilebilir.
Siluet katsayısı k =12'de bir tepe noktasına sahiptir (Şekil 12, sağda). Gap istatistik yöntemine göre k=12 de optimal küme sayısı olarak belirlenir (Şekil 13). k-Means kümelerini k=9 (dirsek yöntemine göre optimum) ve k=12 (siluet ve boşluk istatistik yöntemlerine göre optimum) ile görsel olarak karşılaştırabiliriz (bkz. Şekil 14).
Çözüm
Dirsek yöntemi, siluet katsayısı ve boşluk istatistiği olmak üzere optimum küme sayısını seçmenin üç farklı yöntemini sergiledik. Bir dirsek grafiğinin yorumlanması oldukça öznel olsa da, hem siluet katsayısı hem de boşluk istatistikleri yöntemleri, küme sayısını kesin olarak belirleyebilir. Ancak, boşluk istatistiği bir simülasyon içerir ve her zaman aynı çözümü üretmeyebilir.
Birçok makine öğrenimi yöntemi gibi burada açıklanan yöntemler de tüm senaryolarda iyi çalışmaz. Bu yöntemler, küme merkezleri ve veri noktaları arasındaki mesafeyi ölçtüğü için, K-Ortalama kümelemesinde bulunan kümeler gibi dışbükey kümeleri bulmak için uygundur.
Referans
Yasal Uyarı: Bu makale yalnızca eğitim amaçlıdır. Kimseyi web sitelerini, özellikle de bu tür eylemlere karşı hüküm ve koşulları olabilecek web mülklerini kazımaya teşvik etmiyoruz.
Biçimsel bir sistem, temel sembollerden ve bu sembolleri manipüle etmek için bir dizi kuraldan oluşan bir mantık yapısıdır. Bu semboller “temeldir” çünkü içsel bir anlamları yoktur.
Sathya Krishnan Suresh, Shunmupapriya P Bu yazıda, stili ve içeriği iki ayrı görüntüden gelen yeni görüntüler oluşturmak için kullanılabilecek bir yöntem olan “Nöral Stil Transferi” adlı ilginç bir konuyu tartışacağız. Bu makale Leon A Gatys ve arkadaşlarının A Neural Algorithm of Artistic Style (Sanatsal Stilin Sinirsel Algoritması) temel alınarak hazırlanmıştır; burada yazar, Evrişimsel Sinir Ağı (CNN) katmanlarını kullanarak yeni bir görüntünün oluşturulması hakkında ayrıntılı bir açıklama sunar.
1.Nörogenez, sinirsel düzenleyici gibi davranabilir mi?(biorXiv) Yazar : Lina M.
2021'de hizmet verdiğiniz müşteriler ve onlara anlattığınız hikayeler hakkında bildiğiniz her şeyi yeniden düşünmenizi tavsiye ediyorum. Geri adım atmak.
Arka hikaye Her ürünün bir hikayesi vardır ve bu Yapdoof'un başlangıç hikayesidir. Yapdoof, Omept Technology Nijerya Limited'in bir ürünüdür.