我使用Matlab來讀取MNIST數據庫。這些圖像最初是28x28(= 784)像素。所以,我有一個2D 784x1000陣列(意思是說,我已經閱讀了1000張圖片)。使用PCA對MNIST圖像進行特徵提取
假設我的2D數組名稱是IMGS,Matlab表達式:IMGS(:, 1)會給我第一個圖像。
爲了執行PCA,以便提取一些的圖像的特徵(從他們的784):
- 我轉置陣IMGS,把圖像的行數和特徵(尺寸)在列中,在一個名爲IMGS_T的數組中(IMGS_T(1,:)對應於第一個圖像)。
我使用princomp功能是這樣的:[COEFF,分數= princomp(IMGS_T];
我的問題是這樣的(它可能有點微不足道,但,我想,以確保此): ? 假如我想提取從他們的784的整體100層的功能,我需要的是成績的前100列
所以,在Matlab而言,我需要的是寫:IMGS_PCA = IMGS(: ,100)' ,我將創建一個100x1000的數組,名爲IMGS_PCA,它可以將我的1000個MNIST圖像保存在其列中,並且它們的行中前100個最重要的特徵?
它認爲它是正確的 – michaeltang