Sobes.tech
Middle — Senior

İki sinif üçün kross-entropy istifadə etmək mümkündür və niyə tövsiyə edilmir?

sobes.tech Süni İntellekt

AI-dan cavab

Kross-entropy — geniş istifadə olunan itki funksiyasıdır və ikili (iki sinifli) təsnifat tapşırıqları daxil olmaqla, təsnifat tapşırıqları üçün istifadə olunur. Teoriyə baxımından, kross-entropy iki sinif üçün uyğundur, çünki o, həqiqi paylanma ilə proqnozlaşdırılan arasındakı fərqi ölçür.

Ancaq, ikili təsnifatda, adətən, xüsusi bir kross-entropy forması istifadə olunur: ikili kross-entropy (binary cross-entropy), iki sinif üçün optimallaşdırılmışdır və ehtimallar və etiketlərin xüsusiyyətlərini nəzərə alır.

Niyə ümumi (çox sinifli) kross-entropy iki sinif üçün tövsiyə edilmir:

  • Bu, etiketlərin one-hot vektorlar kimi təqdim olunmasını tələb edir, bu isə iki sinif üçün artıqdır.
  • Bu, hesablamaları çoxaldır və modeli mürəkkəbləşdirə bilər.
  • İkili kross-entropy daha sadə və səmərəlidir, çünki yalnız bir ədəd — müsbət sinfə aid olma ehtimalı ilə işləyir.

PyTorch-də ikili kross-entropy nümunəsi:

import torch
import torch.nn as nn

criterion = nn.BCELoss()  # ikili kross-entropy
outputs = torch.sigmoid(logits)  # model çıxışları
loss = criterion(outputs, targets)

Beləliklə, iki sinif üçün, ümumi kross-entropy yerinə ikili kross-entropy istifadə etmək tövsiyə olunur, bu da təlimin effektivliyini və düzgünlüyünü artırır.