Boyut küçültme her zaman bazı bilgileri kaybeder mi?


10

Başlığın dediği gibi, boyut küçültme her zaman bazı bilgileri kaybediyor mu? Örneğin PCA'yı düşünün. Sahip olduğum veriler çok seyrek ise, "daha iyi bir kodlama" bulunabileceğini varsayabilirim (bu bir şekilde verilerin sıralamasıyla mı ilgili?) Ve hiçbir şey kaybolmazdı.


7
Hayır, elbette hayır: PCA'daki bazı tekil değerler, örneğin, gerçek sıfırlar olabilir. Bu, verilerin "seyrekliği" ile, bunları kaydetmek için kullanılan boyutları "doldurup doldurmadıklarından" daha az ilgilidir.
whuber

1
Tamam anladım. Yorumunuzu kısa bir cevap olarak yazabilir misiniz (belki küçük bir örnekle bile, zamanınız varsa)?
merak

1
Her iki nokta için y değerinin '0' olduğu iki boyutlu verilerinizin olduğu durumu düşünün. İlk prensip bileşeniniz X ekseni olacak ve verilerinizi bu tek boyuta yansıtarak hiçbir şey kaybetmeyeceksiniz çünkü zaten etkili bir boyut.
David Marx

Yanıtlar:


9

Boyut azalması her zaman bilgi kaybetmez. Bazı durumlarda, herhangi bir bilgiyi atmadan verileri düşük boyutlu alanlarda yeniden temsil etmek mümkündür.

Ölçülen her değerin iki sıralı ortak değişkenle ilişkili olduğu bazı verileriniz olduğunu varsayalım. Örneğin, bazı vericilere göre ve konumlarının yoğun bir ızgarasında sinyal kalitesini (beyaz renk = iyi, siyah = kötü ile gösterilir) ölçtüğünüzü varsayalım . Bu durumda, verileriniz sol taraftaki grafik [* 1] gibi görünebilir:Qxy

radyal ortalama demo

En azından yüzeysel olarak iki boyutlu bir veri parçasıdır: . Bununla birlikte, bir önsel (temel fizik temeline dayanarak) bilebilir veya bunun yalnızca başlangıç ​​noktasından uzaklığa bağlı olduğunu varsayabiliriz: r = . (Bazı keşif analizleri, altta yatan fenomen bile iyi anlaşılmamışsa bu sonuca yol açabilir). Daha sonra verilerimizi yerine olarak yeniden yazabiliriz ; Açıkçası, bu ancak veriler radyal olarak simetrikse kayıpsızdır, ancak bu birçok fiziksel olay için makul bir varsayımdır.Q(x,y)x2+y2Q(r)Q(x,y)

Bu dönüşüm doğrusal değildir (bir kare kök ve iki kare vardır!), Bu yüzden PCA tarafından yapılan boyutsal azaltma türünden biraz farklıdır, ancak bence güzel hiçbir bilgiyi kaybetmeden bazen bir boyutu nasıl kaldırabileceğinizi gösteren bir örnek.Q(x,y)Q(r)

Başka bir örnek için, bazı veriler üzerinde tekil bir değer ayrıştırma yaptığınızı varsayalım (SVD, temel bileşen analizine - ve genellikle altta yatan bağırsaklara - yakın bir kuzen). SVD, veri matrisinizi alır ve olacak şekilde üç matris içine . U ve V sütunları, sırasıyla için bir dizi ortonormal baz oluşturan sol ve sağ tekil vektörlerdir . Köşegen elemanları (yani etkili biçimde ağırlıklarıdır tekil değerlerdir, mukabil sütunu ile oluşturulmuş inci baz grubu ve (geri kalanM = U S V T M S S i , i ) i U V S N x N N x N S U V M Q ( x , y )MM=USVTMSSi,i)iUVSsıfırlar). Kendi başına, bu size herhangi bir boyut azalması sağlamaz (aslında, başladığınız tek matrisi yerine 3 matrisi vardır). Bununla birlikte, bazen bazı çapraz elemanları sıfırdır. Bu, ve karşılık gelen bazların yeniden yapılandırmak için gerekli olmadığı anlamına gelir ve böylece düşürülebilirler. Örneğin,NxNNxNSUVMQ(x,y)yukarıdaki matris 10.000 element içerir (yani, 100x100). Üzerinde bir SVD gerçekleştirdiğimizde, sadece bir çift tekil vektörün sıfır olmayan bir değere sahip olduğunu buluyoruz [* 2], böylece orijinal matrisi iki 100 eleman vektörünün (200 katsayı, ancak aslında biraz daha iyi yapabilirsiniz [* 3]).

