Apa akar penyebab masalah ketidakseimbangan kelas?

30

Saya telah banyak berpikir tentang "masalah ketidakseimbangan kelas" dalam pembelajaran mesin / statistik akhir-akhir ini, dan saya semakin dalam merasakan bahwa saya tidak mengerti apa yang sedang terjadi.

Pertama, biarkan saya mendefinisikan (atau mencoba) mendefinisikan istilah saya:

Masalah ketidakseimbangan kelas dalam pembelajaran mesin / statistik adalah pengamatan bahwa beberapa algoritma klasifikasi biner (*) tidak berkinerja baik ketika proporsi 0 kelas ke 1 kelas sangat condong.

Jadi, di atas, misalnya, jika ada seratus kelas untuk setiap kelas tunggal , saya akan mengatakan ketidakseimbangan kelas adalah hingga , atau .0111001%

Sebagian besar pernyataan masalah yang saya lihat tidak memiliki apa yang saya anggap sebagai kualifikasi yang memadai (model apa yang berjuang, seberapa tidak seimbangnya masalah), dan ini adalah salah satu sumber kebingungan saya.

Sebuah survei dari teks standar dalam pembelajaran mesin / statistik ternyata sedikit:

  • Elemen Miring Statistik dan Pengantar Pembelajaran Statistik tidak mengandung "ketidakseimbangan kelas" dalam indeks.
  • Pembelajaran Mesin untuk Analisis Data Prediktif juga tidak mengandung "ketidakseimbangan kelas" dalam indeks.

  • Pembelajaran Mesin Murphy : Perspektif Probabilistik memang mengandung "ketidakseimbangan kelas * dalam indeks. Referensi adalah bagian tentang SVM, di mana saya menemukan komentar menggoda berikut:

    Perlu diingat bahwa semua kesulitan ini, dan kebanyakan heuristik yang telah diusulkan untuk memperbaikinya, secara fundamental muncul karena SVM tidak memodelkan ketidakpastian menggunakan probabilitas, sehingga skor output mereka tidak dapat dibandingkan di semua kelas.

Komentar ini sesuai dengan intuisi dan pengalaman saya: pada pekerjaan saya sebelumnya, kami secara rutin akan menyesuaikan regresi logistik dan gradien meningkatkan model pohon (untuk meminimalkan kemungkinan log binomial) untuk data yang tidak seimbang (berdasarkan urutan ketidakseimbangan kelas ), dengan tidak ada masalah yang jelas dalam kinerja.1%

Saya telah membaca (di suatu tempat) bahwa model klasifikasi pohon (pohon sendiri dan hutan acak) juga menderita masalah ketidakseimbangan kelas. Ini sedikit memperkeruh air, pepohonan, dalam beberapa hal, mengembalikan probabilitas: catatan pemungutan suara untuk kelas target di setiap simpul terminal pohon.

Jadi, untuk menyelesaikannya, apa yang saya benar-benar kejar adalah pemahaman konseptual tentang kekuatan yang menyebabkan masalah ketidakseimbangan kelas (jika ada).

  • Apakah itu sesuatu yang kita lakukan untuk diri kita sendiri dengan algoritma yang dipilih dengan buruk dan ambang batas klasifikasi standar yang malas?
  • Apakah itu hilang jika kita selalu cocok dengan model probabilitas yang mengoptimalkan kriteria penilaian yang tepat? Dikatakan berbeda, apakah penyebabnya hanyalah pilihan yang buruk dari fungsi kerugian, yaitu mengevaluasi kekuatan prediksi model berdasarkan aturan klasifikasi keras dan akurasi keseluruhan?
  • Jika demikian, apakah model yang tidak mengoptimalkan aturan pemberian skor yang tepat kemudian tidak berguna (atau setidaknya kurang bermanfaat)?

(*) Menurut klasifikasi saya maksudkan setiap model statistik cocok dengan data respons biner. Saya tidak berasumsi bahwa tujuan saya adalah tugas yang sulit untuk satu kelas atau yang lain, meskipun mungkin.

