我正在使用t-SNE python实现来减少X
的维数,该包含100个实例,每个实例由1024个参数描述,用于CNN可视化。
X.形状 = [100, 1024]
X.dtype = float32
当我运行时:
Y = tsne.tsne(X)
第一个警告在 tsne.py 第 23 行中弹出:
运行时警告:日志中遇到的除以零 H = Math.log(sumP( + beta * Math.sum(D * P(/sumP
然后在以下行中还有更多这样的警告:
运行时警告:在除法中遇到无效值
最后,我在处理过程中的每次迭代后都会得到这个结果:
迭代 xyz :错误是 nan
代码结束时没有"错误",最后我得到一个空散点图。
编辑:
-> 我已经尝试过使用不同的数据集,并且效果很好。但是,我也需要它在我的第一组(似乎会引起问题的那组(上工作
问题:
有谁知道可能导致这种情况的原因?有解决方法吗?
sumP = sum(P)+np.finfo(np.double).eps
H = np.log(sumP) + beta * np.sum(D * P) / sumP;
这应该可以解决问题