Bazı uygulamalar için, yararlı bilgilerin yüksek tekil değerleri (SVD) veya yüklemeleri (PCA) olan temel bileşenler tarafından yakalandığını biliyoruz (veya en azından varsayıyoruz). Bu durumlarda, sıfır olmasalar bile, daha küçük yüklere sahip tekil vektörleri / bazları / temel bileşenleri, bunların yararlı bir sinyal yerine sinir bozucu gürültü içerdiği teorisine atabiliriz. Bazen insanların yüküne bakılmaksızın belirli bileşenleri şekline göre reddettiklerini (ör. Bilinen bir ilave gürültü kaynağına benzediğini) gördüm. Bunu bir bilgi kaybı olarak değerlendirip düşünmeyeceğinizden emin değilim.

PCA'nın bilgi-teorik optimizasyonu hakkında bazı düzgün sonuçlar vardır. Sinyaliniz Gaussian ise ve ek Gauss gürültüsü ile bozulmuşsa, PCA sinyal ve boyutsallığı azaltılmış versiyonu arasındaki karşılıklı bilgiyi en üst düzeye çıkarabilir (gürültünün kimlik benzeri bir kovaryans yapısına sahip olduğu varsayılarak).


Dipnotlar:

  1. Bu sevimsiz ve tamamen fiziksel olmayan bir model. Afedersiniz!
  2. Kayan nokta belirsizliği nedeniyle, bu değerlerin bazıları bunun yerine tamamen sıfır olmaz.
  3. Daha fazla incelemede, bu özel durumda , iki tekil vektör, merkezleri ile aynı VE simetriktir, bu yüzden aslında sadece 50 katsayılı tüm matrisi temsil edebiliriz. İlk adımın SVD işleminden otomatik olarak düştüğünü unutmayın; ikincisi biraz teftiş / inanç sıçraması gerektirir. (Eğer PCA skorları açısından bu düşünmek istiyorsanız, skor matrisi adildir orijinal SVD ayrışmasından; hiç katkı değil sıfır konusunda benzer tartışmalar uygulanır).US

Grafiğinizin doğru olduğunu düşünmüyorum. 1) Bu bir elips daire değil, bu yüzden eksenlerle açıya göre değişecektir. Ancak bu bir eser olabilir. 2) Bazı özdeğerlerin 0 olduğu bir PCA, verilerdeki eş-doğrusallığı gösterir; bu düz bir çizgi, küresel bir yumru değil. 3) Gerçek hayatta veriler asla mükemmel bir şekilde simetrik değildir. I(r)
Hong Ooi

Özellikle, örneğinizde olduğunu unutmayın. Bu, değişkenlerin doğrusal olmayan bir kombinasyonudur, bu nedenle PCA ( verilerdeki doğrusal kombinasyonları tespit edecek) hakkında konuşurken ilgili değildir . r=(x2+y2)
Hong Ooi

