BCELoss з вагами для міток (наприклад, зважений_крос_ентропій_з_логітами в TF) # 5660

Коментарі

Копіювати посилання Цитувати відповідь

bceloss

великодній прокоментував 9 березня 2018 р. •

У своєму поточному проекті я реалізував аналог зважених_кросів_ентропій_ з_логітами. Це корисно для роботи з незбалансованими наборами даних. Я хочу додати його до PyTorch, але я сумніваюся, чи він справді потрібен іншим.

Наприклад, моя реалізація:

(Звичайно, тести та WeightedBCELoss також слід писати.)

Текст успішно оновлено, але виявлені такі помилки:

великодній прокоментував 9 березня 2018 р

Інший спосіб - додати аргумент pos_weight до втрати BCELoss та BCEWithLogits.

суміт прокоментував 13 березня 2018 р

ми обговорили цю пропозицію вчора, і я не думаю, що має сенс додати її. цільові ваги - це просто множник, який можна зробити заздалегідь за допомогою *, і це не так часто зустрічається у випадку використання.

великодній прокоментував 13 березня 2018 р. •

Зверніть увагу, що pos_weight множиться лише на перше додавання у формулі втрати BCE. Це не вага для цілі. Я не бачу простого способу зробити це заздалегідь.

Пропонована втрата виглядає так:

BCEWithLogitsLoss з множником m для цілей:

Якщо ці формули однакові, m має бути рівним:

Ця формула досить складна, містить логіти, і я думаю, вона чисельно нестабільна.