Veri kümeleri: Dengesiz veri kümeleri

Değeri Pozitif veya Negatif olan kategorik etiket içeren bir veri kümesini düşünün. Dengeli bir veri kümesinde Pozitif ve Negatif etiketlerinin sayısı yaklaşık olarak eşittir. Ancak bir etiket diğer etiketten daha yaygınsa veri kümesi dengeli değildir. Dengesiz bir veri kümesinde baskın etikete çoğunluğun sınıfı, daha seyrek görülen etikete ise azınlığın sınıfı denir.

Aşağıdaki tabloda, farklı dengesizlik dereceleri için genel olarak kabul edilen adlar ve aralıklar verilmiştir:

Azınlık sınıfına ait verilerin yüzdesi Dengesizlik derecesi
Veri kümesinin% 20-40'ı Hafif
Veri kümesinin% 1-20'si Orta düzey
Veri kümesinin% 1'inden az Olağanüstü

Örneğin, azınlık sınıfının veri kümesinin% 0,5'ini ve çoğunluk sınıfının %99,5'ini temsil ettiği bir virüs algılama veri kümesi düşünün. Çoğu denekte virüs bulunmadığından, tıp alanında bu gibi son derece dengesiz veri kümeleri yaygındır.

Şekil 5. İki çubuk içeren çubuk grafik. Bir çubuk yaklaşık 200 negatif sınıfı, diğer çubuk ise 1 pozitif sınıfı gösterir.
Şekil 5. Aşırı dengesiz veri kümesi.

 

Dengesiz veri kümeleri bazen bir modeli düzgün şekilde eğitmek için yeterli azınlık sınıfı örneği içermez. Yani, çok az sayıda pozitif etiketle model neredeyse yalnızca negatif etiketlerle eğitilir ve pozitif etiketler hakkında yeterince bilgi edinemez. Örneğin, grup boyutu 50 ise birçok grupta pozitif etiket bulunmaz.

Özellikle hafif dengesiz ve bazı orta derecede dengesiz veri kümeleri için dengesizlik genellikle sorun teşkil etmez. Bu nedenle, önce orijinal veri kümesinde eğitim yapmayı denemeniz gerekir. Model iyi çalışıyorsa işlem tamamlanmıştır. Aksi takdirde, en uygun olmayan model en azından gelecekteki denemeler için iyi bir referans sağlar. Ardından, dengesiz veri kümelerinden kaynaklanan sorunları gidermek için aşağıdaki teknikleri deneyebilirsiniz.

Örnek sayısını azaltma ve ağırlığı artırma

Dengesiz bir veri kümesini işlemenin bir yolu, örneklemeyi azaltmak ve çoğunluk sınıfına ağırlık vermektir. Bu iki yeni terimin tanımları aşağıda verilmiştir:

  • Örnek sayısını azaltma (bu bağlamda), çoğunluk sınıfı örneklerinin orantısız olarak düşük bir alt kümesinde eğitim anlamına gelir.
  • Ağırlık artırma, örnek ağırlığı, azaltılmış sınıfa azaltma işleminde kullandığınız faktöre eşit olacak şekilde ekleme anlamına gelir.

1. Adım: Çoğunluğun sınıfını azaltın. Şekil 5'te gösterilen ve her 200 negatif etiket için 1 pozitif etiket oranına sahip virüs veri kümesini düşünün. Örneği 10 kat küçültmek, dengeyi 1 pozitif ve 20 negatif (%5) olacak şekilde iyileştirir. Elde edilen eğitim veri kümesi hâlâ orta derecede dengesiz olsa da pozitif ve negatif örneklerin oranı, orijinal aşırı dengesiz orandan (%0,5) çok daha iyidir.

Şekil 6. İki çubuk içeren çubuk grafik. Bir çubuk 20 negatif sınıfı, diğer çubuk ise 1 pozitif sınıfı gösterir.
Şekil 6. Örnekleme hızını düşürme.

 

2. Adım: Örnek ağırlığı azaltılmış sınıfa ekleyin: Örnek ağırlıkları, örnek ağırlığı azaltılmış sınıfa ekleyin. Örnek ağırlık, 10 faktörüyle azaltıldıktan sonra 10 olmalıdır. (Evet, bu durum mantığa aykırı görünebilir ancak nedenini daha sonra açıklayacağız.)

