У меня есть два двоичных несбалансированных набора данных, где метки представляют собой эфиры 0 или 1, а выходные данные прогноза находятся в диапазоне от 0 до 1. Положительный случай имеет 10000 выборок, а отрицательный случай имеет 90000 выборок. Я использую партию 100 при обучении.
при расчете BinaryCrossEntropyLoss (в pytorch) можно указать вес регуляризации для каждого элемента партии.
Мой вопрос таков: чтобы рассчитать общую весовую дозу, имеет смысл рассчитать ее 1 раз в начале (т. Е. 1 / (10000 / (100000) для положительного случая) и масштабировать потерю каждоговыборка с этим значением
или:
Рассчитайте вес на уровне партии, сначала найдя дисбаланс класса партии (например, в партии это может быть 25 положительных и 75 отрицательных, следовательно, 1 /(25 / (25 + 75) для положительного случая)
Я спрашиваю об этом, потому что потери усредняются по партии