Aşırı örnekleme, yetersiz örnekleme ve SMOTE hangi sorunu çözüyor?


25

Yakın geçmişteki iyi alınan söz konusu Tim sorar dengesiz veriler gerçekten Makine Öğrenmesi bir sorun olduğunda ? Sorunun önermesi, sınıf dengesini ve dengesiz sınıflar sorununu tartışan bir çok makine öğrenimi literatürü olmasıdır . Fikir, pozitif ve negatif sınıf arasında bir dengesizliğe sahip veri kümelerinin, bazı makine öğrenimi sınıflandırma (buraya olasılıklı modeller ekliyorum) algoritmaları için sorunlara neden olduğu ve mükemmel 50/50'yi geri yükleyen veri kümesini "dengelemek" için yöntemler aranmasıdır. pozitif ve negatif sınıflar arasında bölünür.

Güncel cevapların genel duygusu, "en azından modellemenizde düşünceli olmanız değil" dir. M. Henry L., kabul edilen bir cevaba verilen oylamada şöyle diyor:

[...] dengesiz verilerin kullanılması konusunda düşük bir sorun yoktur. Deneyimlerime göre, "dengesiz verilerden kaçınma" tavsiyesi ya algoritmaya özgü ya da kalıtsal bilgeliktir. AdamO ile genel olarak dengesiz verilerin iyi belirlenmiş bir model için kavramsal bir sorun yaratmadığını kabul ediyorum.

AdamO, sınıf dengesi ile ilgili "problemin" gerçekten sınıf nadirliği olduğunu savunuyor

Bu nedenle, en azından regresyonda (ancak her koşulda şüpheleniyorum), dengesiz verilerdeki tek sorun, etkili bir şekilde küçük örnek boyutuna sahip olmanızdır. Daha nadir sınıftaki kişi sayısı için herhangi bir yöntem uygunsa, oran üyeliği dengesiz ise herhangi bir sorun olmamalıdır.

Bu gerçek konu ise, açık bir soru bırakıyor: veri kümesini dengelemeyi amaçlayan tüm yeniden örnekleme yöntemlerinin amacı nedir: aşırı örnekleme, yetersiz örnekleme, SMOTE, vb? Açıkça küçük bir örnekleme boyutuna sahip olma sorununu ele almıyorlar, hiçbir şeyden bilgi yaratamazsınız!


Ben de tam olarak bunu değiştirirdim ... teşekkürler. Sorunuzun tüm kapsamını kapsamaz, ancak bir başlık yapmak zorunda değildir - ne tür bir soru sorduğunuzu açıkça öğrenir.
Glen_b-Monica

Kesinlikle diğer parametrik olmayan yöntemlerden daha yararlı ve bazen daha iyi olan önyükleme ve alt örnekleme yöntemlerinin olduğu durumlar vardır. Önyükleme ve alt örnekleme ile ilgili kitaplar bunu kapsar. Bu sitede, nispeten küçük örneklerde bile ayrımcı analizde önyükleme yapılmasına karşı önyüklemenin üstünlüğü de dahil olmak üzere bunu tartışan tartışmalar var. Önyüklemenin başarısız olduğu bazı durumlar vardır ve bunlar kitabımda olduğu gibi diğerlerinde de belirtilmiştir.
Michael R.Chernick

@MichaelChernick Bootstrap'tan bahsetmiyorum, Glen'in hakkında yorum yaptığı şey buydu. Ben örnekleme negatif ve negatif sınıf ase eşit bir veri kümesinde eşit örnekleme gibi üst ve alt örnekleme gibi "sınıf dengeleme" yaklaşımlardan bahsediyorum.
Matthew Drury

Alt örnekleme ekliyor musunuz? Sadece eşit olmayan örneklem büyüklüğünden mi bahsediyorsunuz? Ne kadar genel bir açıklama yapıyorsunuz?
Michael R.Chernick