Şekil 7. Örnek sayısını azaltma ve ağırlığı artırma işlemini gösteren iki adımlı bir diyagram.
            1. Adım: Örnek sayısını azaltma işlemi, çoğunluk sınıfından rastgele örnekler alır. 2. adım: Artırılmış ağırlık, örnek boyutu küçültülmüş örneklere ağırlık ekler.
Şekil 7. Ağırlıklandırma.

 

Ağırlık terimi, model parametrelerini (ör. w1 veya w2) ifade etmez. Burada ağırlık, eğitim sırasında tek bir örneğin önemini artıran örnek ağırlıkları ifade eder. 10 ağırlıklı bir örnek, modelin örneği 1 ağırlıklı bir örnekten 10 kat daha önemli (kayıp hesaplanırken) olarak ele aldığı anlamına gelir.

Ağırlık, örnekleme sayısını azaltmak için kullandığınız faktöre eşit olmalıdır:

\[\text{ \{example weight\} = \{original example weight\} × \{downsampling factor\} }\]

Örnek ağırlıkları, örnekleme oranı düşürüldükten sonra eklemek garip görünebilir. Sonuçta, modelin azınlık sınıfında iyileşmesini sağlamaya çalışıyorsunuz. Peki neden çoğunluk sınıfının ağırlığını artırıyorsunuz? Aslında, çoğunluk sınıfına ağırlık vermek tahmin önyargısını azaltma eğilimindedir. Yani, örnekleme oranını düşürdükten sonra ağırlıklandırma, modelinizin tahminlerinin ortalaması ile veri kümenizin etiketlerinin ortalaması arasındaki farkı azaltma eğilimindedir.

Yeniden dengeleme oranları

Veri kümenizi yeniden dengelemek için ne kadar az örnekleme yapmalı ve ağırlığı ne kadar artırmalısınız? Yanıtı belirlemek için, diğer hiperparametreler ile denemeler yaptığınız gibi yeniden dengeleme oranıyla denemeler yapmanız gerekir. Bununla birlikte, cevabın nihai olarak aşağıdaki faktörlere bağlı olduğunu belirtmek isteriz:

  • Grup boyutu
  • Dengesizlik oranı
  • Eğitim veri kümesindeki örnek sayısı

İdeal olarak her grupta birden fazla azınlık sınıfı örneği bulunmalıdır. Yeterli sayıda azınlık sınıfı içermeyen gruplar çok kötü bir şekilde eğitilir. Paket boyutu, dengesizlik oranından birkaç kat daha büyük olmalıdır. Örneğin, dengesizlik oranı 100:1 ise grup boyutu en az 500 olmalıdır.

Alıştırma: Anladığınızdan emin olun

Aşağıdaki durumu ele alalım:

  • Eğitim veri kümesi bir milyardan biraz fazla örnek içerir.
  • Grup boyutu 128'dir.
  • Dengesizlik oranı 100:1 olduğundan eğitim kümesi aşağıdaki gibi bölünür:
    • ~1 milyar çoğunluk sınıfı örneği.
    • ~10 milyon azınlık sınıfı örneği.
Aşağıdaki ifadelerden hangisi doğrudur?
Grup boyutunu 1.024'e çıkarmak elde edilen modeli iyileştirir.
1.024'lük bir grup boyutunda, her grupta ortalama 10 azınlık sınıf örneği bulunur. Bu, çok daha iyi bir model eğitmenize yardımcı olur.
Toplu işlem boyutunu 128 olarak tutarken 20:1'e kadar azaltma (ve ağırlığı artırma) işlemi yapmak elde edilen modeli iyileştirir.
Azaltılmış örnekleme sayesinde, 128'lik her grupta ortalama 21 azınlık sınıf örneği bulunur. Bu, faydalı bir model eğitmek için yeterlidir. Örnek sayısını azaltmanın, eğitim veri kümesindeki örnek sayısını bir milyarın biraz üzerindeyken yaklaşık 60 milyona düşürdüğünü unutmayın.
Mevcut hiperparametreler uygun.
128'lik bir toplu boyutla her topluda ortalama 1 azınlık sınıfı örneği bulunur. Bu, faydalı bir model eğitmek için yeterli olmayabilir.