Normalleştirme ve özellik ölçeklendirme nasıl ve neden çalışır?


61

Birçok makine öğrenme algoritmasının ortalama iptal ve kovaryans eşitleme ile daha iyi çalıştığını görüyorum. Örneğin, Sinir Ağları daha hızlı birleşme eğilimi gösterir ve K-Means genellikle önceden işlenmiş özelliklerle daha iyi kümeleme sağlar. Bu ön işleme adımlarının ardındaki sezginin performansın yükselmesine neden olduğunu görmüyorum. Biri bunu bana açıklayabilir mi?

Yanıtlar:


25

Bu, yalnızca tüm verilerinizi aynı ölçekte almanızın bir örneğidir: farklı özellikler için ölçekler çılgınca farklıysa, öğrenme yeteneğiniz üzerinde etkisi olabilir (bunu yapmak için hangi yöntemleri kullandığınıza bağlı olarak) . Standart özellik değerlerinin sağlanması, tüm özellikleri temsillerinde eşit olarak ağırlıklandırır.


3
"Bu, öğrenebilme yeteneğinizi etkileyebilecek bir etki yaratabilir" derken neyi kastediyorsunuz, belki bunu genişletebilirsiniz?
Charlie Parker,

14
Bu gerçekten iyi bir açıklama değil. Doğru anlayışı elde etmek için açıklamada en azından daha derine inmeniz gerekir.
Zelphir Kaltstahl

x-rw

40

Makine öğrenmesinde önişlemenin biraz siyah bir sanat olduğu doğrudur. Birkaç ön işleme basamağının çalışması için neden gerekli olduğu, kağıtlara çok fazla yazılmamıştır. Her durumda anlaşılıp anlaşılmadığından da emin değilim. İşleri daha karmaşık hale getirmek için, kullandığınız yönteme ve ayrıca sorun alanına bağlıdır.

Bazı yöntemler örneğin, afin dönüşüm değişmez. Sinir ağınız varsa ve yalnızca verilerinize bir afine dönüşümü uygularsanız, ağ teoride hiçbir şey kaybetmez veya kazanmaz. Bununla birlikte, pratikte, girişler merkezlenmiş ve beyazsa, sinir ağı en iyi şekilde çalışır. Bu onların kovaryanslarının köşegen olduğu ve ortalamanın sıfır vektör olduğu anlamına gelir. Neden işleri iyileştiriyor? Bunun nedeni, nöral ağın optimizasyonunun daha zarif bir şekilde çalışmasıdır, çünkü gizli aktivasyon fonksiyonları o kadar hızlı doymaz ve bu nedenle size öğrenmenin başında sıfır dereceye yakın dereceler vermez.

Diğer yöntemler, örneğin K-Means, ön işleme bağlı olarak size tamamen farklı çözümler sunabilir. Bunun nedeni bir afin dönüşümünün metrik boşlukta bir değişikliği ima etmesidir: iki numunenin Öklid mesafesi btw'den sonra bu dönüşümden farklı olacaktır.

Günün sonunda verilere ne yaptığınızı anlamak istiyorsunuz. Örneğin bilgisayarlı görmede beyazlatma ve akıllıca normalleşme örneği, insan beyninin görme hattında yaptığı gibi bir şeydir.


17

Giriş normalizasyonunun neden YSA ve k araçları için yararlı olabileceği üzerine bazı fikirler, referanslar ve çizimler:

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. Eğer bu bilgi önemliyse, standartlaştırma 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şimlerinin standartlaştırılması. 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 daha sonra 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.


6

Özellik ölçeklendirme neden işe yarıyor? Size bir örnek verebilirim ( Quora'dan )

Bunu sadece sinir ağları değil, genel ML perspektifinden cevaplayayım. Veri topladığınızda ve özellikleri çıkardığınızda, veriler birçok kez farklı ölçeklerde toplanır. Örneğin, bir şirkette çalışanların yaşı 21-70 yaş arasında olabilir, yaşadıkları evin büyüklüğü 500-5000 Metrekare ve maaşları değişebilir. Bu durumda basit bir Öklid kullanıyorsanız metrik olarak, yaş özelliği hiçbir rol oynamaz çünkü diğer özelliklerden birkaç kat daha küçüktür. Ancak, görev için yararlı olabilecek bazı önemli bilgileri içerebilir. Burada, özellikleri aynı ölçeğe göre bağımsız olarak normalleştirmek isteyebilirsiniz, [0,1], bu nedenle mesafeyi hesaplarken eşit katkıda bulunurlar.30000


4
Quora'dan bir yazıya atıfta bulunuyorsanız, gerçekten kaynağa bağlamanız gerekir.
Matthew Drury

5

İki ayrı konu var:

a) doğru işlevi öğrenmek, örneğin k-aracı: giriş ölçeği temelde benzerliği belirler, böylece bulunan kümeler ölçeklendirmeye bağlıdır. Düzenleme - Örn: L2 Düzenleme ağırlıkları - Her bir ağırlığın "eşit derecede küçük" olması gerektiğini varsayarsınız - Verileriniz "uygun şekilde ölçeklendirilmezse"

