Kapan data tidak seimbang benar-benar masalah dalam Pembelajaran Mesin?


53

Kami sudah memiliki beberapa pertanyaan tentang data yang tidak seimbang ketika menggunakan regresi logistik , SVM , pohon keputusan , mengantongi dan sejumlah pertanyaan serupa lainnya, yang menjadikannya topik yang sangat populer! Sayangnya, masing-masing pertanyaan tampaknya khusus untuk algoritma dan saya tidak menemukan pedoman umum untuk menangani data yang tidak seimbang.

Mengutip salah satu jawaban oleh Marc Claesen , berurusan dengan data yang tidak seimbang

(...) sangat tergantung pada metode pembelajaran. Sebagian besar pendekatan tujuan umum memiliki satu (atau beberapa) cara untuk menghadapinya.

Tetapi kapan tepatnya kita harus khawatir tentang data yang tidak seimbang? Algoritma mana yang paling banyak dipengaruhi olehnya dan mana yang bisa menghadapinya? Algoritma mana yang membutuhkan kita untuk menyeimbangkan data? Saya sadar bahwa mendiskusikan setiap algoritme tidak mungkin dilakukan di situs tanya jawab seperti ini, saya lebih suka mencari pedoman umum tentang kapan bisa menjadi masalah.



@MatthewDrury terima kasih, ini adalah pertanyaan yang menarik, tetapi IMHO, ia memiliki ruang lingkup yang berbeda. Yang saya tanyakan adalah pedoman ketika ini benar-benar masalah. Tentunya menjawab pertanyaan mengapa mengarah ke menjawab pertanyaan kapan , tapi saya mencari jawaban yang tepat untuk pertanyaan kapan .
Tim

9
Cukup adil! Aku bersamamu. "Literatur" dalam hal ini sepertinya adalah semua tentang cara memperbaiki masalah, tanpa repot meyakinkan Anda bahwa sebenarnya ada masalah yang harus dipecahkan, atau bahkan memberi tahu Anda dalam situasi apa suatu masalah terjadi atau tidak. Salah satu bagian yang paling membuat saya frustrasi.
Matthew Drury

2
@MatthewDrury itulah masalahnya!
Tim

1
Survei total metode tidak termasuk dalam lingkup pertanyaan SE. Apakah Anda ingin memperbaiki pertanyaan?
AdamO

Jawaban:


29

Bukan jawaban langsung, tetapi perlu dicatat bahwa dalam literatur statistik, beberapa prasangka terhadap data yang tidak seimbang memiliki akar sejarah.

Banyak model klasik disederhanakan rapi dengan asumsi data yang seimbang, terutama untuk metode seperti ANOVA yang terkait erat dengan desain eksperimental — motivasi tradisional / asli untuk mengembangkan metode statistik.

Tetapi aritmatika statistik / probabilistik menjadi sangat jelek, cukup cepat, dengan data tidak seimbang. Sebelum adopsi komputer yang meluas, perhitungan dengan tangan begitu luas sehingga memperkirakan model pada data yang tidak seimbang praktis tidak mungkin.

Tentu saja, komputer pada dasarnya menganggap ini bukan masalah. Demikian juga, kita dapat memperkirakan model pada kumpulan data besar, memecahkan masalah optimasi dimensi tinggi, dan mengambil sampel dari distribusi probabilitas gabungan yang sulit diolah secara analitis, yang semuanya secara fungsional tidak mungkin dilakukan, lima puluh tahun yang lalu.

Ini adalah masalah lama, dan para akademisi menghabiskan banyak waktu untuk mengerjakan masalah ini ... sementara itu, banyak masalah teraplikasi melampaui / meniadakan penelitian itu, tetapi kebiasaan lama sulit ...

Edit untuk ditambahkan:

