有没有一份可以可逆的降维技术列表(可以在子流形和原始空间之间来回转换)并且能够很好地处理大规模(超过100万维度)的数据?向量非常稀疏。理想情况下,我可以在少量示例上找到一个大致感兴趣的子空间(降维至约1万维度),然后在该子空间上训练类似自编码器的东西以实现精细控制。
- 直接使用自编码器可能行不通,因为输入大小超过100万的全连接层在内存上会非常困难。
- 主成分分析(PCA)是一个选项,但其内存占用非常大。
- 随机投影似乎没有办法恢复到原始空间?
谢谢!
回答:
来自scikit-learn的两个候选者(可能还有更多):
还有更多支持inverse_transform
的选项,但我只选择了支持稀疏输入或批处理的选项。
保留1万维度听起来即使使用稀疏输入也是非常占用内存的。