我有一个前馈神经网络和一个二进制分类问题。
将损失函数定义为
def cross_entropy(ys,ts):
cross_entropy = -torch.sum(ts * torch.log(ys+0.00001) + (1-ts)*torch.log(1-ys+0.00001))
return cross_entropy
和AUC为
def auc(ys, ts):
ts = ts.detach().numpy()
ys = ys.detach().numpy()
return roc_auc_score(ts,ys)
其中ts
和ys
分别是目标/净输出(对于类1)。
由于某些原因,当我训练时,交叉熵会升高,而AUC会升高。我认为任何一个都应该随着另一个的成长而倒下。