python - Universal Sentence Encoder,降低向量维数
问题描述
我正在使用TensorFlow hub 上提供的此模块成功转换文档。
每个文档的输出是一个 512 维向量,但是这对于我的应用程序来说太大了,我想减少模块本身不提供的维度。
我可以看到几个选项:
- 使用另一个具有较低维度输出的包。
- 使用诸如 PCA 或 tSNE 之类的东西来减小尺寸。
使用 PCA 或 tSNE 的问题在于,这需要适合许多示例向量的数据——这意味着当新文档到达并已转换为 512 维向量时,我需要继续拟合另一个模型,并且然后更新旧的文档向量——这在我的应用程序中将是一个大问题。
是否有任何其他可以对单个数据点进行操作的降维技术?
解决方案
“UMAP 支持通过标准 sklearn 变换方法向现有嵌入添加新点。” UMAP在各个方面、速度、准确性和理论基础上都是降维的赢家。
推荐阅读
- django - Elastic Beanstalk 上的 Docker + Django
- sql-server - SQL Server 动态重置运行平衡
- python - 无法使用 openpyxl 覆盖现有的 Excel 工作表
- python - 我想在 python 3.7 中使用 matplotlib 或 pandas 检测具有相同数值边界的数据集范围
- node.js - 如何解决 Express 错误:TypeError: Converting circular structure to JSON
- javascript - 加载资源失败:服务器响应状态为 405() 和 mysterius 输入
- matplotlib - 为什么我会得到已定义变量的新值?
- r - 如何正确处理 NA 强制警告
- javascript - 如何使用地图返回几个值
- ios - 不断拒绝我的应用程序,因为我没有在应用程序的用户界面中清楚地识别 HealthKit 功能