python - 通用句子编码器,降低向量维度

标签 python tensorflow machine-learning vector nlp

我成功使用 this 转换文档TensorFlow hub 上提供了模块。

每个文档的输出是一个 512 维向量,但这对于我的应用程序来说太大了,我想降低维度,而模块本身不提供维度。

我可以看到一些选项:

  • 使用另一个具有较低维度输出的包。
  • 使用 PCA 或 tSNE 等方法来减少维度。

使用 PCA 或 tSNE 的问题是,这需要适合许多示例向量的数据 - 这意味着当新文档到达并已转换为 512 维向量时,我需要继续拟合另一个向量模型,然后更新旧的文档向量 - 这将是我的应用程序中的一个大问题。

还有其他可以在单个数据点上运行的降维技术吗?

最佳答案

“UMAP 支持通过标准 sklearn 变换方法向现有嵌入添加新点。” UMAP在各个方面、速度、准确性和理论基础上都是降维的赢家。

关于python - 通用句子编码器,降低向量维度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58182606/

相关文章:

python - 选择 ML 的最佳功能

python - MasterMind 问题

python - TF Keras 如何在加载模型时获得预期的输入形状?

python - 如何将控制台插入 pyGame 窗口?

python - 如何使用具有可变形状输入的 Keras Conv2D 层

tensorflow - 小批量梯度下降中 dropout 的使用困惑

machine-learning - 为什么马尔可夫链蒙特卡罗 (MCMC) 在贝叶斯机器学习中有用?

python - Tensorflow只保存检查点文件,不保存其他数据

python - Django Celery Beat 与数据库调度程序未运行任务

Python Unicode 输出格式