lx_pierre 2023-04-19 12:15 采纳率: 100%
浏览 42
已结题

pca一张图片降维问题

1.去中心化

X_mean=np.mean(X,axis=0)
X_norm=X-X_mean

2.求协方差矩阵

X_cov=np.cov(X_norm,rowvar=False)
print(X_cov.shape)

3.求协方差矩阵的特征值与特征向量

eigvalues, eigvectors =np.linalg.eig(X_cov)

4.按特征排序取出索引

max_eigvalue_index = np.argsort(-eigvalues)[:K]

5.保留最大的K大特征值对应的特征分量

W = eigvectors[:,max_eigvalue_index]

6.降维后数据

X_new = np.dot(X_norm, W)

7.重建图像

X_rec = np.dot(X_new,W.T) + X_mean
return W, X_mean,X_new,X_rec

return X_rec

pca对一张图片降维,X_mean=np.mean(X,axis=0),这里为什么要对X每一列求均值,不应该是把每一个像素作为一个特征吗,但这句语句是把每一列当成一个特征了吗?

  • 写回答

2条回答 默认 最新

  • youcans_ 人工智能领域优质创作者 2023-04-19 16:29
    关注

    PCA 图片降维,可以有多种理解。例如:
    (1)多张(m张) 图片,降维至 p(p<m) 张图片来表达,这在天文、遥感等多光谱图片中非常常见;
    (2)一张图片,多通道,常见通道数为 3,降维,或将主要方差集中到第 0 维。
    (3)一张图片,二维对象的方向校正,通过主成分分析(PCA)获得目标的主方向,将数据投影到主方向及其垂直方向上。
    所以,你先要搞清楚你写的这两行程序,是针对哪种情况用的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月29日
  • 已采纳回答 4月21日
  • 修改了问题 4月20日
  • 创建了问题 4月19日