如何解决标准化 Keras 二元和分类交叉熵损失值
我正在使用遗传算法实现来尝试发现 CNN 的最佳模型结构。我正在使用带有 Tensorflow 后端的 Keras 来构建模型,我正在尝试优化两个值:验证损失和模型的大小。
我使用了由 model.fit 函数返回的历史记录中存储的最佳验证损失,并且为了获得模型相对大小的近似值,我使用了模型中可训练参数的数量。
但是,我需要将这些值放在一个可比较的范围内,这样一个值就不会在组合适应度值中大大超过另一个。此外,我需要保持较小值更适合的约定。
在进一步讨论之前,我应该说,对于我的损失函数,当真实值被编码为单个值时,我使用 Keras 的二元交叉熵(在密集层之前使用 sigmoid 激活),并且我使用当真值是 one-hot 编码时,Keras 的分类交叉熵(使用 softmax 激活)。
对于可训练参数的数量,我目前使用 1.0-(1.0/num_parameters)。老实说,这可能也不是最好的,如果有人有更好的扩展方式的建议,我很乐意听到。
对于验证损失,我最初打算使用原始值。但后来我发现验证损失可能大于 1,这与缩放的可比性混淆。
我想知道将这些值转换为可比较的比例的最佳方法是什么。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。