MATLAB'de bir PCA algoritması uyguluyorum.Matlab'da Kovaryans Matrisinin Hesaplanması
C = sampleMat.' * sampleMat ./ nSamples;
ve
C = cov(data);
Bu iki yöntem arasındaki fark nedir: Ben kovaryans matrisi hesaplamak için iki farklı yaklaşım görüyor musunuz?
PS 1:
meanSample = mean(data,1);
data = data - repmat(data, nSamples, 1);
PS 2:
İlk yaklaşımda azından ben nSamples
veya nSamples - 1
kullanmalıdır Ben cov(data)
kullanmak gereksiz olduğunu?
Uyarı ile karmaşık sayıların söz konusu koddan farklı şekilde ele alınması. –
@BenVoigt: true, transpoze farklıdır, teşekkürler. Düzenleme ... –
Düzenleme 2'ye göre, ilk satırı kullanmak daha mı iyi? ve hangisi doğrudur ya da kovaryansı hesaplamak için konjugat-transpoz ve transpoze kullanmak için aynı mıdır? – kamaci