@MichaelChernick İlk ve son paragraflara bazı açıklayıcı açıklamalar ekledim, umarım yardımcı olur.
Matthew Drury

Yanıtlar:


0

Bazı örnekleme teknikleri, (nüfus oranı biliniyorsa ve farklıysa) önyargıya uyum sağlamaktır, ancak dengesiz sınıfın sorunun kendisi olmadığı fikrine katılıyorum. Bunun en önemli nedenlerinden biri işleme performansına bağlıdır. Örneğin, hedeflenen sınıfımız 1: 100000'de çok nadir görülen bir durumsa, modelleme veri setimiz çok büyük ve hesaplama zor olurdu. Strateji ne olursa olsun örnekleme, toplam veri seti boyutunu azaltmak için her zaman bazı verileri atar. Sanırım tüm farklı örnekleme stratejileri arasındaki fark, sadece tahmin olasılıklarında bir kayıptan ödün vermeden etrafa veri attığımız akıllılıktır.


4
Bu doğru, ancak tartıştığım yöntemlerin çoğu daha büyük veri kümeleri oluşturur. Örnekleme, mevcut veri noktalarını kopyalayarak pozitif sınıfın daha fazla örneğini oluşturur ve SMOTE, nadir sınıfın "sentetik" veri noktalarını oluşturur. Bunlar kesinlikle hesaplama verimliliğine yardımcı olmaz.
Matthew Drury


0

Bu yöntemlerin çözmeye çalıştığı sorun, azınlık sınıfının maliyet işlevi üzerindeki etkisini arttırmaktır. Bunun nedeni, algos'un tüm veri kümesine iyi uymaya ve daha sonra çoğunluğa uyum sağlamaya çalışmasıdır. Diğer yaklaşım sınıf ağırlıklarını kullanmak olabilir ve çoğu durumda bu yakınlık daha iyi sonuçlar verir, çünkü örnekleme veya performans kaybı ile bilgi kaybı ve aşırı örnekleme ile gürültü girişi yoktur.


2
cevabını anlamıyorum
Michael R.Chernick

Sınıflandırıcı performansının, her örnek için hatanın eşit ağırlıklı olduğu tüm veri kümesinde (hem pozitif hem de negatif örneklerde ortalama hata) değerlendirildiğini kastetmiştim. Böylece algoritma (örneğin Lojistik regresyon) hipotez işlevini hata azaltmayı en üst düzeye çıkaracak örneklere uyarlar. Bu durumda, azınlığın (negatif sınıf) pratik olarak göz ardı edildiği çoğunluk sınıfına, çünkü tüm veri kümesinde hata üzerinde yüksek bir etkiye sahip değildir. Bu nedenle, aşırı örnekleme, örnekleme veya sınıf ağırlığı altında algoritma, azınlık sınıfına algoritmanın daha iyi benimsenmesini sağlar.
Milan Vukicevic

0

Size daha uç bir örnek vereceğim. Pozitif olarak etiketlenmiş ve yalnızca biri negatif olarak etiketlenmiş 99 veri noktası içeren bir veri kümenizin olduğu durumu düşünün. Eğitim sırasında, modeliniz her şeyi olumlu olarak sınıflandırırsa, sonunda ondan kaçacağını fark edecektir. Bunu düzeltmenin bir yolu, az temsil edilen sınıfı aşırı örneklemektir ve bir diğeri de aşırı temsil edilen sınıfı alt örneklemektir. Örneğin, 70 pozitif ve 30 negatif etiketli bir veri kümesinde, negatif etiketleri değiştirme olmadan ve pozitif olanlarla değiştirebilirim, bu da modelimin eğitim sırasında daha fazla negatif etiketle karşılaşmasına neden olur. Bu şekilde, modelim her şeyi olumlu olarak sınıflandırmaya çalışırsa, aksi takdirde olacağından daha büyük kayıplara neden olur.

