Matlab PCA中的矢量化
我在做主成分分析,想知道我是否能代表 根据数据矩阵从i到m(X(i)*X(i)^T)的求和。两个矩阵的直接乘法 这可以做到吗..或者我需要使用for循环来实现它 目前我已经试过了Matlab PCA中的矢量化,matlab,machine-learning,pca,Matlab,Machine Learning,Pca,我在做主成分分析,想知道我是否能代表 根据数据矩阵从i到m(X(i)*X(i)^T)的求和。两个矩阵的直接乘法 这可以做到吗..或者我需要使用for循环来实现它 目前我已经试过了 sum=zeros(n,n); for i=1:m sum=sum+ X(i,:)*(X(i,:)^T); end 我的目标是找到结果矩阵的主要特征值。 提前感谢假设数据矩阵X的形状为(Dim,Num),您可以使用以下公式计算所有样本相关性之和: S = X*X' 为了实现P
sum=zeros(n,n);
for i=1:m
sum=sum+ X(i,:)*(X(i,:)^T);
end
我的目标是找到结果矩阵的主要特征值。
提前感谢假设数据矩阵
X的形状为(Dim,Num),您可以使用以下公式计算所有样本相关性之和:
S = X*X'
为了实现PCA,也不要忘记将矩阵除以样本量
Sigma = (1/N)X*X'
如果数据的平均值为零,则这也是协方差矩阵。假设数据矩阵的形状为(Dim,Num),则可以使用以下公式计算所有样本相关性的和:
S = X*X'
为了实现PCA,也不要忘记将矩阵除以样本量
Sigma = (1/N)X*X'
如果数据的平均值为零,则这也是协方差矩阵。并非试图回答您的问题,但使用sum
作为变量名并不好!这已经是Matlab中的一个变量名了。不是为了回答您的问题,但是使用sum
作为变量名是不好的!它在Matlab中已经是一个很好的工具。