Keras多输出:如何在不影响其他输出的情况下将类别权重应用于一个输出

时间:2019-03-07 09:08:02

标签: keras

我有一个共享相同后端的多输出put模型。我已将类权重应用于其中一个输出,这导致该特定输出中的结果得到了改善。但是,它对其他输出有负面影响(准确性降低)。之所以会发生这种情况,是因为具有类权重的输出可能会影响后端模型中的权重,所有其他输出都共享该权重。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用加权类有多种原因,其中两个是:-

  1. 当某些类别非常重要时,对这些类别进行错误分类会产生很高的成本。
  2. 当数据集是不平衡的时。

在两种情况下,为课程分配权重都会使模型在训练时更加关注高权重的课程,而较少关注低权重的课程。 对于案例1,与权重较低的类别相比,该模型对于高权重的类别而言效果更好,那么这是一件好事。对于第二种情况,这可能是有问题的。一种可能的解决方案是寻找最佳的权重组合。可以通过尝试错误法或使用hyper-parameter optimization技术(例如网格搜索)来找到。