哪个损失函数只返回0到1之间的值?
问题是关于二进制分类(使用pytorch)的损失。
通过尝试这些功能:
loss = torch.nn.functional.binary_cross_entropy(output, target)和
loss_function = torch.nn.BCELoss()
loss = loss_function(output, target)返回值有时大于1。
发布于 2022-04-14 10:52:54
BCE的损失函数方程为:
对于每一个x_i,y_i,我们都会搞砸:
l_i =−w_iy_i⋅log(x_i)+(1−y_i)⋅log(1−x_i)
BCE损失的默认值是所有l_i的平均值,您可以通过在BCE function.
reduction='sum'来更改它,即日志函数的输出在此范围内(-infinity,0),这与-w_i相乘;w_i在训练过程中具有一个正值。总之,损失函数的值可以是>1。
https://stackoverflow.com/questions/71862081
复制相似问题