ZCA beyazlatma ve PCA beyazlatma arasındaki fark nedir?


59

ZCA beyazlatma ve normal beyazlatma konusunda kafam karıştı (temel bileşenler PCA özdeğerlerinin kareköklerine bölünerek elde edildi). Bildiğim kadarıyla,

xZCAwhite=UxPCAwhite,
burada PCA özvektörleridir.U

ZCA beyazlamasının kullanım alanları nelerdir? Normal beyazlatma ve ZCA beyazlatma arasındaki farklar nelerdir?


2
"Sinir Ağları: Ticaretin Püf Noktaları" na göre, PCA ve ZCA yalnızca bir dönüşle farklılık gösteriyor.
Martin Thoma

Yanıtlar:


80

Daki (ortalanmış) veri saklanabilir Let matris ile sütunlar ve özellikler (değişken) satır veri noktaları. Let kovaryans matrisi sütunlarında vektörlerini sahip diyagonal ve özdeğerler , böylece .n×dXdnC=XX/nEDC=EDE

Sonra "normal" PCA beyazlatma transformasyon tarafından verilen dediğimiz , mesela benim cevaba bakınız kullanarak veri beyazlatmak için nasıl temel bileşenler Analizi?WPCA=D1/2E

Ancak, bu beyazlatma dönüşümü benzersiz değildir. Aslında, beyazlatılmış veriler herhangi bir dönüşten sonra beyazlatılmış olarak kalacaktır; bu , ortogonal matrisli , nin de beyazlatıcı bir dönüşüm olacağı anlamına gelir. ZCA beyazlatma denilen şeyde, (kovaryans matrisinin özvektörleri birlikte yığılmış) bu ortogonal matris olarak , yaniW=RWPCARE

WZCA=ED1/2E=C1/2.

ZCA dönüşümünün tanımlayıcı özelliklerinden biri ( bazen "Mahalanobis dönüşümü" olarak da bilinir), orijinal verilere mümkün olduğunca yakın olan beyazlatılmış verilerle sonuçlanır (en küçük kareler anlamında). Başka bir deyişle, topunun beyazlatılmasına tabi tutulmasını istiyorsanız, o zaman . İşte bir 2D resmi:XXA2XAA=WZCA

PCA ve ZCA beyazlatma

Sol alt nokta verileri ve ana eksenlerini gösterir. Dağılımın sağ üst köşesindeki koyu gölgelemeye dikkat edin: yönünü işaretler. İkinci alt grafikte satırları gösterilir: bunlar verinin yansıtıldığı vektörlerdir. Beyazlattıktan sonra (altta) dağılım yuvarlak görünür, ancak döndüğünü de görürsünüz --- karanlık köşe artık Doğu-Doğu tarafında, Doğu-Doğu tarafındadır. satırları üçüncü alt bölümde gösterilir (ortogonal olmadıklarına dikkat edin!). Beyazlattıktan sonra (aşağıda) dağılım yuvarlak görünür ve orijinalle aynı şekilde yönlendirilir. Tabii ki, PCA beyazlatılmış verilerinden ile döndürülerek ZCA beyazlatılmış verilere ulaşılabilir .WPCAWZCAE

"ZCA" terimi, 1996’da Bell ve Sejnowski’de tanıtıldı.bağımsız bileşen analizi bağlamında ve "sıfır faz bileşen analizi" anlamına gelir. Daha fazla bilgi için oraya bakınız. Muhtemelen, bu terim görüntü işleme bağlamında karşılaştınız. Bir dizi doğal görüntüye (özellik olarak pikseller, her bir veri noktası olarak pikseller) uygulandığında, ana eksenlerin artan frekanslarda Fourier bileşenleri gibi göründüğü görülüyor, aşağıdaki Şekil 1'in ilk sütununa bakınız. Bu yüzden çok "küresel". Öte yandan, ZCA dönüşümünün satırları çok “yerel” görünüyor, ikinci sütuna bakın. Bu tam olarak ZCA'nın verileri olabildiğince az miktarda dönüştürmeye çalıştığından ve bu nedenle her satırın orijinal temel işlevlerine (yalnızca bir tane aktif piksel içeren görüntüler) daha yakın olması gerekir. Ve bunu başarmak mümkündür.

PCA ve ZCA, Bell ve Sejnowski 1996'da

Güncelleme

ZCA filtrelerinin ve ZCA ile dönüştürülmüş görüntülerin daha fazla örneği Krizhevsky, 2009, Minik Resimlerden Birden Çok Özellik Katmanı Öğrenmek bölümünde verilmiştir .

Bu örneklerin ZCA beyazlamasının PCA'ya ne zaman tercih edilebileceği konusunda bir fikir verdiğini düşünüyorum. Yani ZCA ile beyazlatılmış görüntüler normal görüntülere benzerken PCA ile beyazlatılmış görüntüler normal görüntülere benzemiyor. Bu, muhtemelen komşu pikselleri bir arada ele alan ve doğal görüntülerin yerel özelliklerine büyük ölçüde dayanan evrişimli sinir ağları (örneğin, Krizhevsky'nin makalesinde kullanılan) gibi algoritmalar için önemlidir . Diğer birçok makine öğrenme algoritması için verilerin PCA veya ZCA ile beyazlatılmış olması kesinlikle önemsiz olmalıdır .


Teşekkürler! Bir sorum var: yani bu ZCA'nın temelde erişimi değiştirdiği, ancak verilerin konumunu çok fazla değiştiremediği anlamına mı geliyor? (gölgeleme alanınıza göre). Ayrıca, bu ne zaman beyazlatma yaparsak, ZCA beyazlatma yapmalı mıyız? PCAwhitening veya ZCA whitening kullanmaya nasıl karar veririz?
RockTheStar

