Re: [裝死] PCA

看板NTUEE_Speech作者 (放心)時間18年前 (2008/01/10 22:31), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串5/5 (看更多)
ㄟ.. 不好意思 因為他code寫得很沒有programming style(其實他註解有寫:P) 所以我搞錯了 基本上最後output的部分 也就是"Projections of column-points on first # prin. comps." 就是 C*E (C是correlation matrix, E是eigenvector matrix by column) 不過還是不知道為什麼要算C*E? 因為這只是一個對角矩陣乘上E (the diognal matrix is composed of sqrt(eigenvalues)) 反正大家會用到的應該就只有eigenvalue eigenvector 以及row-projection而已 以上來自老詹跟我徹夜討論的結果 po完收工 我要回宿舍了 掰掰 ※ 引述《ugoc (不要和我嘴砲)之銘言: : ※ 引述《WayneZheng (放心)》之銘言: : : 程式其實有算所有的eigenvector 只是output前三個而已 : : 我有改了一下 改成可以下參數for要幾個principal components : : 程式在我家目錄下 /home/wayne/pca_wayne.c : : usage: : : ./pca matrix.txt 36 8 6 R : : data row column # of princ. option : : 然後我還是搞不懂他最後output "projection of column-points" 是什麼意思 : : 我trace了一下 他是這樣算的: : : project_1 : : [ project_2 ] = [e1 e2 ... em] * [e_max ... e_min] : : | : : project_m : : project_i 相當於把所有eigenvectors的第i個element collect成一個vector : : 然後再投影到eigenvector的空間 : : 不懂這樣的projection有什麼意思? : 那天碩尹有和我解釋過,我講一下我記得的東西 : 如果有說錯幫我指正一下謝謝。 : Assume input是 N*4,每一筆資料就是1*4 : a_11 a_12 a_13 a_14 ---> 一筆 : a_21 a_22 a_23 a_24 ---> 一筆 : .............. : .............. : a_N1 a_N2 a_N3 a_N4 : 做correlation analysis即 : 建造一個4*4的matrix M(4*4) : N : 其中M_xy = Sum (a_ix * a_iy) : i=1 : 不過好像有先做zero mean,不太記得了~ : anyway這個matrix求其eigenvalues及對應的eigenvectors(都是四個) : 就形成eigenspace : 如果想要做dimension reduction就取前幾個,例如只取3個 : 原本的4維就會投影到3維 : 大概是這樣吧,有錯請補充 : btw我剛才重看了一次,我看錯猴子的問題了 : 他的問題我還沒搞懂… -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.21.23

01/10 22:35, , 1F
推一下啊~!
01/10 22:35, 1F

01/11 09:20, , 2F
應該是E乘上對角矩陣
01/11 09:20, 2F
文章代碼(AID): #17XYmzXS (NTUEE_Speech)
討論串 (同標題文章)
本文引述了以下文章的的內容:
裝死
0
1
完整討論串 (本文為第 5 之 5 篇):
裝死
2
2
裝死
0
1
裝死
3
7
裝死
0
1
文章代碼(AID): #17XYmzXS (NTUEE_Speech)