我成功地使用TensorFlow hub上这个模块转换文档。
每个文档的输出是一个512维的向量,但是对于我的应用来说,这太大了,我希望降低维度,而模块本身并不提供这种功能。
我看到了几个选项:
- 使用另一个输出维度较低的包。
- 使用诸如PCA或tSNE之类的方法来降低维度。
使用PCA或tSNE的问题在于,需要根据许多示例向量的数据进行拟合——这意味着当新文档到达并被转换为512维向量时,我需要不断地拟合另一个模型,然后更新旧的文档向量——这在我的应用中将是一个巨大的问题。
有没有其他可以在单个数据点上操作的降维技术?
回答:
“UMAP支持通过标准的sklearn变换方法将新点添加到现有嵌入中。” UMAP在速度、准确性和理论基础方面是降维的赢家。