Kümelemeden önce verilerinizi standartlaştırmak gerekli midir?


23

Kümeden önce verilerinizi standart hale getirmek gerekli midir? Dan örnekte scikit learnDBSCAN hakkında, burada onlar doğrultusunda bunu:

X = StandardScaler().fit_transform(X)

Ama neden gerekli olduğunu anlamıyorum. Sonuçta, kümeleme herhangi bir veri dağılımını varsaymaz - denetimsiz bir öğrenme yöntemidir, bu nedenle amacı verileri araştırmaktır.

Verileri dönüştürmek neden gerekli olsun?


Ayrıntılı cevaplar için teşekkür ederiz! Tüm cevaplarınızın bir takipçisi olarak: Eğer özellikler farklı ölçeklerde olsaydı, bunun bir sorun yaratabileceğini anlıyorum. Bununla birlikte, mesafe metriği varyansa normalize edilmişse, bu kümelenmeden önce standart ölçeklendirme ile aynı sonucu veriyor mu? yani, genellikle ilgili bir normalleştirilmiş öklid mesafesini kullanırım - bu da ölçeklendirme etkilerini azaltır mı?
Candic3

Yanıtlar:


19

Normalleştirme her zaman gerekli değildir, ancak nadiren acıtır.

Bazı örnekler:

K-anlamı :

K-aracı kümelemesi, tüm alan yönlerinde "izotropiktir" ve bu nedenle daha fazla veya daha az yuvarlak (uzun) yerine kümeler üretme eğilimindedir. Bu durumda, eşit olmayan değişkenler bırakmak, daha küçük değişkenli değişkenlere daha fazla ağırlık koymakla eşdeğerdir.

Matlab'daki örnek:

X = [randn(100,2)+ones(100,2);...
     randn(100,2)-ones(100,2)];

% Introduce denormalization
% X(:, 2) = X(:, 2) * 1000 + 500;

opts = statset('Display','final');

[idx,ctrs] = kmeans(X,2,...
                    'Distance','city',...
                    'Replicates',5,...
                    'Options',opts);

plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(ctrs(:,1),ctrs(:,2),'kx',...
     'MarkerSize',12,'LineWidth',2)
plot(ctrs(:,1),ctrs(:,2),'ko',...
     'MarkerSize',12,'LineWidth',2)
legend('Cluster 1','Cluster 2','Centroids',...
       'Location','NW')
title('K-means with normalization')

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

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

