Özellik sayısını azaltabildiğimizde neden öğrenme algoritmalarını hızlandırmak için PCA kullanıyoruz?


12

Bir makine öğrenimi dersinde, PCA'nın ( Temel Bileşen Analizi ) yaygın bir kullanımının diğer makine öğrenimi algoritmalarını hızlandırmak olduğunu öğrendim . Örneğin, bir lojistik regresyon modeli geliştirdiğinizi düşünün. İ için 1'den n'ye kadar bir eğitim setiniz ve x vektörünüzün boyutu çok büyükse (diyelim bir boyutlar), PCA'yı kullanarak daha küçük bir boyut elde edelim (diyelim ki k boyutları) özellik vektörü z. Daha sonra lojistik regresyon modelinizi 1'den n'ye kadar i için eğitim setinde eğitebilirsiniz . Özellik vektörünüzün boyutları daha az olduğundan bu modeli eğitmek daha hızlı olacaktır.( z ( i ) , y ( i ) )(x(i),y(i))(z(i),y(i))

Ancak, özelliklerinizin k'sını rasgele seçip kalanını ortadan kaldırarak neden özellik vektörünün boyutunu k boyutlarına küçültemeyeceğinizi anlamıyorum.

Z vektörleri, bir özellik vektörlerinizin doğrusal kombinasyonlarıdır. Z vektörleri k-boyutlu bir yüzeyle sınırlı olduğu için, ak elimine edilmiş özellik değerlerini k kalan özellik değerlerinin doğrusal bir fonksiyonu olarak yazabilirsiniz ve böylece tüm z'ler k özelliklerinizin doğrusal kombinasyonları ile oluşturulabilir. Öyleyse, elenen özelliklere sahip bir eğitim seti üzerinde eğitilmiş bir model, boyutu PCA tarafından azaltılmış bir eğitim seti üzerinde eğitilmiş bir modelle aynı güce sahip olmamalı mı? Sadece modelin türüne ve bir çeşit doğrusal kombinasyona dayanıp dayanmadığına mı bağlı?


1
bırakma sütunları, PCA
Haitao Du

2
Polimeraz Zincir Reaksiyonunun bununla ne ilgisi var? :-) --- Tüm ciddiyetle, bir kısaltma kullanmadan önce her zaman bir terim yazmalısınız.
Carl Witthoft

PCA tarafından elde edilen özvektörleri yeni özellikler olarak görüntüleyebilirsiniz, böylece PCA özellikleri azaltmaya izin verir - sahip olduklarımızı, başladığımızdan daha fazla varyansı yakalayanlarla birleştirerek.
mathreadler

Yanıtlar:


26

Diyelim ki başlangıçta özellikleriniz var ama bu çok fazla, bu yüzden modelinizi özelliklerine sığdırmak istiyorsunuz . Özelliklerinizin sini seçebilir ve gerisini bırakabilirsiniz. Eğer bizim özelliği matris kullanılarak, bu karşılık olan burada tam sütun üzerinden alır , biz dahil etmek istiyorum. Ama bu yüzden neden daha genel bir boyut küçültme düşünmüyoruz, diğer sütunlarda tüm bilgileri yok sayar ? Bu PCA yapar tam olarak ne: Biz matris bulmak öyle kid < p d X X D D { 0 , 1 } p × d X X V V R p × d V X V X X d p ppd<pdXXDD{0,1}p×dXXVVRp×dVXV mümkün olduğunca fazla bilgi içerir . Tüm doğrusal kombinasyonlar eşit olarak oluşturulmaz. Bizim sürece matrisi rastgele bir sayı kümesi o kadar düşük rütbe olan sütunları can (yüksek olasılıkla) Tüm sütun alanını kapsayan sütunları biz kesinlikle tüm kadar iyi yapmak mümkün olmayacaktır özellikleri. Bazı bilgiler kaybolacak ve bu yüzden olabildiğince az bilgi kaybetmemize neden oluyor. PCA ile kaybetmekten kaçınmaya çalıştığımız "bilgi" verilerdeki değişikliktir.XXdpp

Kendimizi neden yordayıcıların doğrusal dönüşümleri ile sınırlandırdığımızda, bu kullanım durumundaki bütün mesele hesaplama zamanıdır. üzerinde süslü doğrusal olmayan boyut küçültme yapabilseydik, muhtemelen tüm modeline de sığabiliriz . Böylece PCA, hesaplaması hızlı ve etkili olan kesişim noktasında mükemmel bir şekilde oturur.XXX


2
+1. Yine de, X'deki ( PCA'nın tutmaya çalıştığı) varyasyonun Y'yi tahmin etmek için neden alakalı olması gerektiğini sormak mantıklıdır ... Bu ilgili bir iş parçacığıdır: stats.stackexchange.com/questions/141864 .
amip diyor Reinstate Monica

4

PCA, orijinal verilerdeki varyansı / bilgileri korurken özellikleri azaltır. Bu, verilerin gerçekliğe benzerliğini kaybetmezken hesaplamanın etkinleştirilmesine yardımcı olur.


2

PCA çözümü

İlk olarak, bu amaçla PCA kullanırken dikkatli olun. İlgili bir soruya yanıt olarak yazdığım gibi, PCA mutlaka yapmak istediğiniz regresyon için bilgilendirici özelliklerin seçimine yol açmaz (ayrıca bkz . Jolliffe 1982 ).

OP tarafından önerilen çözüm

Şimdi önerilen alternatif mekanizmayı düşünün: reduce the dimension of your feature vector to k dimensions by just choosing k of your features at random and eliminating the rest.Şimdi problem ifadesinde bunu varsaymamız istendi dimension of your vector x is very large. Bu boyuta diyelimp

Bir grubundan kestiricileri yolları vardır . Bir örnek vermek gerekirse ise ve veri kümesinden tahmincisi seçersek , uymamız gereken farklı model olacaktır. Ve vb. Değil, olduğunu bildiğimizi varsayarız . Basitçe söylemek gerekirse, büyük bir ayarında kuvvet uygulamak istediğiniz bir sorun değildir .k p p = 1000 k = 5 8,25 × 10 12 k = 5 k = 6 ppCkkpp=1000k=58.25×1012k=5k=6p

Önerilen çözüm

büyük olduğu regresyonlarla başa çıkmak için bir dizi cezalandırılmış regresyon stratejisi önerilmiştir. Özellikle LASSO yöntemi boyut azaltma yapacak ederken modele yeterince yardımcı olmadığını belirleyicileri gelen katkıyı sıfırlamak suretiyle bir regresyon modeli inşa. Modele verimli bir şekilde uyması için çok akıllı bir algoritma (LARS) vardır.p

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.