Matthew Drury
sumber
1
Masalah yang jelas mungkin muncul ketika pelajar menghukum kerugian masing-masing kelas yang sama. Mengembalikan semuanya dengan kelas yang sama, secara teoritis, dapat meminimalkan kerugian total.
Firebug
1
Saya lupa menambahkan poor choice of loss functiondaftar saya. Jadi, apakah Anda pikir ini benar bahkan untuk aturan penilaian yang tepat sebagai fungsi kerugian?
Matthew Drury
Aku pikir begitu. Saya kira kita bisa merumuskan masalah di mana meminimalkan kerugian kelas yang lebih besar hanya meminimalkan kerugian seluruh masalah juga, sementara secara umum kelas minoritas lebih diminati.
Firebug
3
Saya setuju dengan sentimen pertanyaan. Saya memiliki hipotesis yang berhasil (walaupun dengan senang hati menolaknya) bahwa tidak ada masalah ketidakseimbangan kelas semata, hanya saja kita berlatih dengan fungsi kehilangan yang tidak mewakili apa yang akan kita gunakan untuk mengukur keberhasilan pada data pengujian. Dan sulit untuk menyebut ini sebagai kesalahan, karena ini hampir merupakan praktik standar: misalnya bukan standar untuk secara langsung mengoptimalkan skor AUC atau F1, tetapi itu adalah metrik keberhasilan umum untuk masalah dengan ketidakseimbangan kelas. Jadi mungkin itu masalah ketidakseimbangan kelas?
DavidR
9
Penyebab masalah ketidakseimbangan kelas adalah konvensi untuk menggunakan akurasi sebagai fungsi kerugian. ketidakseimbangan kelas adalah karakteristik masalah (misalnya diagnosis penyakit langka), yang dapat ditangani dengan menggunakan beberapa strategi. Menggunakan invers bobot kelas sebanding dengan ukuran kelas saat menghitung fungsi kerugian adalah salah satunya. Selain itu, AUC sebagai fungsi kerugian adalah ide yang baik karena ia secara khusus membedakan antara positif-benar dan salah-positif. Oleh karena itu masalah inti dari masalah ketidakseimbangan kelas adalah fungsi kerugian. Pertanyaan besar, yang saya tidak berani jawab.
Nikolas Rieble

Jawaban:

4