Saya sadar saya tidak keluar dan hanya mengatakannya: tidak ada masalah tingkat rendah dengan menggunakan data yang tidak seimbang. Dalam pengalaman saya, saran untuk "menghindari data yang tidak seimbang" adalah algoritma khusus, atau kebijaksanaan yang diturunkan. Saya setuju dengan AdamO bahwa secara umum, data yang tidak seimbang tidak menimbulkan masalah konseptual untuk model yang ditentukan dengan baik.


4
Meskipun saya sepertinya mengerti maksud Anda, premis Anda tidak memiliki argumen yang mendukung mereka. Bisakah Anda memberikan beberapa argumen dan / atau contoh tentang prasangka dan tentang bagaimana jika memengaruhi pembelajaran mesin?
Tim

1
Sementara apa yang Anda katakan adalah sebagian besar benar, itu adalah juga kasus bahwa metode seperti anova lebih kuat dengan data yang seimbang, nonnormality adalah kurang dari suatu masalah dengan data seimbang, misalnya. Tapi saya percaya semua ini ortogonal dengan maksud pertanyaan ini ...
kjetil b halvorsen

7
Saya sadar saya tidak keluar dan hanya mengatakannya: tidak ada masalah tingkat rendah dengan menggunakan data yang tidak seimbang. Dalam pengalaman saya, saran untuk "menghindari data yang tidak seimbang" adalah algoritma khusus, atau kebijaksanaan yang diturunkan. Saya setuju dengan AdamO bahwa secara umum, data yang tidak seimbang tidak menimbulkan masalah konseptual untuk model yang ditentukan dengan baik.
Henry

1
@ M.HenryL. komentar ini layak ditambahkan ke jawaban Anda untuk kelengkapan.
Tim

16

WLOG Anda bisa fokus pada ketidakseimbangan dalam satu faktor, daripada konsep yang lebih bernuansa "data sparsity", atau jumlah sel kecil.

Dalam analisis statistik yang tidak berfokus pada pembelajaran, kita sering menemukan bahwa kekuatan yang sama atau lebih baik diberikan ketika menggunakan skor kecenderungan untuk mencocokkan kelompok yang lebih kecil dengan kelompok yang lebih besar. Ini sebagian karena pencocokan memiliki tujuan yang sama dengan penyesuaian pembaur dalam hal "menyeimbangkan" faktor-faktor penentu keanggotaan kelompok, sehingga menghalangi efek pembaur mereka. Alasan jumlah perancu yang mungkin disesuaikan dalam analisis multivariat tergantung pada ukuran sampel. Beberapa aturan praktis mengatakan satu variabel per setiap 10 hingga 20 pengamatan. Dalam data yang tidak seimbang, Anda secara naif percaya bahwa data Anda cukup besar, tetapi dengan sejumlah kecil orang yang memiliki kondisi lebih jarang: inflasi ragam mengurangi daya secara substansial. Faktanya, Anda terlalu menyesuaikan diri.

Oleh karena itu, setidaknya dalam regresi (tapi saya curiga dalam semua keadaan), satu-satunya masalah dengan data yang tidak seimbang adalah bahwa Anda secara efektif memiliki ukuran sampel yang kecil . Jika ada metode yang cocok untuk jumlah orang di kelas yang lebih jarang, seharusnya tidak ada masalah jika proporsi keanggotaan mereka tidak seimbang.


13

Data yang tidak seimbang hanya masalah tergantung pada aplikasi Anda. Jika misalnya data Anda menunjukkan bahwa A terjadi 99,99% dari waktu dan 0,01% dari waktu B terjadi dan Anda mencoba memprediksi hasil tertentu, algoritma Anda mungkin akan selalu mengatakan A. Ini tentu saja benar! Metode Anda tidak mungkin mendapatkan akurasi prediksi yang lebih baik daripada 99,99%. Namun dalam banyak aplikasi kami tidak hanya tertarik pada kebenaran prediksi tetapi juga mengapa B terjadi kadang-kadang. Di sinilah data yang tidak seimbang menjadi masalah. Karena sulit meyakinkan metode Anda bahwa itu dapat memprediksi lebih baik dari 99,99% benar. Metode ini benar tetapi tidak untuk pertanyaan Anda. Jadi menyelesaikan data yang tidak seimbang pada dasarnya adalah biasing data Anda untuk mendapatkan hasil yang menarik dan bukan hasil yang akurat.

