PCA 有时可以用来提高机器学习算法的速度
从数据组中x(1) 到 x(m) 中提取出输入向量,然后应用PCA会得到一个降维的数据,与刚才的 10,000维特征相比,现在只有1000维特征向量,因此这就降低了10倍的维数,这就给了我们一个新的训练集 。最后可以将这个已经降维的数据集输入到学习算法,或者是将其放入到神经网络中,或者是逻辑回归中,可以学习出假设 h ,把这个低维的z 作为输入并作出预测。对于大多数我们实际面对的数据降维问题,降维只能到原来的五分之一或者十分之一,依旧保持着原本维度数据的变化情况,改变并不会有多少影响。如果我们将降维用在低维数据上,学习算法会运行得更快。
PCA在过拟合问题上的应用是不合适的。过拟合问题更好的方法是使用正则化方法。PCA把某些信息舍弃掉了一些数据, 并在对数据标签y值毫不知情的情况下对数据进行降维。PCA不需要使用到这些标签,更容易将有价值信息舍弃。
PCA方法大部分时候用它来加快学习算法, 压缩数据以减少内存使用或硬盘空间占用,或者用来可视化数据,但是不建议在算法内盲目加入PCA去计算k,根据算法结果显示再决定PCA使用与否。