我对词嵌入非常陌生。我想将学习后的文档形象化。我读到t-SNE是做到这一点的方法。我有100K个文档,其嵌入尺寸为250个尺寸。也有几个软件包。
但是,对于t-SNE,我不知道应该学习多少次迭代,alpha值或perperxility值。
这些是超参数,还是可以由某些属性确定?
我对词嵌入非常陌生。我想将学习后的文档形象化。我读到t-SNE是做到这一点的方法。我有100K个文档,其嵌入尺寸为250个尺寸。也有几个软件包。
但是,对于t-SNE,我不知道应该学习多少次迭代,alpha值或perperxility值。
这些是超参数,还是可以由某些属性确定?
Answers:
我强烈推荐文章如何有效使用t-SNE。它具有tsne拟合过程的生动动画图,并且是实际上使我对tsne的功能有了直观了解的第一个来源。
在高层次上,困惑是重要的参数。尝试5、30和50的困惑度并查看结果是个好主意。
但是请认真阅读“如何有效使用t-SNE”。这将使您对TSNE的使用更加有效。
对于包,可以使用Rtsne在R或sklearn.manifold.TSNE在python
我将在t-SNE网站上引用常见问题解答。首先是困惑:
我应该如何设置t-SNE的困惑?
在困惑的不同设置下,t-SNE的性能相当强大。最合适的值取决于数据的密度。松散地说,可以说更大/更密集的数据集需要更大的困惑。困惑度的典型值在5到50之间。
对于所有其他参数,我会考虑阅读以下内容:
我如何评估t-SNE构建的可视化效果的质量?
最好只是看看它们!请注意,t-SNE不会保留距离,而是保留概率,因此在高D和低D下测量欧几里得距离之间的一些误差是没有用的。但是,如果使用相同的数据和困惑度,则可以比较t-SNE报告的Kullback-Leibler差异。十次运行t-SNE并选择KL散度最低的解决方案是完全可以的。
换句话说,这意味着:查看图表,如果可视化效果很好,请不要更改参数。您还可以为每个固定的困惑度选择最低KL散度的运行。