【发布时间】:2017-03-11 10:50:35
【问题描述】:
我不确定我是否正确应用了 PCA!我有 p 个特征和 n 个观察值(实例)。我把这些放在一个 nxp 矩阵 X 中。我执行平均归一化,得到归一化矩阵 B。我计算 pxp 协方差矩阵 C=(1/(n-1))B*.B 的特征值和特征向量,其中 * 表示共轭转置。
降序特征值对应的特征向量在一个pxp矩阵E中。假设我想将属性数量从p减少到k。我使用方程式 X_new=B.E_reduced,其中 E_reduced 是通过选择 E 的前 k 列产生的。这是我的问题:
1) 应该是 X_new=B.E_reduced 还是 X_new=X.E_reduced?
2) 我应该在测试阶段重复上述计算吗?如果测试阶段与训练阶段类似,则无法获得加速,因为我必须在测试阶段计算每个实例的所有 p 个特征,而 PCA 由于特征向量计算开销而使算法变慢。
3) 应用 PCA 后,我注意到准确率有所下降。这是否与数字 k(我设置 k=p/2)或我使用线性 PCA 而不是内核 PCA 的事实有关?选择数字 k 的最佳方法是什么?我读到我可以找到k个特征值之和与所有特征值之和的比率,并根据这个比率做出决定。
【问题讨论】:
标签: machine-learning data-mining pca feature-extraction dimensionality-reduction