最近在用BP神经网络进行文本分类,生成的文本向量矩阵中有含有“NaN”的数据,造成网络无法收敛。
现在终于找到原因了,
主要是由于在计算除法运算时,分母为0,导致结果是个无穷大的数,无法显示就用NaN代替了。Java代码在读取数据时加一个判断就好了if (Double.isNaN(datas[i]) || Double.isInfinite(datas[i])) {},//剔除数据中有"NaN"和无穷大的数据。
最近在用BP神经网络进行文本分类,生成的文本向量矩阵中有含有“NaN”的数据,造成网络无法收敛。
现在终于找到原因了,
主要是由于在计算除法运算时,分母为0,导致结果是个无穷大的数,无法显示就用NaN代替了。Java代码在读取数据时加一个判断就好了if (Double.isNaN(datas[i]) || Double.isInfinite(datas[i])) {},//剔除数据中有"NaN"和无穷大的数据。