我是机器学习和神经网络的新手。我正在尝试从头开始使用神经网络进行文本分类。在我的数据集中,有 7500 个文档,每个文档都标有七个类别之一。大约有 5800 个独特的单词。我正在使用一个具有 4000 个神经元的隐藏层。使用 sigmoid 激活函数。学习率=0.1,无辍学。
在训练期间大约 2 到 3 个 epoch 后,会显示警告:
运行时警告:exp 中遇到溢出。结果输出列表显示为:
[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00
0.00000000e+00 0.00000000e+00 4.11701866e-10] for every input except 4.11701866e-10.
sigmoid函数:
def sigmoid(x):
output = 1/(1+np.exp(-x))
return output
def sigmoid_output_to_derivative(output):
return output*(1-output)
如何解决这个问题?我可以使用不同的激活函数吗?
这是我的完整代码: https ://gist.github.com/coding37/a5705142fe1943b93a8cef4988b3ba5f