PCA'nın geometrik bir problemden (mesafeli) nasıl lineer cebir problemine (özvektörlerle) dönüştüğü konusunda sezgisel bir açıklama nedir?


54

Çeşitli öğreticiler ve (gibi soruların dahil PCA hakkında çok şey okudum bu bir , bu bir , bu bir ve bu bir ).

PCA'nın optimize etmeye çalıştığı geometrik problem bana açıktır: PCA, yansıtılan verinin varyansını en üst düzeye çıkaran yeniden yapılandırma (projeksiyon) hatasını en aza indirerek ilk ana bileşeni bulmaya çalışır.

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

Bunu ilk okuduğumda hemen doğrusal regresyon gibi bir şey düşündüm; belki gerekirse degrade iniş kullanarak çözebilirsiniz.

Ancak, optimizasyon probleminin doğrusal cebir kullanarak ve özvektörler ve özdeğerler bularak çözüldüğünü okuduğumda aklım başıma geldi. Doğrusal cebirin bu kullanımının nasıl ortaya çıktığını anlamıyorum.

Öyleyse sorum şu: PCA geometrik optimizasyon probleminden lineer cebir problemine nasıl dönebilir? Birisi sezgisel bir açıklama yapabilir mi?

Ben böyle bir cevap aramıyorum bu bir diyor "sen PCA matematiksel sorunu çözmek zaman, kovaryans matrisinin özdeğer ve özvektörlerini bulma eşdeğer olmak biter." Lütfen özvektörlerin neden ana bileşen olduğunu ve özdeğerlerin neden kendilerine yansıtılan verinin varyansı olduğunu açıklayın.

Bu arada bir yazılım mühendisiyim, matematikçi değil.

Not: Yukarıdaki şekil bu PCA eğitiminden alınmış ve değiştirilmiştir .


2
İlk bağlantınızın ardındaki uzun başlıkta, @ amoeba'nın canlandırmaya ilişkin cevabı var; bu da ana şeyi açıklıyor. PCA, veri eksenlerinin (sütunlar) veri vektörleri (değişkenler) olarak ilişkilendirilinceye kadar dönmesidir . Bu tür rotasyon matrisi , öz-kompozisyon veya tekil değer ayrışımı yoluyla bulunur ve özvektör matrisi olarak adlandırılır.
ttnphns

2
Ayrıca bir matematikçi olmasanız bile (ben de değilim) muhtemelen lineer cebirin ve Öklid geometrisinin çok yakından matematik alanlarına bağlı olduğunu duymuşsunuzdur ; analitik geometri denilen bir disiplin olarak birlikte çalışılıyorlar.
ttnphns

1
optimization problemEvet, PCA probleminin (yinelemeli, yakınsak) optimizasyon yaklaşımları ile çözülebileceğini düşünüyorum. Fakat matematik yoluyla formunu kapattığı için neden bu kadar basit, verimli çözümü kullanmıyorsunuz?
ttnphns

Sen sor provide an intuitive explanation. Bağlandığım yerdeki amipin neden sezgisel ve net cevabın size uymayacağını merak ediyorum . _why_ eigenvectors come out to be the principal components...Neden diye sordun ? Tanım olarak! Özvektörler olan veri bulutunun başlıca tarifi.
ttnphns

6
@ ttnphns: Aslında sorunun mantıklı olduğunu düşünüyorum. İşte nasıl anladım. PCA, projeksiyonun maksimum varyans yönünü bulmak istiyor. Bu yön (tanım gereği) ilk ana yön olarak adlandırılır. Diğer taraftan, kovaryans matrisi bir özvektör (tanımı gereği), böyle bir vektör olan ağırlık olduğu C w = X w . Öyleyse neden özvektör tarafından verilen en büyük özdeğere sahip ilk ana yön? Buradaki sezgi nedir? Kesinlikle tanımı gereği değil. Bunu düşünüyordum ve nasıl kanıtlayacağımı biliyorum, ancak sezgisel olarak açıklamak zor. CwCw=λw
amip diyor Reinstate Monica

Yanıtlar:


54

Sorun bildirimi

PCA'nın optimize etmeye çalıştığı geometrik problem bana açıktır: PCA, yansıtılan verinin varyansını en üst düzeye çıkaran yeniden yapılandırma (projeksiyon) hatasını en aza indirerek ilk ana bileşeni bulmaya çalışır.

