Veri kümeleri: Dengesiz veri kümeleri

Değeri şunlardan biri olan kategorik bir etiket içeren bir veri kümesi Pozitif veya Negatif. 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:

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. Bunun gibi son derece dengesiz veri kümeleri tıpta yaygın olarak çoğu denek virüsü taşımaz.

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

 

Dengesiz veri kümeleri bazen yeterli azınlık sınıfı içermez örnekler üzerinden öğrenebilirsiniz. Yani, çok az sayıda pozitif etiket olduğunda 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, ilk olarak veri kümesi üzerinde çalışıyoruz. 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. Daha sonra, problemlerin üstesinden gelmek için aşağıdaki teknikleri deneyebilirsiniz veri kümelerindeki dengesizlikten kaynaklanır.

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

Dengesiz bir veri kümesini işlemenin bir yolu, çoğunluk sınıfını küçültmek ve ağırlığını artırmaktır. Bu iki yeni terimin tanımı 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 eklemek 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 azaltmak, 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 çubuklu çubuk grafik. Bir çubukta 20 negatif sonuç gösteriliyor
            classes; diğer çubukta 1 pozitif sınıf gösteriliyor.
Şekil 6. Örnekleme azaltma.

 

2. Adım: Azaltılmış sınıfa ağırlık verin: Örnek ekleyin alt örneklenen sınıfa ekler. Aşağı örneklemeden 10 kat sonra, örnek ağırlık 10 olmalıdır. (Evet, bu durum mantıksız görünebilir ancak nedenini daha sonra açıklayacağız.)

Şekil 7. Aşağı örnekleme ve yukarı ağırlıklandırmayı gösteren iki adımlı bir diyagram.
            1. Adım: Aşağı örnekleme, çoğu hesaptan rastgele örnekleri ayıklar
            sınıfını kullanır. 2. Adım: Yukarı ağırlıklandırma, aşağı örneklenen öğelere ağırlık ekler
            örnekler.
Şekil 7. Ağırlıklandırma.

 

Ağırlık terimi, model parametrelerini (ör. w1 veya w2) tuşlarına basın. Burada ağırlık, örnek ağırlıklar, tek bir örneğin önemini artırır göz atabilirsiniz. 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 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 işleminin ardından eklemek garip görünebilir. Sonuç olarak, sağlamak için neden bu modeli çoğunluk sınıfı mı? Çoğunlukla aynı kitlede çalışmaya ağırlık vermek, tahmin yanlılığı. Yani, aşağı örneklemeden sonra yukarı ağırlıklandırma, ortalama elde edersiniz.

Oranları yeniden dengeleme

Veri kümenizi yeniden dengelemek için ne kadar az örnekleme yapmalı ve ağırlığı ne kadar artırmalısınız? Cevabı belirlemek için yeniden dengeleme oranını denemelisiniz. tıpkı diğer kişilerle de yapacağınız gibi hyperparameters. Bununla birlikte, yanıt aşağıdaki faktörlere bağlıdır:

  • 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: Öğrendiklerinizi sınayın

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

  • Eğitim seti bir milyardan biraz fazla örnek içerir.
  • Grup boyutu 128'dir.
  • Dengesizlik oranı 100:1 olduğu için eğitim kümesi şu şekilde bölünür:
    • ~1 milyar çoğunluk sınıfı örneği.
    • Azınlık sınıfından yaklaşık 10 milyon örnek.
Aşağıdaki ifadelerden hangisi doğrudur?
Grup boyutunun 1.024'e yükseltilmesi,dönüşüm sayısının modeli.
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.
Aşağı örnekleme sayesinde, 128'lik her bir grubun ortalaması yaklaşık 21 eğitim için yeterli olması gereken azınlık sınıfı örnekleri modeli sunmaktır. Ö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 normal.
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.