我正在尝试从使用 LDA 获得的投影中重建数据。这个想法是评估从减少的 LDA 因子集获得的重建误差。在下面的 matlab 代码中,问题是如何使用投影数据 p 和特征向量 LTrans 获得重建。
L = fitcdiscr(data,class);
[LTrans,Lambda] = eig(L.BetweenSigma,L.Sigma,'chol');
[Lambda,sorted] = sort(diag(Lambda),'descend'); % sort by eigenvalues
LTrans = LTrans(:,sorted);
xc = L.X;
mu = mean(xc);
Xm = bsxfun(@minus, xc, mu);
for i_fact=1:size(L.Sigma,2)
z = Xm*LTrans(:,1:i_fact);
p = z*LTrans(:,1:i_fact)';
p = bsxfun(@plus, p, mu);
end