Dengesiz Veriler için Sınıf Ağırlıkları
Çoğunluk sınıfının baskın çıkmasını engelleyin.
Dengesiz Veriler için Sınıf Ağırlıkları, CoddyKit'te ücretsiz bir Deep Learning Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Deep Learning Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Deep Learning Academy kursu toplamda 4 dersten oluşur.
Bir Sınıf Hâkim Olduğunda
Örneklerinizin yüzde 95'i tek bir sınıfa aitse model her zaman onu tahmin ederek yüksek puan alabilir. Bu, sınıf dengesizliği tuzağıdır. ⚖️
Doğruluk Burada Neden Yanıltır
Nadir sınıfı görmezden gelen tembel bir model yine de yüzde 95 doğru görünebilir. Bu nedenle doğruluk, sizin gerçekten önemsediğiniz azınlık sınıfındaki tam başarısızlığı gizler.
Kayıp Çoğunluğu İzler
Her örnek kayba eşit katkıda bulunduğu için bol bulunan sınıf gradyanı en güçlü şekilde çeker. Model çoğunlukla çoğunluk sınıfından öğrenir.
Kaybı Yeniden Ağırlıklandırın
Çözüm, nadir sınıflara daha güçlü bir söz hakkı vermektir. Sınıf ağırlıkları, her örneğin kaybını çarparak azınlık sınıfındaki hataların daha fazla sayılmasını sağlar.
Daha Nadir Sınıfa Daha Büyük Ağırlık
Yaygın bir yöntem, her ağırlığı sınıf sıklığıyla ters orantılı belirlemektir. Sınıf ne kadar nadirse ağırlığı o kadar büyür.
Ağırlıkları CrossEntropy'ye Verin
Çok sınıflı görevlerde uzunluğu C olan bir weight tensor'ünü kayba verin. Her giriş, o sınıfa ait hataların cezasını ölçeklendirir.
import torch.nn as nn
w = torch.tensor([1.0, 9.0])
loss_fn = nn.CrossEntropyLoss(weight=w)İkili Görevler İçin pos_weight
İki sınıflı problemlerde BCEWithLogitsLoss, nadirliğini telafi etmek üzere pozitif sınıfın etkisini artıran tek bir sayı olan pos_weight değerini alır.
loss_fn = nn.BCEWithLogitsLoss(pos_weight=torch.tensor([9.0]))Yalnızca Ağırlıklandırmayın, Örnekleyin
Ağırlıklandırma tek araç değildir. Her batch'i dengelemek için nadir sınıftan fazla örnekleme veya yaygın sınıftan az örnekleme de yapabilirsiniz.
Örnekleyiciyle Batch'leri Dengeleyin
WeightedRandomSampler, azınlık sınıfındaki örnekleri daha sık seçer; böylece DataLoader'ın sunduğu her batch tasarım gereği yaklaşık olarak dengeli olur.
from torch.utils.data import WeightedRandomSamplerZor Durumlar İçin Odaklanmalı Kayıp
Aşırı dengesizlikte odaklanmalı kayıp, kolay ve doğru sınıflandırılmış örneklerin ağırlığını azaltır; böylece model zor ve nadir örneklere odaklanır.
Doğru Ölçütle Değerlendirin
Yeniden dengelemeden sonra doğruluğu bırakıp F1 veya kesinlik ve duyarlılığı izleyin. Bunlar, nadir sınıfın sonunda öğrenilip öğrenilmediğini gösterir.
Hızlı Kontrol
Veri kümenizin yüzde 95'i negatif. Modelin pozitifleri görmezden gelmesini nasıl önlersiniz?
Özet: Nadir Sınıfa Söz Hakkı Verin
Dengesizlik, çoğunluğun eğitime el koymasına izin verir. Buna sınıf ağırlıkları, dengeli örnekleme veya odaklanmalı kayıpla karşı koyun ve sonuçları F1 ile değerlendirin. 💪
Sıkça Sorulan Sorular
“Dengesiz Veriler için Sınıf Ağırlıkları” dersi ücretsiz mi?
Evet — “Dengesiz Veriler için Sınıf Ağırlıkları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Deep Learning Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Deep Learning Academy kursu toplamda 4 dersten oluşur.
“Dengesiz Veriler için Sınıf Ağırlıkları” dersinde ne öğreneceğim?
Çoğunluk sınıfının baskın çıkmasını engelleyin. Deep Learning Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Deep Learning Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Deep Learning Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Dengesiz Veriler için Sınıf Ağırlıkları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Deep Learning Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Deep Learning Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Regresyon için MSE ve MAE
- Logitlerle İkili Çapraz Entropi
- Çok Sınıflı Problemler için Çapraz Entropi
- Dengesiz Veriler için Sınıf Ağırlıkları