奇怪的迭代结果"错误是南"和运行警告使用t-SNE

Jul*_*lep 6 nan python-2.7 dimensionality-reduction

我正在使用t-SNE python实现来降低维度,X其中包含100个实例,每个实例由cnn可视化的1024个参数描述.

X.shape = [100,1024]

X.dtype = float32

当我跑:

Y = tsne.tsne(X)
Run Code Online (Sandbox Code Playgroud)

在第23行的tsne.py中弹出第一个警告:

RuntimeWarning:在log H = Math.log(sumP)+ beta*Math.sum(D*P)/ sumP中遇到的除以零

然后在以下几行中会出现更多类似警告的警告:

RuntimeWarning:在divide中遇到无效值

最后,我在处理过程中的每次迭代后得到这个结果:

迭代xyz:错误是nan

代码以"错误"结束,最后得到一个空的散点图.

编辑:

- >我用不同的数据集尝试过它,它运行得很好.但是我也需要它来处理我的第一组(似乎导致问题的那个)

题 :

有谁知道这可能导致什么?有解决方法吗?

小智 6

sumP = sum(P)+np.finfo(np.double).eps
H = np.log(sumP) + beta * np.sum(D * P) / sumP;
Run Code Online (Sandbox Code Playgroud)

这应该解决问题