我一直在研究机器学习,并且注意到大多数时候,像PCA和t-SNE这样的降维技术都被用于机器学习,但我很少注意到有人会在深度学习项目中这样做。在深度学习中没有使用降维技术的具体原因是什么?
发布于 2018-07-30 16:50:43
这在很大程度上取决于你的任务、数据和网络。基本上,PCA是当前特性的线性转换。假设您的数据是图像或一种局部性很重要的数据。如果使用PCA,就会丢弃这些本地信息。因此,很明显,人们通常不会在卷积网络中使用它们。对于连续的任务,它同样在很大程度上取决于您的代理是否联机。如果它是在线的,你从一开始就没有完整的信号。即使对于离线任务来说,通过这样的递减转换,您再次丢弃了顺序信息,我不得不说,我还没有看到它们的使用。我猜它们的主要用途是在使用简单的MLPs可以解决问题的任务中,而这些任务不保留顺序的或本地的信息。在这些任务中,由于您可以使用PCA,从而减少高度相关的特征,因此可以显着地减少您的训练模型的参数数。
发布于 2018-07-30 16:55:02
深度学习不使用降维,因为深度学习本身是一种有用的降维技术。深度学习通过隐藏层学习数据的压缩、非线性表示。由于深度学习可以学习非线性映射,因此它比仅限于线性映射的PCA更灵活地进行降维。
发布于 2018-07-31 02:34:18
如果您有计算时间和能力,后向选择允许您能够通过删除变量来测量降维的效果。
虽然这在某些情况下是有帮助的,但我要说,一般来说,单靠这一点是不可取的。通常,删除变量应该是一个领域知识的统计支持,而不仅仅是一个统计评估的结果。
https://datascience.stackexchange.com/questions/36208
复制相似问题