Secara umum ada tiga kasus:

  1. Anda benar-benar tertarik pada prediksi yang akurat dan Anda pikir data Anda reprenstatif. Dalam hal ini Anda tidak harus memperbaiki sama sekali, Berjemur dalam kemuliaan prediksi akurat 99,99% Anda :).

  2. Anda tertarik pada prediksi tetapi data Anda dari sampel yang adil tetapi entah bagaimana Anda kehilangan sejumlah pengamatan. Jika Anda kehilangan pengamatan secara acak, Anda masih baik-baik saja. Jika Anda kehilangan mereka dengan cara yang bias tetapi Anda tidak tahu seberapa biasnya, Anda akan membutuhkan data baru. Namun jika pengamatan ini hilang hanya atas dasar satu karakteristik. (misalnya Anda mengurutkan hasil dalam A dan B tetapi tidak dengan cara lain tetapi kehilangan setengah dari B) Ypu dapat mem-bootstrap data Anda.

  3. Anda tidak tertarik pada prediksi global yang akurat, tetapi hanya dalam kasus yang jarang terjadi. Dalam hal ini Anda dapat mengembang data dari kasus itu dengan mem-bootstrap data atau jika Anda memiliki cukup data dengan cara melempar data dari kasus lain. Perhatikan bahwa ini bias data dan hasil Anda sehingga peluang dan hasil semacam itu salah!

Secara umum sebagian besar tergantung pada apa tujuannya. Beberapa sasaran menderita karena data yang tidak seimbang dan yang lainnya tidak. Semua metode prediksi umum menderita karena itu jika tidak mereka akan memberikan hasil yang mengerikan secara umum.


7
Bagaimana kisah ini berubah ketika kita mengevaluasi model kita secara probabilistik?
Matthew Drury

@MatthewDrury Kemungkinan dari model asli sebagian besar benar untuk kasus 1 dan 3. Masalahnya adalah bahwa hanya dengan dataset yang sangat besar B menjadi dipisahkan dengan benar dari A dan kemungkinan B perlahan-lahan menyatu dengan nilai sebenarnya. Pengecualian adalah bahwa jika B sangat jelas dipisahkan dari A atau benar-benar terpisah secara acak dari A, kemungkinan masing-masing akan segera atau tidak pernah bertemu.
zen

@zen Saya agak tidak setuju bahwa regresi logistik kurang rentan. Regresi logistik cukup rentan terhadap ketidakseimbangan data, itu menciptakan bias sampel kecil dan rasio odds log cenderung ke arah faktor 2. Regresi logistik bersyarat merupakan alternatif untuk memperkirakan OR yang sama tanpa bias.
AdamO

@AdamO Ya regresi logistik masih rentan. Tetapi untuk pohon, kasing kecil dapat diabaikan sepenuhnya. itu bukan hanya ukuran sampel yang kecil. bahkan untuk n besar dan misalnya distribusi 80% -20% antara pohon opsi masih dapat memilih untuk memilih opsi 80% bahkan jika fraksi opsi 20% jelas meningkat dengan beberapa variabel x. Jika pengamatan baru yang lebih ekstrem ditemukan atau jika jumlah cabang rendah untuk titik ekstrim mana pun, pohon akan memprediksi opsi 80% sementara regresi logistik cenderung kurang melakukannya. Anda benar tentang regresi logistik bersyarat
zen

2
@MatthewDrury Stephen Senn memiliki diskusi yang bagus tentang hal ini dalam makalah yang sering saya baca ulang . Secara heuristik, rasio odds dari tabel 2x2 dengan entri abcd diperkirakan oleh iklan / (bc) dan memiliki varian 1 / a + 1 / b + 1 / c + 1 / d. Anda dapat mengambil sampel beberapa kasus (a dan c) secara sewenang-wenang dan rasio odds masih tidak bias, tetapi variansnya pergi hingga tak terbatas. Ini masalah presisi.
AdamO