Doğru. Cevabımdaki bu iki formülasyon arasındaki bağlantıyı burada (matematik olmadan) veya burada (matematikle) açıklarım.

Cww=1wCw

(Sadece net olmadığı durumda: eğer merkezlenmiş veri matrisi ise, o zaman projeksiyon ve varyansı .)XXw1n1(Xw)Xw=w(1n1XX)w=wCw

Öte yandan, bir özvektör tanımı gereği, herhangi bir vektör öyle ki .CvCv=λv

İlk ana yönün en büyük özdeğere sahip özvektör tarafından verildiği ortaya çıktı. Bu önemsiz ve şaşırtıcı bir ifadedir.


Kanıtlar

PCA'da herhangi bir kitap veya öğretici açılırsa, yukarıdaki ifadenin neredeyse tek satırlık bir kanıtı bulunur. ; sınırlaması altında en düzeye çıkarmak istiyoruz ; bu bir Lagrange çarpanı tanıtmak ve değerini en üst düzeye çıkarmakla yapılabilir ; farklılaşarak, özvektör denklemi olan elde ederiz . bu çözümü yerine getiren objektif fonksiyonun yerine geçerek aslında en büyük öz sahip olduğunu görüyoruz.wCww=ww=1wCwλ(ww1)Cwλw=0λwCwλ(ww1)=wCw=λww=λ . Bu amaç işlevinin en üst düzeye çıkarılması gerçeğinden, en büyük öz değer olan QED olmalıdır.λ

Bu, çoğu insan için çok sezgisel değildir.

Daha iyi bir kanıt (örneğin , @ cardinal'ın bu temiz cevabına bakınız ), simetrik matris olduğu için özvektör bazında köşegen olduğunu söyler . (Buna aslında spektral teorem denir .) Bu yüzden, dikgen üzerinde köşegen ve özdeğerleri olduğu, özvektörlerin verdiği ortogonal bir temel seçebiliriz . Bu temelde, , basitleştirir veya başka bir deyişle varyans, özdeğerlerin ağırlıklı toplamıyla verilir. Bu ifadeyi en üst düzeye çıkarmak için hemen bir tane yeterlidir,CCλiwCwλiwi2w=(1,0,0,,0)yani, varyansı veren ilk özvektör, yani (aslında, bu çözümden sapma ve daha küçük olanların parçaları için en büyük özdeğerin parçalarını "takas etme" sadece daha küçük toplam sapmaya yol açacaktır). değerinin temele bağlı olmadığını unutmayın! Özvektör tabanının değiştirilmesi bir dönüşe yol açar, bu nedenle 2B'de bir dağılımın basit bir parça kağıdını döndürdüğünü hayal edebilir; Açıkçası bu herhangi bir varyansı değiştiremez.λ1wCw

Bunun çok sezgisel ve çok kullanışlı bir tartışma olduğunu düşünüyorum, ancak spektral teoremi temel alıyor. Öyleyse buradaki asıl mesele şudur: Spektral teoremin ardındaki sezgi nedir?


Spektral teoremi

Simetrik bir matris . Onun özvektörü al en büyük öz ile . Bu özvektörün ilk temel vektörünü yapın ve diğer temel vektörleri rastgele seçin (öyle ki hepsi ortonormal olur). bu temelde nasıl görünecek ?Cw1λ1C

Sol üst köşede olacaktır , çünkü bu temelde ve in değerine eşit olması gerekir .λ1w1=(1,0,00)Cw1=(C11,C21,Cp1)λ1w1=(λ1,0,00)

Aynı argüman ile altındaki ilk sütunda sıfırlar olacaktır .λ1

Fakat simetrik olduğu için ilk satırda sonrasında da sıfırlar olacaktır . Böylece şöyle görünecek:λ1

C=(λ10000),

burada boş alan, orada bazı elementlerin bir bloğu olduğu anlamına gelir. Matris simetrik olduğundan, bu blok da simetrik olacaktır. Böylece, tam olarak aynı argümanı uygulayabiliriz, ikinci özvektörün ikinci temel vektör olarak etkin bir şekilde kullanılması ve köşegen ve . Bu, köşegen olana kadar devam edebilir . Bu esas olarak spektral teoremdir. (Yalnızca simetrik olduğu için nasıl çalıştığını not edin .)λ1λ2CC


İşte tamamen aynı argüman daha soyut bir reform.

Olduğunu biliyoruz , birinci özvektör 1-boyutlu alt uzay tanımlar burada skalar çarpım olarak görev yapar. Şimdi herhangi bir ortogonal vektörünü alalım . Öyleyse, in ortogonal olması neredeyse anında . Aslında:Cw1=λ1w1Cvw1Cvw1

w1Cv=(w1Cv)=vCw1=vCw1=λ1vw1=λ10=0.

Bunun anlamı, , kalan tüm alt ortogonal olarak etki eder, öyle ki den ayrı kalır . Bu simetrik matrislerin en önemli özelliğidir. Böylece en büyük özvektörü burada bulabiliriz, ve aynı şekilde devam ederek özvektörlerin ortonormal bir temelini oluşturabiliriz.Cw1w1w2


"Lagrange çarpanı" benim için çok açık. Ancak, neden birim uzunluk sınırlamasına ihtiyacımız olduğunu söyleyebilir misiniz? Teşekkürler
Haitao Du

2
@ hxd1011 Orada bu soru tam olarak burada zaten, ama kısaca: aksi takdirde çarpabilirsiniz nedeni de herhangi sayısına göre ve bu sayının karesi ile artar. Böylece sorun tanımsız hale gelir: bu ifadenin maksimum değeri sonsuzdur. Aslında, yönüne çıkıntının varyans olduğunu sadece birimi uzunluğudur. wwCwwwCww
amip diyor Reinstate Monica

Sanırım çoğu okuyucuya biraz daha aşina olabilir; Ben burada değiştirdim. Teşekkürler. n1
amip diyor Reinstate Monica

@ amoeba: Cevap için teşekkür ederim. Senin notların bir kısmı tarafından kafam karıştı. Kullanabilirsiniz ağırlık ilk özvektör (ana bileşen) olduğu ortaya çıkıyor birim uzunlukta vektörü gösterir. PCA'yı R (örn. prcomp(iris[,1:4], center=T, scale=T)) 'De çalıştırdığımda , bir sürü yüzer birim uzunluğunda özvektörleri görüyorum (0.521, -0.269, 0.580, 0.564). Bununla birlikte, "Kanıtlar" altındaki cevabınızda, bu ifadeyi en üst düzeye çıkarmak için basitçe w = (1,0,0,…, 0), yani ilk özvektör alması gerektiği yazılır . Kanıtınızdaki özvektör neden bu kadar sağlam görünüyor?
stackoverflowuser2010

1
Merhaba @ user58865, dürtmek için teşekkürler: Sadece ilk kez cevaplamayı unuttum. İnce olan, bir - sadece bir sayıdır. Herhangi bir sayı "simetrik" :) ve devrine eşittir. Mantıklı geliyor? w1Cv
amip Reinstate Monica