4
(1) Ne demek istediğinizi tam olarak bilmiyorum, ama şunu söylerim: ZCA, veri kümesini küresel yapmak için genişletir, ancak döndürmemeye çalışır (PCA onu oldukça fazla döndürür). (2) Aslında PCA veya ZCA beyazlatıcı kullanmanın bir önemi olmadığını düşünüyorum. ZCA'nın nerede tercih edilebileceğini hayal edebileceğim tek durum, evrişimsel sinir ağları için ön işlemlerdir. Lütfen cevabımın bir güncellemesini görün.
amip diyor Reinstate Monica

5
PCA, bir Fourier dönüşümü yapmak gibidir, ZCA, (sıfır fazlı) bir doğrusal filtre uygulayarak, dönüştürmek, çoğaltmak ve geri dönüştürmek gibidir. Öyleyse gördüğümüz şey, her piksele filtre impuls yanıtı. Operasyonda yer alan "bileşenler" aynıdır, "temel bileşenler" olan E sütunları aynıdır ... Demek istediğim, W bileşenlerinin satırlarını da çağırabilirsiniz, ancak bunu anlamanın önemli olduğunu düşünüyorum. Aynı “temel bileşenler” söz konusudur ve ZCA'yı uyguladığınızda orijinal alana geri döndüğünüzde, PCA ile sinyali “yeniden yapılandırmanız” gerekir.
dividebyzero

1
Son yorumunuzda @dividebyzero +1, bunun değerli bir bakış açısı olduğunu düşünüyorum. Her durumda, son rakamımın (bağlantılı kağıttan alınan) anlamını açık bir şekilde umuyorum.
amip diyor Reinstate Monica

1
@learning PCA'da beyazlatılmış görüntüleri bu sayfada göremiyorsunuz! "PCA boyut küçültülmüş görüntüleri", yani PCA üzerinden yapılanmaları , ancak PCA projeksiyonlarını göstermezler.
amip Reinstate Monica

23

Bir kovaryans matrisi bir Eigendecomposition verilen Özdeğerlerin diyagonal matris , sıradan beyazlatma verileri kovaryans matrisinin köşegen olduğu bir alana dönüştürmek için başvurur: (. gösterimde bazı kötüye) biz de uygun verilerinin, kovaryans köşegenleştirebiliriz anlamına

X¯X¯T=LDLT
D=diag(λ1,λ2,,λn)
D1L1X¯X¯TLTD1=D1L1LDLTLTD1=I
X~=D1L1X.

Bu PCA ile normal beyazlatmadır. Şimdi, ZCA farklı bir şey yapıyor - Özdeğerlere küçük bir epsilon ekliyor ve verileri geri dönüştürüyor. ZCA'dan önce ve sonra ayarlanan CIFAR verilerinden bazı resimler.

X~=L(D+ϵ)1L1X.

ZCA'dan önce:

ZCA'dan önce

ZCA'dan sonraϵ=0.0001

ZCA 1e-4'ten sonra

ile ZCA'dan sonraϵ=0.1

ZCA'dan sonra .1

Görme verileri için, yüksek frekanslı veriler tipik olarak düşük Özdeğerlerin kapsadığı alanda bulunur. Dolayısıyla ZCA bunları güçlendirmenin, daha görünür kenarlara vb. Yol açmanın bir yoludur.


1
Epsilon, tersi çekmeden önce eklenmemeli mi? Bence sadece sıfıra yakın özdeğerler durumunda inversiyonu dengelemek için eklendi. Bu yüzden aslında ZCA beyazlatma için eklemek mantıklıysa, PCA beyazlatma için de eklemek mantıklı olacaktır.
Amip Reinstate Monica

Evet, tersten önce, teşekkürler. Bu genellikle pratikte SVD ile yapıldığından, inversiyonu dengelemenin gerekli olup olmadığını bilmiyorum.
bayerj

Efekti göstermek için başka bir resim ekledim.
bayerj

2
+1, fakat daha birçok nitpicks ve sorum var. (1) epsilon hakkında kastettiğim, ZCA'ya özgü olmadığı, PCA beyazlatması için de kullanılabileceği. (2) SVD ile ilgili yorumunuzu anladığımdan emin değilim: SVD ya da değil, birinin tekil değerleri tersine çevirmesi gerekiyor, bu yüzden epsilon ihtiyacı var. (3) PCA beyazlatma dönüşümü , bunu diğer tarafa yazdınız ve bu ikinci formülde hesaplamayı yanlış yapıyor ... (4) Güzel rakamlar, nerede? dan? (5) ZCA beyazlatmanın hangi durumlarda PCA beyazlatmaya tercih edileceğini ve neden tercih edildiğini biliyor musunuz? D1/2L
Amip Reinstate Monica

(1) kabul etti. Yine de, bunun ne anlama geldiği konusunda hiçbir fikrim yok. (2) Ayrışma bilgim burada eksik, ancak tekil bir kovaryans matrisindeki klasik bir inversiyon matrisinin başarısız olacağını, tekil bir kovaryansa yol açan bir veri matrisindeki SVD'nin başarısız olacağını varsaydım. (3) Teşekkürler, düzeltecektir. (4) Kodumdan :) (5) Tamamlanmamış temsiller veren birçok algoritma için (örn. GainShape K-Means, Auto enkoderler, RICA) ve / veya PCA cebirsel bağımsızlığının özelliklerin zararsız olduğu gibi benzer bir iş yaptığını varsayıyorum Bu konuda hiçbir bilgim yok.
bayerj
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.