(FYI: Veri kümemin kümelenmiş veya kümelenmemiş olup olmadığını nasıl anlayabilirim (yani tek bir küme oluşturur )

Dağıtılmış kümeleme :

Karşılaştırmalı analiz, dağıtılmış kümelenme sonuçlarının normalizasyon prosedürünün türüne bağlı olduğunu göstermektedir.

Yapay sinir ağı (girişler) :

Giriş değişkenleri bir MLP'de olduğu gibi doğrusal olarak birleştirilirse, en azından teoride girdilerin standartlaştırılması nadiren zorunludur. Bunun nedeni, bir giriş vektörünün herhangi bir yeniden ölçeklendirilmesinin, karşılık gelen ağırlıkları ve önyargıları değiştirerek etkin bir şekilde geri alınabilmesidir; Bununla birlikte, girdilerin standartlaştırılmasının eğitimi daha hızlı hale getirmesinin ve yerel tercihlerde sıkışıp kalma olasılığını azaltmasının çeşitli pratik nedenleri vardır. Ayrıca, standartlaştırılmış girdiler ile ağırlık azalması ve Bayesian tahmini daha uygun şekilde yapılabilir.

Yapay sinir ağı (girişler / çıkışlar)

Bunlardan herhangi birini verilerinize yapmalı mıyım? Cevap, duruma bağlı.

Girdi veya hedef değişkenlerin standartlaştırılması, eğitim sürecinin optimizasyon probleminin sayısal durumunu iyileştirerek (bakınız ftp://ftp.sas.com/pub/neural/illcond/illcond.html ) ve çeşitli varsayılan ayarların yapılmasını sağlayarak daha iyi davranma eğilimindedir. başlatma ve sonlandırma ile ilgili değerler uygundur. Hedeflerin standartlaştırılması, hedef işlevi de etkileyebilir.

Davaların standartlaştırılmasına, bilgiyi attığı için dikkatle yaklaşılmalıdır. Bu bilgi ilgisiz ise, vakaların standartlaştırılması oldukça yardımcı olabilir. Bu bilgi önemliyse, o zaman standardize vakalar felaket olabilir.


İlginç bir şekilde, ölçüm birimlerinin değiştirilmesi çok farklı bir kümelenme yapısı görmeye bile yol açabilir: Kaufman, Leonard ve Peter J. Rousseeuw .. "Verilerdeki grupları bulma: Küme analizine giriş." (2005).

Bazı uygulamalarda, ölçüm birimlerinin değiştirilmesi çok farklı bir kümelenme yapısı görmeye bile yol açabilir. Örneğin, dört hayali insanın yaşı (yıl olarak) ve yüksekliği (santimetre cinsinden) Tablo 3'te verilmiş ve Şekil 3'te gösterilmiştir. Görünüşe göre {A, B) ve {C, 0) iki iyi ayrılmış kümedir . Öte yandan, yükseklik fit olarak ifade edildiğinde, biri belirgin kümelerin şimdi {A, C} ve {B, D} olduğu Tablo 4 ve Şekil 4'ü elde eder. Bu bölüm birinciden tamamen farklı çünkü her konu başka bir yoldaş aldı. (Yaş gün olarak ölçülmüş olsaydı, Şekil 4 daha da düzleşirdi.)

Ölçüm birimlerinin seçimine bu bağımlılığı önlemek için, verileri standartlaştırma seçeneği vardır. Bu, orijinal ölçümleri birimsiz değişkenlere dönüştürür.

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

Kaufman ve diğ. bazı ilginç hususlarla devam ediyor (sayfa 11):

Felsefi açıdan, standardizasyon sorunu gerçekten çözmüyor. Gerçekten de, ölçüm birimlerinin seçimi değişkenlerin göreceli ağırlıklarına neden olmaktadır. Bir değişkeni daha küçük birimlerde ifade etmek, bu değişken için daha büyük bir aralığa yol açar ve bu da sonuçta ortaya çıkan yapı üzerinde büyük bir etkiye sahiptir. Öte yandan, nesnelliğe ulaşma ümidiyle tüm değişkenlere eşit ağırlık verme girişimleri standartlaştırılarak sağlanmıştır. Bu nedenle, önceden bilgisi olmayan bir uygulayıcı tarafından kullanılabilir. Bununla birlikte, bazı değişkenlerin belirli bir uygulamada diğerlerinden daha doğal olması daha önemli olabilir ve ardından ağırlıkların atanması konu bilgisi bilgisine dayanmalıdır (bakınız, örneğin, Abrahamowicz, 1985). Diğer yandan, Değişkenlerin ölçeğinden bağımsız kümeleme teknikleri geliştirmek için girişimlerde bulunulmuştur (Friedman ve Rubin, 1967). Hardy ve Rasson'un (1982) önerisi, kümelerin dışbükey gövdelerinin toplam hacmini en aza indiren bir bölüm aramaktır. Prensipte böyle bir yöntem, verilerin lineer dönüşümleri bakımından değişmez, ancak ne yazık ki, uygulanması için herhangi bir algoritma mevcut değildir (iki boyutla sınırlı bir yaklaşım hariç). Bu nedenle, standardizasyon ikilemi şu anda kaçınılmaz gözüküyor ve bu kitapta anlatılan programlar seçimi kullanıcıya bırakıyor. Hardy ve Rasson'un (1982) önerisi, kümelerin dışbükey gövdelerinin toplam hacmini en aza indiren bir bölüm aramaktır. Prensipte böyle bir yöntem, verilerin lineer dönüşümleri bakımından değişmez, ancak ne yazık ki, uygulanması için herhangi bir algoritma mevcut değildir (iki boyutla sınırlı bir yaklaşım hariç). Bu nedenle, standardizasyon ikilemi şu anda kaçınılmaz gözüküyor ve bu kitapta anlatılan programlar seçimi kullanıcıya bırakıyor. Hardy ve Rasson'un (1982) önerisi, kümelerin dışbükey gövdelerinin toplam hacmini en aza indiren bir bölüm aramaktır. Prensipte böyle bir yöntem, verilerin lineer dönüşümleri bakımından değişmez, ancak ne yazık ki, uygulanması için herhangi bir algoritma mevcut değildir (iki boyutla sınırlı bir yaklaşım hariç). Bu nedenle, standardizasyon ikilemi şu anda kaçınılmaz gözüküyor ve bu kitapta anlatılan programlar seçimi kullanıcıya bırakıyor.


1
Bu cevap olağanüstü
Candic3

6

Verilerin standartlaştırılması önerilir çünkü aksi takdirde her bir özellikteki değerlerin aralığı, genellikle istenmeyen bir veri kümesinin nasıl belirleneceğini belirlerken bir ağırlık olarak görev yapar.

Örneğin, çoğu kümeleme algoritması için standart metriği düşünün (bilim setinde DBSCAN dahil) - euclideanaksi halde L2 normu olarak bilinir. Eğer özelliklerinden biri diğerlerinden çok daha geniş bir değer aralığına sahipse, kümelenmeye tamamen o özellik hakim olacaktır. Bu örneği göstermek için aşağıdaki basit örneğe bakınız:

>>> import numpy as np
>>> from sklearn.preprocessing import StandardScaler
>>> from sklearn.metrics.pairwise import euclidean_distances
>>> 
>>> X = np.array([[1,2,100],[4,3,50],[1,1,75]])
>>> 
>>> print X
[[  1   2 100]
 [  4   3  50]
 [  1   1  75]]
>>> 
>>> print euclidean_distances(X)
[[  0.          50.0999002   25.01999201]
 [ 50.0999002    0.          25.25866188]
 [ 25.01999201  25.25866188   0.        ]]
>>> print euclidean_distances(StandardScaler().fit_transform(X))
[[ 0.          3.46410162  1.73205081]
 [ 3.46410162  0.          3.46410162]
 [ 1.73205081  3.46410162  0.        ]]

Bundan, standartlaştırılmamış versiyonlar arasındaki öklid mesafelerinin üçüncü sütun tarafından domine edildiğini görmelisiniz, çünkü değer aralığı diğer ikisinden çok daha büyüktür. Ancak, veriler standart hale getirildiğinde, bu artık bir sorun haline gelmez ve her bir veri noktası arasındaki mesafeyi hesaplarken her bir özelliğin eşit olmasını sağlar.


1

Seçmek istediğiniz mesafe metriğine bağlı olup olmadığına bakılmaksızın standardize olmak kesinlikle gerekli değildir.

Örneğin, eğer Mahalanobis mesafesini tercih ederseniz, o zaman ayırma, bir ölçek değişmez ölçütü olduğu için, aralarındaki mutlak mesafeyi değil, noktaları ayıran standart sapmaların sayısına bağlı olacaktır.

Makine öğrenimindeki birçok şeyde olduğu gibi, hızlı ve kesin bir cevap yoktur ve kesin olarak bilmenin tek yolu, verileriniz için en uygun sonuçları veren çeşitli teknikleri uygulamaktır.


0

Bazı durumlarda kümelemede kullanılan boyutların "önemini" tanımlayan "iş değerlendirme" işlevini tanımlamakta yararlı buldum. Örneğin, manav müşterilerini kümelemek için, eğer elmalar portakallardan iki kat daha pahalı ise elmalar iki katına çıkar.


Ancak, o zaman bunu kümelendiğiniz ek bir özellik olarak dahil edemez miydiniz? yani fiyat kümelenecek bir özellik haline geliyor mu?
Candic3
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.