我的输出显示损失函数的无穷大或负无穷大。它应该是0或1。
w = np.random.randn(6)
x = np.random.randn(6)
b =1
z = np.dot(w,x) + b
# a is sigmoid
a = 1/1+np.exp(-z)
loss_function = -(np.dot(a,np.log(y) + np.dot((1-a),np.log(1-y))))
在y的情况下,当我为y使用任何值时。表明
-inf
要么 inf
有人可以解释一下吗?
您正在向后应用交叉熵损失函数的公式,这就是为什么您只会得到无穷大的原因。
您的真实标签y
是0
或1
这将永远无法工作,而是a
您应该在日志中输入:
loss_function = -(np.dot(y,np.log(a) + np.dot((1-y),np.log(1-a))))
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句