Kayıp fonksiyonlarıyla model tahminlerini değerlendirme

PyTorch ile Deep Learning'e Giriş

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Neden bir kayıp fonksiyonuna ihtiyacımız var?

  • Eğitim sırasında modelimizin ne kadar iyi olduğunu söyler
  • Model tahmini $\hat{y}$ ve gerçek değer $y$ alır
  • Bir float döndürür

$$

Kayıp fonksiyonu diyagramı

PyTorch ile Deep Learning'e Giriş

Neden bir kayıp fonksiyonuna ihtiyacımız var?

  • Sınıf 0 - memeli, sınıf 1 - kuş, sınıf 2 - sürüngen
Saç Tüy Yumurta Süt Yüzgeç Bacak Kuyruk Evcil Kedi boyutu Sınıf
1 0 0 1 0 4 0 0 1 0

$$

  • Tahmin edilen sınıf = 0 -> doğru = düşük kayıp
  • Tahmin edilen sınıf = 1 -> yanlış = yüksek kayıp
  • Tahmin edilen sınıf = 2 -> yanlış = yüksek kayıp

$$

  • Amacımız kaybı en aza indirmek
PyTorch ile Deep Learning'e Giriş

One-hot encoding kavramları

  • $loss = F(y, \hat{y})$
  • $y$ tek bir tamsayıdır (sınıf etiketi)
    • ör. $y=0$ iken $y$ bir memelidir
  • $\hat{y}$ bir tensördür (softmax öncesi tahmin)
    • N sınıf sayısıdır, ör. N = 3
    • $\hat{y}$ N boyutlu bir tensördür,
      • ör. $\hat{y}$ = [-5.2, 4.6, 0.8]
PyTorch ile Deep Learning'e Giriş

One-hot encoding kavramları

  • Tamsayı y'yi sıfır ve birlerden oluşan bir tensöre dönüştürür

One-hot encoding

PyTorch ile Deep Learning'e Giriş

Etiketleri one-hot encoding ile dönüştürme

import torch.nn.functional as F

print(F.one_hot(torch.tensor(0), num_classes = 3))
tensor([1, 0, 0])
print(F.one_hot(torch.tensor(1), num_classes = 3))
tensor([0, 1, 0])
print(F.one_hot(torch.tensor(2), num_classes = 3))
tensor([0, 0, 1])
PyTorch ile Deep Learning'e Giriş

PyTorch'ta çapraz entropi kaybı

from torch.nn import CrossEntropyLoss

scores = torch.tensor([-5.2, 4.6, 0.8])
one_hot_target = torch.tensor([1, 0, 0])

criterion = CrossEntropyLoss()
print(criterion(scores.double(), one_hot_target.double()))

$$

tensor(9.8222, dtype=torch.float64)
PyTorch ile Deep Learning'e Giriş

Hepsini bir araya getirme

Kayıp fonksiyonu şunları alır:

  • scores - son softmax'tan önceki model tahminleri
  • one_hot_target - tek-sıcak (one-hot) kodlu gerçek etiket

Kayıp fonksiyonu şunları döndürür:

  • loss - tek bir float

Değerlerle kayıp fonksiyonu diyagramı

PyTorch ile Deep Learning'e Giriş

Hadi pratik yapalım!

PyTorch ile Deep Learning'e Giriş

Preparing Video For Download...