İ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.