我有特征向量矩阵 - 200个特征长,其中矩阵内的特征向量在时间上相关,但我希望将每个矩阵减少为单个有意义的向量。我已经将PCA应用于矩阵,以便将其维数降低到具有高方差的维度,并且考虑将其行连接成一个特征向量以汇总数据。
这是一种明智的做法,还是有更好的方法来实现这一目标?
答案 0 :(得分:2)
所以你有一个n x 200的特征矩阵,其中n是你的样本数,每个样本有200个特征,每个特征在时间上与其他特征相关吗?或者你有各个特征矩阵,每个时间点一个,你想在每个单独的特征矩阵上运行PCA,找到该时间点的单个特征向量,然后将它们连接在一起?
PCA似乎在第二种情况下更有用。
虽然这是可行的,但这可能不是最好的解决方法,因为你会通过将不同时间的特征折叠在一起而失去时间敏感性。即使最终特征矩阵中的每个特征代表不同的时间,大多数分类器也无法了解特征2遵循特征1等的事实。因此,您通过这样做会失去自然的时间顺序。
如果您关心这些功能之间的时间关系,您可能需要查看递归神经网络,它允许您将信息从t-1馈送到节点,同时输入您当前的t要素。所以从某种意义上说,他们了解t-1和t特征之间的关系,这将有助于保持时间顺序。请参阅此说明:http://karpathy.github.io/2015/05/21/rnn-effectiveness/
如果您不关心时间并且只想将所有内容组合在一起,那么是的PCA将有助于减少您的功能数量。最终,它取决于您认为哪种类型的信息与您的问题更相关。