Ho una matrice , contenente i miei campioni nello spazio dimensionale . Ora desidero codificare la mia analisi dei componenti principali (PCA) in Matlab. Ho avvilire a prima.X N = 20 D = 100 X X 0
Ho letto dal codice di qualcuno che in tali scenari in cui abbiamo più dimensioni delle osservazioni, non si scompone più l' della matrice di covarianza di . Invece, abbiamo Eigen-decompongono . Perché è corretto?1
La normale matrice di covarianza è di dimensioni , ciascun elemento ci dice la covarianza tra due dimensioni. Per me, non ha nemmeno le dimensioni corrette! È la matrice , quindi cosa ci dirà? Covarianza tra due osservazioni ?!1 N×N
n<prichiede meno RAM e meno tempo per decomporsi XX'poiché ha dimensioni inferiori.
XX'al PC. Potresti per favore mostrarmi brevemente come? Dato che i PC sono solo autovettori della matrice di covarianza, ho tentato di spostarmi da autovelo XX'a autovene della matrice di covarianza X'X, ma non ci sono riuscito.
X'XeXX'(così come svd diXeX'). Ciò che viene chiamato "caricamenti" in un caso verrà chiamato "punteggi PC" nell'altro e viceversa. Poiché entrambi sono solo coordinate ( vedi, ad esempio ) e gli assi, le "dimensioni principali" sono le stesse.