8

Anggaplah kita memiliki dua kelas:

  • A , mewakili 99,99% populasi
  • B , mewakili 0,01% dari populasi

Mari kita asumsikan kita tertarik untuk mengidentifikasi elemen kelas B, yang bisa jadi individu yang terkena penyakit langka atau penipu.

Hanya dengan menebak A peserta didik akan skor tinggi pada hilangnya-fungsi mereka dan sangat sedikit elemen yang salah diklasifikasikan mungkin tidak bergerak, numerik, jarum (di tumpukan jerami, dalam hal ini). Contoh ini membawa intuisi di balik salah satu "trik" untuk mengurangi masalah ketidakseimbangan kelas: mengutak-atik fungsi biaya.

Saya merasa bahwa data yang tidak seimbang adalah masalah ketika model menunjukkan sensitivitas hampir nol dan spesifisitas hampir satu. Lihat contoh di artikel ini di bagian "mengabaikan masalah" .

Masalah sering kali menjadi solusi. Di samping trik yang disebutkan di atas, ada opsi lain . Namun, mereka datang dengan harga: peningkatan model dan kompleksitas komputasi.

Pertanyaannya menanyakan model mana yang lebih cenderung untuk menyelesaikan sensitivitas mendekati nol dan spesifisitas hampir satu. Saya merasa itu tergantung pada beberapa dimensi:

  • Kapasitas kurang, seperti biasa.
  • Beberapa fungsi biaya mungkin berjuang lebih dari yang lain: rata-rata kesalahan kuadrat (MSE) kurang terekspos daripada Huber - MSE harus kurang jinak terhadap elemen kelas B yang salah diklasifikasikan .

1
Ini mengasumsikan secara implisit (1) bahwa KPI yang kami coba maksimalkan adalah akurasi, dan (2) akurasi adalah KPI yang sesuai untuk evaluasi model klasifikasi. Bukan itu.
S. Kolassa - Reinstate Monica

5

Jika Anda berpikir tentang hal ini: Pada kumpulan data yang sangat tidak dapat dipisahkan dengan sempurna, hampir semua algoritma akan bekerja tanpa kesalahan.

Oleh karena itu, ini lebih merupakan masalah noise dalam data dan kurang terikat pada algoritma tertentu. Dan Anda tidak tahu sebelumnya algoritma mana yang mengkompensasi satu jenis noise terbaik.

Pada akhirnya Anda hanya perlu mencoba metode yang berbeda dan memutuskan dengan validasi silang.


Saya merasa komentar ini agak kurang dihargai. Saya hanya menghabiskan sedikit waktu meyakinkan seseorang bahwa ketidakseimbangan kelas tidak selalu menjadi masalah.
RDK

Ini tidak menjawab pertanyaan. Bagaimana kelas yang tidak seimbang "lebih merupakan masalah kebisingan dalam data"?
S. Kolassa - Reinstate Monica

2
@StephanKolassa Ini adalah jawaban, karena dikatakan data yang tidak seimbang tidak (langsung) masalah. Karenanya Anda tidak bisa bertanya "bagaimana" itu. Untuk pertanyaan yang lebih umum "bagaimana menangani masalah kebisingan dalam analisis data", jawabannya adalah bahwa itu khusus untuk set data individual dan yang dapat Anda lakukan hanyalah mengatur validasi dan mencoba apa pun yang berhasil. Jika Anda benar-benar ingin berdiskusi, saya yakin ele.uri.edu/faculty/he/PDFfiles/ImbalancedLearning.pdf memiliki ide. Tetapi pada akhirnya Anda akan melakukan sampling / reweighting / thresholding dan tidak ada gunanya mengetahui apa yang sebenarnya terjadi dalam kumpulan data ini.
Gerenuk
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.