我正在按照PCA进行一些图像处理。我正在处理图像识别问题。有没有办法使用特征向量/权重重建我的图像(用于训练)? 我按照这个程序: https://onionesquereality.wordpress.com/2009/02/11/face-recognition-using-eigenfaces-and-distance-classifiers-a-tutorial/
答案 0 :(得分:0)
如果您拥有主要组件(PC),则可以通过计算PC和数据的点积来降低维度,如下所示。
def projectData(X, U, K):
# Compute the projection of the data using only the top K eigenvectors in U (first K columns). X: data, U: Eigenvectors, K: your choice of dimension
new_U = U[:,:K]
return X.dot(new_U)
现在,我们如何获取原始数据?通过使用U中的顶部K特征向量投射回原始空间。
def recoverData(Z, U, K):
# Compute the approximation of the data by projecting back onto the original space using the top K eigenvectors in U. Z: projected data
new_U = U[:, :K]
return Z.dot(new_U.T) # We can use transpose instead of inverse because U is orthogonal.