本文重点
PCA算法能够降维数据,这会给我们带来一些好处,本节课程我们将学习一下,在应用PCA算法时的一些建议。
PCA算法可以提高算法的运行
如果数据集维度特别大(10000维),算法运行的会比较慢,我们使用PCA算法能够有效的降低数据的维度,这样就会提高算法的运行速度,这就是PCA算法可以提高机器学习算法的原理。
训练集、验证集、测试集
假如我们使用机器学习算法完成图片分类任务,图片的大小为100*100,那么总共有10000 个特征,这个特征太多了,所以我们可以进行降维操作。具体来说:
不管数据集的标签Y,这样我们就相当于得到了一组无标签的训练集,然后我们使用PCA算法,将数据压缩至 1000 个特征,那么就可以使用这个新的训练集来训练模型。
此时,当我们预测一个新的样本的时候,我们不可以直接带入样本X,而是采用之前学习而来的Ureduce 将输入的特征 x 转换成特征向量 z,然后再进行预测。
注:如果我们有交叉验证集和测试集,也采用对训练集学习而来的Ureduce,也就是说从x到z的对应关系只可以通过训练集上运行的PCA定义出来,然后应用到交叉验证集和测试集的x到z的映射。
PCA算法有三种应用:
1. 压缩数据
2. 可视化(降维到三维,或者二维)
3. 提升算法运行的速度
PCA算法的应用误区:
过拟合的原因之一是特征数很多,所以降低特征数可以有效的解决过拟合的问题,但是如果模型出现过拟合的问题,是否可以使用PCA算法来