gpt4 book ai didi

python - 为什么我的 sklearn t-sne 函数在达到最大迭代次数之前退出

转载 作者:行者123 更新时间:2023-11-30 09:50:52 28 4
gpt4 key购买 nike

我正在尝试对平方距离矩阵运行 tsne 分析。这些是我正在使用的命令。

model = TSNE(n_components = 2,perplexity = 32, verbose = 10,n_iter = 1000, metric = "precomputed")
embeddings = model.fit_transform(D)

这是我收到的输出:output from tsne function

看起来程序运行了 75 次迭代,然后称其正常并退出。当我绘制 tsne 中的数据时,它基本上只是一个密集的 Blob 。为什么程序会提前退出?如何让它运行更长时间?

最佳答案

由于达到了退出条件,因此正在退出。

解释日志,退出条件可能是梯度上的一个度量,这里称为梯度范数。如果需要,请查看 gradient-descent 的基础知识去理解直觉。由于每次迭代都朝着梯度的负值迈出一步,因此微小的梯度不会对目标产生太大影响(并且将被解释为:我们找到了局部/全局最小值)。

它看起来像(仍然只解释你的日志):

if np.linalg.norm(gradient) < 1e-4:
return solution

对于优化问题的参数化,没有必要进一步进行更多迭代。该解决方案不会变得更好(就最小化而言)。

您只能尝试其他参数(导致其他优化问题)。

关于python - 为什么我的 sklearn t-sne 函数在达到最大迭代次数之前退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45360409/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com