5

1936’dan Eckart ve Young’ın ( https://ccrma.stanford.edu/~dattorro/eckart%26young.1936.pdf ) bir sonucu var;

1rdkukvkT=argminX^ϵM(r)||XX^||F2

buradaki M (r), temelde X'in SVD'sinin ilk r bileşenini ifade eden, en iyi ranklı matris yaklaşımını veren ve en iyi kare Frobenius normu - kare toplamı matrisin elemanları.

Bu matrisler için genel bir sonuçtur ve ilk bakışta veri kümeleriyle veya boyutsallık azaltma ile ilgisi yoktur.

Bununla birlikte, eğer bir matris olarak düşünmüyorsanız, ancak veri noktalarının vektörlerini temsil eden matrisinin sütunlarını düşünürseniz, o zaman kare hata farkları açısından minimum gösterim hatasıyla yaklaşık değerdir.XXX^


4

Bu benim PCA'nın arkasındaki lineer cebiri ele almam. Doğrusal cebirde, temel teoremlerden biri . S'nin gerçek katsayılara sahip n-matris ile simetrik olup olmadığını belirtir, o zaman S tüm özdeğerleri gerçek olan n özvektörlerine sahiptir. Bu, D ile, pozitif girişli bir çapraz matris yazabileceğimiz anlamına gelir . Yani ve varsayarak bir zararı yoktur . A, temel matrisin değişmesidir. Yani, eğer asıl , o zaman tarafından verilen temele göreSpectral TheoremS=ADA1D=diag(λ1,λ2,,λn)λ1λ2λnx1,x2,,xnA(x1),A(x2),A(xn)S'nin hareketi köşegendir. Bu aynı zamanda, ile ortogonal bir temel olarak görülebileceği anlamına gelir. Kovaryans matrisimiz n değişkeninin n gözlemleri için olsaydı, biz yapılırdık. tarafından sağlanan temel PCA temelidir. Bu doğrusal cebir gerçeklerinden takip eder. Özünde doğrudur, çünkü bir PCA temeli özvektörlerin temelidir ve n boyutunda bir kare matrisinde en çok n özvektörleri vardır. Elbette çoğu veri matrisi kare değildir. X, p değişkenlerinin n gözlemleriyle bir veri matrisi ise, X, n cinsinden p'dir. (değişkenlerden daha fazla gözlem) ve olduğunu kabul edeceğim.A(xi)||A(xi)||=λiA(xi)
n>prk(X)=p(tüm değişkenler doğrusal olarak bağımsızdır). Her iki varsayım da gerekli değildir, ancak sezgiye yardımcı olacaktır. Doğrusal cebir, tekil değer ayrışması adı verilen Spektral teoremden bir genelliğe sahiptir. Böyle bir X için , U ve V ortonormal (kare) matrisleri n ve p ile ve sadece negatif olmayan gerçek bir köşegen matris olduğunu köşegen üzerindeki girişler. Yine, böylece V temelini yeniden düzenleyebilir matris açısından, bu demektir ise ve ise, . X=UΣVtΣ=(sij)s11s22spp>0 ı p s ı ı = 0 ı > n, v ı Σ V tX(vi)=siiuiipsii=0i>nviPCA ayrışmasını verin. Daha doğrusu PCA ayrıştırmasıdır. Neden? Yine, lineer cebir sadece özvektörlerin olabileceğini söylüyor. SVD, ortogonal olan ve azalan normlu yeni değişkenler (V sütunları tarafından verilen) verir. ΣVt


4

“Bu aynı anda öngörülen verinin varyansını en üst düzeye çıkarır.” Rayleigh bölümünü duydun mu? Belki de bunu görmenin bir yolu budur. Yani kovaryans matrisinin rayleigh bölümü, yansıtılan verinin varyansını verir. (ve wiki sayfası özvektörlerin neden Rayleigh oranını maksimize ettiğini açıklar)


1

@ amoeba düzgün bir şekilde biçimlendirmeyi ve kanıtı verir:

Bunu aşağıdaki şekilde resmileştirebiliriz: kovaryans matrisi C verildiğinde, birim uzunluğa sahip bir vektör arıyoruz, ‖w‖ = 1, öyle ki w T Cw maksimumdur.

Ancak, bunun için bir sezgisel kanıt olduğunu düşünüyorum:

İlk ana yönün en büyük özdeğere sahip özvektör tarafından verildiği ortaya çıktı. Bu önemsiz ve şaşırtıcı bir ifadedir.

W yorumlayabilir T geçmekte ve w ile elde vektörün w ve Cw arasında bir nokta ürün olarak Cw dönüşüm C:

W , T Cw = ‖w‖ * ‖Cw‖ * cos (Cw, a)

W sabit uzunluğa sahip olduğundan, w T Cw seviyesini maksimize etmek için ihtiyacımız var:

  1. ‖Cw‖ büyütmek
  2. cos (w, Cw) değerini maksimize et

En büyük özdeğerle C'nin özvektörü olmak için w alırsak, her ikisini de aynı anda arşivleyebiliriz:

  1. ‖Cw‖ max, (eğer bu özvektörden saparsanız, ortogonal özvektörler boyunca ayrıştırırsanız, ‖Cw‖ azaldığını görmelisiniz.)
  2. w ve Cw aynı yönde, cos (w, Cw) = 1, maks

Özvektörler ortogonal olduklarından, C'nin diğer özvektörleriyle birlikte, X'e bir ana bileşen kümesi oluştururlar.


1 kanıtı

w'nin ortogonal primer ve sekonder özvektör v1 ve v2'ye ayrıştırılması , uzunluklarının sırasıyla v1 ve v2 olduğunu varsayalım. kanıtlamak istiyoruz

1 w) 2 > ((λ 1 v1) 2 + (λ 2 v2) 2 )

 beri 1 > λ 2 , elimizdeki

((λ 1 v1) 2 + (λ 2 v2) 2 )

<((λ 1 v1) 2 + (λ 1 v2) 2 )

= (λ 1 ) 2 * (v1 2 + v2 2 )

= (Λ 1 ) 2 w * 2

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.