Keras 中 class_weight 和 loss_weights 的区别

数据挖掘 分类 喀拉斯
2021-09-22 02:56:14

Keras 有函数class_weight中使用的参数fit()和函数中loss_weights使用的compile()参数。从解释(Docs)和我的理解来看,两者似乎是相同的,因为它们用于表示每个类的重要性。然而,两者有什么区别呢?以及可以适当使用它们的场景是什么?

1个回答

来自GitHub的 Keras 团队

编译时的loss_weights参数用于定义每个模型输出损失对最终损失值的贡献程度,即。它权衡模型输出损失。您可以有一个具有 2 个输出的模型,其中一个是主要输出,另一个是辅助输出。例如。1. * 初级 + 0.3 * 辅助。损失权重的默认值为 1。

拟合上的class_weight参数用于在训练期间根据每个样本所属的类来衡量每个样本的重要性。这通常在每个类别的样本分布不均匀时使用。