Örnekleme ile ilgili olmayan bir diğer yaklaşım, azınlık etiketi ile veri noktalarına daha yüksek ağırlık verecek şekilde maliyet fonksiyonunu ayarlamaktır. Örneğin, etiketler arasında 0'lara kıyasla 1'lerin fazla temsil edildiği bir veri kümesinde NLL kaybı kullanıyorsanız, kayıp işlevinizi şu şekilde ayarlayabilirsiniz:

L(xben~,yben)=-α(yben)ln(xben~)-β(1-yben)ln(1-xben~)

β>α. Farklılığın büyüklüğü β-α aşırı temsil / eksik temsilin boyutuna bağlıdır.


0

Dengesiz verilerin makine öğreniminde bir sorun olmadığı fikrine katılmayacağım. Regresyonda belki daha az, ama kesinlikle sınıflandırmada.

Dengesizlik Verileri, Sınıf Dengesizliği ortamında algoritma performansının düştüğünden (düşündüğüm araştırma özellikle sınıflandırıcılar üzerinedir) Makine Öğrenim uygulamalarıyla ilgilidir.

A sınıfı 've' B sınıfı 'eğitim örneklerinin 25: 1 oranıyla basit bir ikili sınıflandırma problemi alın. Araştırmalar, B sınıfı sınıflandırmasına ilişkin doğruluk oranının, eğitim verilerinin düşme oranının azalması nedeniyle bir darbe aldığını göstermiştir. Daha az sayıda eğitim örneğiniz olduğu için, sınıflandırıcınızın bu veriler üzerinde daha az eğitim alacağı mantıklıdır. Yorumculardan birinin belirttiği gibi, hiçbir şeyden bir şey yapamazsınız. Gördüğüm makalelerden, çok sınıflı sınıflandırma problemlerinde, azınlık sınıfının doğruluğu üzerinde önemli bir etkiye sahip olmaya başlamak için 10: 1 oranına ulaşmanız gerekiyor gibi görünüyor. Belki de gördüğümden farklı edebiyatı okuyan insanlar farklı görüşlere sahiptir.

Dolayısıyla, önerilen çözümler şunlardır: Azınlık sınıfından fazla örnekleme, Çoğunluk sınıfından örnekleme veya azınlık sınıfında SMOTE kullanma. Evet, azınlık sınıfı için sentetik veri oluşturma işlemine girmedikçe (basit bir yöntem yok), hiçbir yerden gerçekten veri oluşturamazsınız (SMOTE türünü yapar, ancak tam olarak değil). MixUp ve benzeri gibi diğer teknikler potansiyel olarak bu konsepte girer, ancak bunların sınıf dengesizlik çözümlerinden daha düzenleyici olduklarını düşünüyorum. Okuduğum makalelerde Aşırı Örnekleme> SMOTE> Örnekleme.

Tekniğinizden bağımsız olarak, insidansı etkileyebilecek çoğunluk ve azınlık sınıfları arasındaki ilişkiyi değiştiriyorsunuz. Başka bir deyişle, 100.000'de 1 insidansı olan süper nadir beyin hastalığını X tespit etmek için bir sınıflandırıcı oluşturuyorsanız ve sınıflandırıcı 1: 1'de ise, daha fazla sayıda yanlış pozitif ile daha hassas ve daha az spesifik olabilirsiniz . Bu davaları ve hakemleri daha sonra tespit etmeniz önemliyse, sorun değil. Değilse, başkalarının zamanını ve parasını boşa harcadın. Bu sorunun nihayetinde ele alınması gerekecektir.

Soruyu cevaplamak için:

tl / dr: Aşırı / Örnekleme ve SMOTE (ve sentetik veriler) gibi sınıf dengeleme işlemleri, dengesizliğin kendisinin neden olduğu bir algoritmada ortaya çıkan doğal performansı çözerek makine öğrenme algoritması (sınıflandırıcı) performansını iyileştirmek için mevcuttur .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.