1
Matt, sorum gerçekten buna değdi: Herhangi bir açıklama veya referans olmadan bize bir resim gösterir ve "veri" olarak adlandırırsınız: Ne anlamda veri olarak düşündüğünüzü bilmek istiyorum. Yorumunuz bu sorunu karıştırıyor çünkü bir "ısı haritası" temsili genellikle veri değil, verilerden oluşturulmuş bir şey. Örneğin bunlar düzensiz 2B nokta verisi olsaydı ve bunlara radyal olarak simetrik bir yoğunluk sığdıysanız, iddia ettiğiniz gibi resim tek boyutlu olarak yorumlanabilir, ancak verilerin kayıpsız bir boyutsal azalması olmazdı .
whuber

1
Belki de onun yerine 'gridded' veya 'raster' demeliydim. Verilerin bir ızgarada toplandığı ve her ızgara noktasının (skaler) bir değerle ilişkili olduğu bir durum hayal ediyordum, ancak değerler (fotoğrafik) bir görüntüdeki gibi mutlaka ışık yoğunluğu değildir. Bununla birlikte, bu cevabı açıkça sallamıyorum - daha tutarlı bir şeye düzenlemeyi deneyeyim!
Matt Krause

2
+1: düzenlemeler puanlarınızı daha net hale getirir. Ekstra çaba için teşekkürler!
whuber

4

Bence sorunuzun ardındaki soru "bilgi yapan nedir?" Güzel bir soru.

Gramer teknik özellikleri:

PCA her zaman bilgi kaybeder mi? Hayır! O mu bazen bilgiyi kaybeder? Youbetcha. Bileşenlerden orijinal verileri yeniden yapılandırabilirsiniz. Her zaman bilgi kaybettiyse, bu mümkün olmazdı.

Yararlıdır çünkü verilerinizin boyutunu azaltmak için kullandığınızda önemli bilgileri kaybetmez. Verileri kaybettiğinizde, genellikle daha yüksek frekans verisidir ve bu genellikle daha az önemlidir. Büyük ölçekli, genel eğilimler, daha büyük özdeğerlerle ilişkili bileşenlerde yakalanır.


4

Hayır. matrisinin boyutlarından biri veya daha fazlası diğer boyutların bir işleviyse, uygun boyut küçültme tekniği hiçbir bilgiyi kaybetmez.n×p

En basit durumda, bir boyut diğerlerinin doğrusal bir kombinasyonuysa, boyutsallığı birer birer azaltmak, herhangi bir bilgi kaybetmeden yapılabilir - çünkü bırakılan boyut, gerekirse kalandan yeniden oluşturulabilir.

X3'ün x1 ve x2'nin tam doğrusal bir kombinasyonu olduğu bu üç boyutlu durumu düşünün. Her ne kadar x3'ün diğer ikisiyle de ilgili olduğu açık olsa da, orijinal verileri göz ardı etmek açık değildir:

resim açıklamasını buraya girin

Ancak temel bileşenlere bakarsak, üçüncüsü sıfırdır (sayısal hata içinde).

resim açıklamasını buraya girin

İlk iki temel bileşenin grafiği, x1'e karşı x1'in grafiğiyle aynı, sadece döndürüldü (tamam, demek istediğim kadar açık değil, daha sonra açıklamaya çalışacağım) :

resim açıklamasını buraya girin

Boyutsallığı bir bütün olarak azalttık, ancak tüm bilgileri makul bir tanımla sakladık.

Doğal olarak gösterilmesi daha karmaşık olmasına rağmen, bu durum doğrusal boyut küçültmenin ötesine uzanır. Mesele şu ki, bazı boyutlar diğerlerinin kombinasyonunun işlevleri olduğunda değil, genel cevap "hayır" dır.

R kodu:

library(GGally)


n <- 10^3
dat <- data.frame(x1=runif(n, 0, 3), x2=rnorm(n))
dat$x3 <- with(dat, x1 + x2)

ggpairs(dat)

pc <- princomp(dat)
plot(pc)

par(mfrow=c(1,2))
with(dat, plot(dat$x1, dat$x2, col="red", main="Original data", bty="l"))
with(pc, plot(scores[,1], scores[,2], col="blue", main="Scores from principal components(\n(rotated)", bty="l"))
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.