当我们有一个二进制分类问题时,我们在输出layer+中使用一个sigmoid激活函数--二进制交叉熵损失。我们还需要一个热点编码的目标variable.This S,一个二进制分类问题,意味着我们可以有一些样本与y_pred=0
。正如我们所知道的,二元交叉熵损失的数量是log(y_pred)
,这意味着对于属于0类的样本,我们可以有log(0)
。但是,log(0)
是未定义的!那么,二进制交叉熵如何仍然是可计算的?对于多分类问题,softmax+分类交叉熵也是如此。
发布于 2022-10-25 04:43:26
添加一个等于机器感应器的值将在log
中给出一个足以不改变结果的偏移量,但会给您一个可以计算的表达式:
import numpy as np
print(0*np.log(0))
print(0*np.log(0+np.finfo(float).eps))
nan
-0.0
https://datascience.stackexchange.com/questions/115574
复制