Set data: Set data tidak seimbang

Pertimbangkan {i>dataset<i} yang berisi label kategoris yang nilainya Positif atau Negatif. Dalam set data seimbang, jumlah Positif dan label Negatif kurang lebih sama. Namun, jika satu label lebih umum daripada label lainnya, maka {i>dataset<i} itu akan tidak seimbang. Label yang dominan dalam suatu {i>dataset<i} yang tidak seimbang disebut kelas mayor; label yang kurang umum disebut kelas minoritas.

Tabel berikut berisi nama dan rentang yang diterima secara umum untuk berbagai tingkat ketidakseimbangan:

Persentase data yang termasuk dalam kelas minoritas Tingkat ketidakseimbangan
20-40% dari set data Ringan
1-20% dari set data Sedang
<1% dari set data Ekstrem

Misalnya, pertimbangkan {i>dataset<i} deteksi virus di mana kelas minoritas tersebut mewakili 0,5% dari {i>dataset <i}dan kelas mayoritas mewakili 99,5%. {i>Dataset<i} yang sangat tidak seimbang seperti ini umumnya dalam kedokteran karena sebagian besar subjek tidak akan terkena virus.

Gambar 5. Grafik batang dengan dua batang. Satu batang menampilkan
sekitar 200
            kelas negatif; batang lainnya menunjukkan 1 kelas positif.
Gambar 5. Set data yang sangat tidak seimbang.

 

{i>Dataset<i} yang tidak seimbang terkadang tidak berisi kelas minoritas yang cukup contoh untuk melatih model dengan benar. Artinya, dengan sedikit label positif, model dilatih hampir secara eksklusif label negatif dan tidak dapat mempelajari label-label positif secara memadai. Misalnya, jika ukuran tumpukan adalah 50, banyak tumpukan tidak akan berisi label positif.

Sering kali, terutama untuk gambar yang tidak seimbang dan ada yang tidak seimbang ketidakseimbangan bukanlah masalah. Jadi, Anda harus terlebih dahulu mencoba pelatihan pada set data asli. Jika model telah berfungsi dengan baik, berarti Anda telah selesai. Jika tidak, model yang kurang optimal akan menghasilkan dasar bawaan untuk eksperimen mendatang. Setelah itu, Anda dapat mencoba teknik berikut untuk mengatasi masalah disebabkan oleh {i>dataset <i}yang tidak seimbang.

Downsampling dan Upweighting

Salah satu cara untuk menangani kumpulan data yang tidak seimbang adalah dengan menurunkan sampel dan menaikkan bobot kelas mayoritas. Berikut adalah definisi dari kedua istilah baru tersebut:

  • Downsampling (dalam konteks ini) berarti melatih sebagian kecil dari kelas mayoritas contoh.
  • Peningkatan bobot berarti menambahkan bobot contoh ke kelas yang dikurangi sampelnya sama dengan faktor yang digunakan dilakukan pengurangan sampel.

Langkah 1: Kurangi sampel kelas mayoritas. Pertimbangkan yang memiliki rasio 1 label positif untuk setiap 200 nilai negatif label. Downsampling dengan faktor 20 meningkatkan keseimbangan menjadi 1 positif hingga 10 negatif (10%). Meskipun set pelatihan yang dihasilkan masih agak tidak seimbang, proporsi dari positif ke negatif jauh lebih baik daripada perbedaan aslinya yang sangat tidak seimbang proporsi (0,5%).

Gambar 6. Grafik batang dengan dua batang. Satu batang menampilkan 20 negatif
            kelas, batang lainnya menunjukkan 1 kelas positif.
Gambar 6. Downsampling (pengurangan sampel).

 

Langkah 2: Tingkatkan bobot class yang dikurangi sampel: Tambahkan contoh bobot ke class yang dikurangi sampelnya. Setelah pengurangan sampel dengan faktor 20, bobot contoh harus 20. (Ya, ini mungkin tampak kontra-intuitif, tapi kita akan jelaskan alasannya nanti.)

Gambar 7. Diagram dua langkah downsampling dan peningkatan bobot.
            Langkah 1: Downsampling mengekstrak contoh acak dari sebagian besar
            . Langkah 2: Peningkatan bobot menambahkan bobot ke penurunan sampel
            contoh.
Gambar 7. Peningkatan.

 

Istilah bobot tidak merujuk pada parameter model (seperti, w1 atau w2). Di sini, weight mengacu pada contoh bobot, yang meningkatkan pentingnya setiap contoh selama pelatihan. Contoh bobot 10 berarti model memperlakukan contoh sebagai 10 kali lebih penting (saat menghitung kerugian) dibandingkan dengan contoh bobot 1.

Bobot harus sama dengan faktor yang Anda gunakan untuk menurunkan sampel:

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

Menambahkan bobot contoh setelah downsampling mungkin akan terlihat aneh. Bagaimanapun juga, Anda mencoba membuat model menjadi lebih baik pada kelas minoritas, jadi mengapa menambah kelas mayoritas? Faktanya, menaikkan bobot kelas mayoritas cenderung mengurangi bias prediksi. Yaitu, penambahan bobot setelah downsampling cenderung mengurangi delta di antara rata-rata dari prediksi model dan rata-rata label set data Anda.

Seimbangkan kembali rasio

Berapa banyak yang harus Anda kurangi dan tambahkan bobot untuk menyeimbangkan kembali {i>dataset<i} Anda? Untuk menentukan jawabannya, Anda harus bereksperimen dengan rasio rebalancing, sama seperti Anda akan bereksperimen dengan hyperparameter. Dengan demikian, jawabannya pada akhirnya bergantung pada faktor-faktor berikut:

  • Ukuran tumpukan
  • Rasio ketidakseimbangan
  • Jumlah contoh dalam set pelatihan

Idealnya, setiap batch harus berisi beberapa contoh class minoritas. Batch yang tidak berisi class minoritas yang memadai akan dilatih dengan sangat buruk. Ukuran tumpukan harus beberapa kali lebih besar daripada rasio ketidakseimbangan. Misalnya, jika rasio ketidakseimbangan adalah 100:1, maka ukuran tumpukan harus minimal 500.

Latihan: Memeriksa pemahaman Anda

Pertimbangkan situasi berikut:

  • Ukuran tumpukan adalah 128.
  • Rasio ketidakseimbangannya adalah 100:1.
  • Set pelatihan berisi satu miliar contoh.
Manakah dari pernyataan berikut yang benar?
Meningkatkan ukuran tumpukan menjadi 1.024 akan meningkatkan model transformer.
Dengan ukuran tumpukan 1.024, setiap tumpukan akan memiliki rata-rata sekitar 10 contoh kelas minoritas, yang seharusnya cukup untuk pelatihan. Tanpa pengurangan sampel, set pelatihan akan terus berisi satu miliar contoh.
Pengurangan sampel (dan penambahan bobot) ke 20:1 sambil mempertahankan ukuran tumpukan atau 128 karakter akan meningkatkan model yang dihasilkan.
Setiap batch akan memiliki rata-rata sekitar 9 contoh kelas minoritas, yang seharusnya memadai untuk pelatihan. Penurunan sampel secara efektif mengurangi jumlah contoh dalam set pelatihan dari satu miliar hingga 40 juta.
Situasi saat ini baik-baik saja.
Sebagian besar batch tidak akan berisi class minoritas yang cukup untuk melatih model model transformer.