Sobes.tech
Middle — Senior

Da li se može koristiti krížna entropija za dve klase i zašto se to ne preporučuje?

sobes.tech АИ

Одговор од АИ

Крос-ентропија је широко коришћена функција губитка за класификационе задатке, укључујући бинарну (двокласну) класификацију. Теоретски, крос-ентропија је погодна за две класе, јер мери разлику између истинске расподеле и предвиђене.

Међутим, у бинарној класификацији често се користи специјализовани облик крос-ентропије: бинарна крос-ентропија, која је оптимизована за две класе и узима у обзир особине вероватноћа и етикета.

Зашто се не препоручује коришћење уобичајене (мултикласе) крос-ентропије за две класе:

  • Она захтева да етикете буду представљене као one-hot вектори, што је вишак за две класе.
  • Може довести до прекомерних израчунавања и компликација модела.
  • Бинарна крос-ентропија је једноставнија и ефикаснија, јер ради са једним бројем — вероватноћом припадности позитивној класи.

Пример бинарне крос-ентропије у PyTorch-у:

import torch
import torch.nn as nn

criterion = nn.BCELoss()  # бинарна крос-ентропија
outputs = torch.sigmoid(logits)  # излази модела
loss = criterion(outputs, targets)

Стога, за две класе се препоручује коришћење бинарне крос-ентропије уместо опште, како би се побољшала ефикасност и тачност обуке.