Sebuah entri dari Encyclopedia of Machine Learning ( https://cling.csd.uwo.ca/papers/cost_sensitive.pdf ) membantu menjelaskan bahwa apa yang disebut "masalah ketidakseimbangan kelas" lebih baik dipahami sebagai tiga masalah terpisah:

 (1) assuming that an accuracy metric is appropriate when it is not

 (2) assuming that the test distribution matches the training 
     distribution when it does not

 (3) assuming that you have enough minority class data when you do not

Para penulis menjelaskan:

Dataset ketidakseimbangan kelas terjadi di banyak aplikasi dunia nyata di mana distribusi data kelas sangat tidak seimbang. Sekali lagi, tanpa kehilangan keumuman, kami berasumsi bahwa kelas minoritas atau langka adalah kelas positif, dan kelas mayoritas adalah kelas negatif. Seringkali kelas minoritas sangat kecil, seperti 1% dari dataset. Jika kita menerapkan sebagian besar pengklasifikasi tradisional (tidak sensitif biaya) pada dataset, mereka kemungkinan akan memprediksi semuanya sebagai negatif (kelas mayoritas). Ini sering dianggap sebagai masalah dalam belajar dari dataset yang sangat tidak seimbang.

Namun, seperti yang ditunjukkan oleh (Provost, 2000), dua asumsi mendasar sering dibuat dalam pengklasifikasi tradisional yang tidak sensitif terhadap biaya. Yang pertama adalah bahwa tujuan dari pengklasifikasi adalah untuk memaksimalkan keakuratan (atau meminimalkan tingkat kesalahan); yang kedua adalah bahwa distribusi kelas dari set data pelatihan dan tes adalah sama. Di bawah dua asumsi ini, memprediksi semuanya sebagai negatif untuk dataset yang sangat tidak seimbang seringkali merupakan hal yang tepat untuk dilakukan. (Drummond dan Holte, 2005) menunjukkan bahwa biasanya sangat sulit untuk mengungguli classifier sederhana ini dalam situasi ini.

Dengan demikian, masalah kelas yang tidak seimbang menjadi bermakna hanya jika satu atau kedua dari dua asumsi di atas tidak benar; yaitu, jika biaya berbagai jenis kesalahan (false positive dan false negative dalam klasifikasi biner) tidak sama, atau jika distribusi kelas dalam data uji berbeda dari biaya data pelatihan. Kasus pertama dapat ditangani dengan efektif menggunakan metode dalam meta-learning yang sensitif biaya.

Dalam kasus ketika biaya kesalahan klasifikasi tidak sama, biasanya lebih mahal untuk kesalahan klasifikasi contoh minoritas (positif) ke dalam kelas mayoritas (negatif), daripada contoh mayoritas ke dalam kelas minoritas (jika tidak, lebih masuk akal untuk memprediksi semuanya sebagai negatif). Yaitu, FN> FP. Dengan demikian, mengingat nilai-nilai FN dan FP, berbagai metode pembelajaran meta-sensitif dapat, dan telah, digunakan untuk memecahkan masalah ketidakseimbangan kelas (Ling dan Li, 1998; Japkowicz dan Stephen, 2002). Jika nilai-nilai FN dan FP tidak diketahui secara eksplisit, FN dan FP dapat ditetapkan proporsional dengan p (-): p (+) (Japkowicz dan Stephen, 2002).

Dalam hal distribusi kelas pelatihan dan dataset uji berbeda (misalnya, jika data pelatihan sangat tidak seimbang tetapi data uji lebih seimbang), pendekatan yang jelas adalah dengan mengambil sampel data pelatihan sehingga distribusi kelasnya sama dengan data uji (dengan melampiaskan kelas minoritas dan / atau undersampling kelas mayoritas) (Provost, 2000).

Perhatikan bahwa kadang-kadang jumlah contoh kelas minoritas terlalu kecil untuk pengklasifikasi untuk belajar secara memadai. Ini adalah masalah data pelatihan (kecil) yang tidak mencukupi, berbeda dengan dataset yang tidak seimbang.

Jadi, seperti yang disiratkan Murphy, tidak ada yang secara inheren bermasalah tentang penggunaan kelas yang tidak seimbang, asalkan Anda menghindari ketiga kesalahan ini. Model yang menghasilkan probabilitas posterior membuatnya lebih mudah untuk menghindari kesalahan (1) daripada melakukan model diskriminan seperti SVM karena mereka memungkinkan Anda untuk memisahkan inferensi dari pengambilan keputusan. (Lihat bagian 1.5.4. Keputusan dan Keputusan Bishop untuk pembahasan lebih lanjut tentang poin terakhir itu.)

Semoga itu bisa membantu.

Bill Vander Lugt
sumber
1
Saya akan memposting sesuatu yang serupa. satu komentar kecil - saya pikir itu gila untuk undersample kelas yang lebih besar. Ini membuang data Anda, dan tentunya tidak akan memberikan hasil yang lebih baik. Saya suka gagasan pemisahan inferensi dan klasifikasi. bagian kesimpulan tidak dipengaruhi oleh ketidakseimbangan, tetapi pengambilan keputusan (klasifikasi) dapat sangat dipengaruhi.
probabilityislogic
@probabilityislogic (dan Bill Vander Lugt): Ada masalah lain yang mungkin tidak dibahas dalam teks itu: apakah Ansatz diskriminatif memadai. Tidak cukup untuk model diskriminatif di mana satu kelas akan lebih tepat juga dapat menyebabkan "masalah ketidakseimbangan kelas".
Cbeleites mendukung Monica
8

Apa pun yang melibatkan optimisasi untuk meminimalkan fungsi kerugian akan, jika cukup cembung, memberikan solusi yang merupakan global minimum dari fungsi kerugian tersebut. Saya katakan 'cukup cembung' karena jaringan yang dalam tidak secara keseluruhan cembung, tetapi memberikan minimum yang wajar dalam praktik, dengan pilihan tingkat pembelajaran yang cermat dll.

Oleh karena itu, perilaku model tersebut ditentukan oleh apa pun yang kita masukkan ke dalam fungsi kerugian.

F

yf=f(x)

FGbFFbG

yg={Bjika f(x)>bSEBUAHjika tidak

bG

FGG

Sekarang, katakanlah kita memiliki fungsi kerugian yaitu:

L.=1Nn=1Nsayaysayag(xsaya)

sayac1c0ysayasayag(xsaya)saya

990,9=89.1990,1=9.910,9=0,910,1=0,1

L.=(9.9+0,1)/100=0,1

G1/100

L.=0,01

Sepuluh kali lebih rendah dari kerugian saat menetapkan ambang batas seperti untuk menetapkan daya ingat dan presisi yang sama untuk setiap kelas.

GG

G

Sebagai alternatif, kita dapat memodifikasi dataset dengan mengkloning setiap B contoh 99 kali, yang juga akan menyebabkan fungsi kerugian tidak lagi memiliki minimum pada posisi yang berbeda dari ambang ideal kita sebelumnya.

Hugh Perkins
sumber
4
Bisakah Anda mencoba membuat jawaban Anda sedikit lebih khusus untuk pertanyaan yang diajukan? Sementara jelas bijaksana itu dibaca sebagai komentar daripada jawaban. Sebagai contoh, hanya untuk tujuan komentar seseorang dapat berargumen bahwa menggunakan aturan penilaian yang tidak tepat seperti fungsi kerugian yang didefinisikan secara fundamental salah dan oleh karena itu analisis selanjutnya tidak valid.
usεr11852 mengatakan Reinstate Monic
G
2
FPTPk
FFGFFG
3
Ini mengasumsikan secara implisit (1) bahwa KPI yang kami coba maksimalkan adalah akurasi, dan (2) akurasi adalah KPI yang tepat untuk evaluasi model klasifikasi. Bukan itu.
S. Kolassa - Reinstate Monica
0

Perhatikan bahwa pengklasifikasi satu kelas tidak memiliki masalah ketidakseimbangan karena mereka melihat setiap kelas secara independen dari semua kelas lain dan mereka dapat mengatasi "tidak-kelas" dengan tidak memodelkan mereka. (Mereka mungkin memiliki masalah dengan ukuran sampel yang terlalu kecil, tentu saja).

Banyak masalah yang akan dimodelkan secara lebih tepat oleh pengklasifikasi satu kelas mengarah ke model yang tidak jelas ketika pendekatan dikriminatif digunakan, di mana "masalah ketidakseimbangan kelas" adalah satu gejala.

Sebagai contoh, perhatikan beberapa produk yang baik untuk dijual atau tidak. Situasi seperti itu biasanya ditandai dengan

class         | "good"                        | "not good"
--------------+-------------------------------+------------------------------------------
sample size   | large                         | small
              |                               |
feature space | single, well-delimited region | many possibilities of *something* wrong 
              |                               | (possibly well-defined sub-groups of
              |                               |    particular fault reasons/mechanisms) 
              |                               | => not a well defined region, 
              |                               | spread over large parts of feature space
              |                               |
future cases  | can be expected to end up     | may show up *anywhere* 
              | inside modeled region         | (except in good region)

Dengan demikian, kelas "baik" didefinisikan dengan baik sedangkan kelas "tidak baik" tidak jelas. Jika situasi seperti itu dimodelkan oleh pengelompokan diskriminatif, kami memiliki "masalah ketidakseimbangan" dua kali lipat: tidak hanya memiliki ukuran sampel kecil kelas "tidak-baik", tetapi juga memiliki kepadatan sampel yang lebih rendah (lebih sedikit sampel yang tersebar di seluruh sebagian besar ruang fitur).

Jenis "masalah ketidakseimbangan kelas" ini akan menghilang ketika tugas dimodelkan sebagai pengakuan satu kelas dari kelas "baik" yang didefinisikan dengan baik.

Cbeleites mendukung Monica
sumber