python - 交叉熵上升而 AUC 上升(pytorch)
问题描述
我有一个前馈神经网络和一个二元分类问题。
将损失函数定义为
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 上升。我认为当另一个成长时,任何一个都应该下降。
解决方案
推荐阅读
- java - Apache Camel Web3j 组件
- c# - .NET Core 2.1 中的 UserManager 的 AutoSaveChanges
- python-3.x - wx.DirDialog 没有关闭
- groovy - 使用单引号 groovy 传递变量
- android - 从相机捕获的图像中获取 URI
- vba - 保存工作簿 Excel VBA 时删除非法字符
- sql - 将 Excel 单元格添加到 SQL Where 子句
- java - 处理spring hibernate SQL错误的推荐方式
- sql - 通过查询导出大型 SQL 数据库
- perl - 使用 Perl 库 Selenium::Remote::Driver v1.28 登录网站