b) optimizasyon, yani gradyan inişi (örneğin çoğu sinir ağı). Degrade iniş için, öğrenme oranını seçmeniz gerekir ... ancak iyi bir öğrenme oranı (en azından 1. gizli katmanda) girişin ölçeklendirilmesine bağlıdır: küçük [ilgili] girişler genellikle daha büyük ağırlıklara ihtiyaç duyar, bu nedenle daha büyük bir öğrenme istersiniz bu ağırlık için oran (oraya daha hızlı ulaşmak için) ve büyük girdiler için vv ... yalnızca tek bir öğrenme oranı kullanmak istediğinizden, girdilerinizi yeniden ölçeklendirirsiniz. (ve beyazlatma yani dekorelleştirme de aynı sebepten dolayı önemlidir)



1

Bu makale sadece k araçları hakkında konuşur, ancak oldukça önceden veri işleme gerekliliğini açıklar ve kanıtlar.

Standardizasyon, veri madenciliğinde, farklı dinamik aralıktan belirli bir aralıkta özelliklerin veya niteliklerin değerlerini standartlaştırmak için merkezi ön işleme adımıdır. Bu yazıda, üç standardizasyon yönteminin geleneksel K-ortalama algoritması üzerindeki performanslarını analiz ettik. Enfeksiyöz hastalıklar veri setleri ile ilgili sonuçlar karşılaştırılarak, z-skor standardizasyon metodu ile elde edilen sonucun min-max ve ondalık ölçek standardizasyon metotlarından daha etkili ve verimli olduğu bulunmuştur.

.

... eğer büyük boyutlu veya büyük değişkenliğe sahip bazı özellikler varsa, bu tür özellikler kümelenme sonucunu güçlü şekilde etkiler. Bu durumda, veri standardizasyonu veri setlerinin değişkenliğini ölçeklemek veya kontrol etmek için önemli bir ön işleme görevi olacaktır.

.

... boyutsal özelliklerin boyutsuz olması gerekir, çünkü boyutsal özellik aralıklarının sayısal değerleri ölçüm birimlerine dayanır ve bu nedenle ölçüm birimlerinin seçimi kümelenmenin sonuçlarını önemli ölçüde değiştirebilir. Bu nedenle, veri kümelerinin normalleşmesine gerek kalmadan Öklid mesafesi gibi mesafe ölçütleri kullanılmamalıdır.

Kaynak: http://maxwellsci.com/print/rjaset/v6-3299-3303.pdf


1

Ön işleme genellikle çalışır, çünkü çözmeye çalıştığınız sınıflandırma problemiyle ilgili olmayan verilerin özelliklerini kaldırır. Örneğin, farklı hoparlörlerden gelen ses verilerini sınıflandırmayı düşünün. Yükseklikteki (genlik) dalgalanmalar alakasız olabilir, ancak frekans spektrumu gerçekten alakalı olanıdır. Bu nedenle, bu durumda, normalleştirme genliği çoğu ML algoritması için gerçekten yararlı olacaktır, çünkü verilerin alakasız olduğu ve sinir ağlarının sahte kalıplara uymasına neden olacak bir yönünü kaldırmaktadır.


1

Bunun sadece daha büyük bir değere sahip olan bir özelliğin, bir sınıflandırıcı öğrenirken özelliğin etkilerini daha küçük bir değerle gölgelememesi için yapıldığını düşünüyorum. Bu, özellikle daha küçük değerlere sahip olan özellik sınıf ayrılabilirliğine katkıda bulunuyorsa özellikle önemlidir. Lojistik regresyon gibi sınıflandırıcılar karar sınırını öğrenmede zorluk çekecektir, örneğin bir özelliğin mikro seviyesinde mevcutsa ve milyonlarca sıranın diğer özelliklerine sahipsek Ayrıca algoritmanın daha iyi birleşmesine yardımcı olur. Bu yüzden bunları algoritmalarımıza kodlarken hiç şansımız yok. Bir sınıflandırıcı için özelliklerin katkılarını (ağırlıklarını) bu şekilde öğrenmek çok kolaydır. Ayrıca K için de geçerlidir, öklid normlarını kullanırken (ölçek nedeniyle karışıklık). Bazı algoritmalar normalleşmeden de çalışabilir.

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.