Bir eğitim veri setinde sınıfları ne zaman dengelemeliyim?


29

Eğitim verilerindeki dengesiz sınıfların sorunlara yol açabileceğini öğrendiğim çevrimiçi bir kurs aldım, çünkü sınıflandırma algoritmaları dengesizliğin çok fazla olması halinde iyi sonuçlar verdiği için çoğunluk kuralı için de geçerlidir. Bir ödevde kişi çoğunluk sınıfını örnekleyerek verileri dengelemek zorundaydı.

Ancak bu blogda, birileri dengeli verilerin daha da kötü olduğunu iddia ediyor:

https://matloff.wordpress.com/2015/09/29/unbalanced-data-is-a-problem-no-balanced-data-is-worse/

Peki hangisi? Verileri dengelemeli miyim etmemeli mi? Bazıları dengesiz sınıf oranlarına sahip olabildiğinden, kullanılan algoritmaya bağlı mı? Öyleyse, hangileri dengesiz verilerde güvenilirdir?

Yanıtlar:


28

Sezgisel muhakeme, blog direğinde açıklanmıştır:

Amacımız Tahmin ise, bu kesin bir önyargıya neden olacaktır. Ve daha da kötüsü, örneklem büyüklüğü arttıkça tutarlı tahminlerde bulunmayacağımız anlamında kalıcı bir önyargı olacaktır.

Dolayısıyla, tartışmalı bir şekilde (yapay olarak) dengeli veri sorunu dengesiz durumdan daha kötüdür.

Dengeli veriler sınıflandırma için iyidir, ancak üretim performansının yanı sıra doğruluk ölçümlerini de etkileyecek olan görünüm sıklıkları hakkında bilgi kaybettiniz.

Diyelim ki el yazısıyla yazılan harfleri İngiliz alfabesinden (26 harf) tanıyorsunuz. Her harf görünümünün dengelenmesi, her harfin kabaca 1/26 olarak sınıflandırılması (doğru veya değil) olma olasılığını verecektir, böylece sınıflandırıcı, orijinal örnekteki harflerin fiili dağılımını unutacak. Ve bu kadar ok sınıflandırıcı yüksek doğrulukla her harfi genelleme ve tanıyamaz olduğunda .

Fakat doğruluk ve en önemlisi genelleme "çok yüksek" değilse (size bir tanım veremem - bunu sadece "en kötü durum" olarak düşünebilirsiniz) - yanlış sınıflandırılmış noktalar büyük olasılıkla tüm harfler arasında eşit olarak dağıtılacaktır. , gibi bir şey:

"A" was misclassified 10 times
"B" was misclassified 10 times
"C" was misclassified 11 times
"D" was misclassified 10 times
...and so on

Dengelemesiz olarak ("A" ve "C" nin metinde çok daha yüksek görünme olasılıkları olduğunu varsayarak)

"A" was misclassified 3 times
"B" was misclassified 14 times
"C" was misclassified 3 times
"D" was misclassified 14 times
...and so on

Bu yüzden sık sık davalar daha az yanlış sınıflandırma alacaktır. İyi olup olmaması işinize bağlıdır. Doğal metin tanıma için, daha yüksek frekanslı harflerin orijinal metnin anlamını koruyacağı ve tanıma görevini öngörmeye yaklaştırdığı (anlambilimin eğilimleri temsil ettiği ) daha uygun olduğu söylenebilir . Ancak, ECDSA-anahtarının (daha fazla entropi -> daha az tahmin) ekran görüntüsü gibi bir şeyi tanımaya çalışıyorsanız - verileri dengesiz tutmak yardımcı olmaz. Yani, yine, bağlı.

En önemli ayrım, doğruluk tahmininin kendisinin önyargılı olması (dengeli alfabe örneğinde de görebileceğiniz gibi) olmasıdır, bu nedenle modelin davranışının en nadir veya en sık görülen noktalardan nasıl etkilendiğini bilmiyorsunuz.

PS Dengesiz sınıflandırma performansını her zaman önce Precision / Recall metrikleri ile izleyebilir ve dengeleme ekleyip eklememe gerekip gerekmediğine karar ver.


p(xben|θ)p(xben|θ^)θ^ben-θbenbazen sınıfın popülasyonun kendisine veya daha büyük bir örnekten bilinen parametrelere göre yeniden dengelenmesi önerilir (bu nedenle daha iyi tahmin edicidir). Ancak, uygulamada her adımda önyargılı veri alma riski nedeniyle (daha büyük örneklemin) aynı şekilde dağıtılmadığının garantisi yoktur (diyelim ki bütün kitaplıktan kurguya ve teknik kitapçıktan toplanan İngilizce harfler diyelim).

Bu cevap ayrıca dengeleme için uygulanabilirlik kriterlerini netleştirmelidir:

Sınıf dengesizliği problemi, azınlık sınıfına ait yeterli örüntü bulunmamasından, kendi başına olumlu ve olumsuz örüntülerin oranından kaynaklanmamaktadır. Genellikle yeterli veriye sahipseniz, "sınıf dengesizliği sorunu" ortaya çıkmaz

Sonuç olarak, eğer eğitim seti yeterince büyükse yapay dengeleme nadiren kullanışlıdır. Aynı şekilde dağıtılmış daha geniş bir numuneden istatistiki veri olmaması da yapay dengelemeye (özellikle tahmin için) gerek olmadığını gösterir, aksi takdirde tahmin edicinin kalitesi "bir dinozorla buluşma olasılığı" kadar iyidir:

Sokakta bir dinozorla buluşma olasılığı nedir?

1/2 ya bir dinozorla tanışırsınız ya da bir dinozorla tanışmazsınız


5
Bence konunun açıklanmasının yanı sıra, bu cevabın alınabildiği önemli şey öncelikle dengesiz bir şekilde denenmesi ve sonuçlarını kontrol etmesi ve sadece dengelemeyi yapması ve sonucunu kontrol etmesi gerektiğidir. +1
Zelphir Kaltstahl

Başka bir deyişle, eğitim alt kümesine eşit olarak dağıtılmış sınıflarla, model görünmeyen verilerdeki doğruluğunu kaybedecek, değil mi? Ancak, tam tersi durumda, eğitim / test alt kümeleriniz için bir veri setinin girişlerini rastgele çıkarmaya çalıştığınızda, sınıflandırıcınız daha iyi performans gösterecek mi?
Christos K.

@ChristosK. Birçok kişinin belirttiği gibi, sorunu sınıflandırma olarak gördüğünüzde, öngörme nedenini düşünmek zordur. Her durumda, önyargıyı kaldırırsanız (örnek “rastgele”) - performansı iyileştirmek için daha büyük bir örneğe ihtiyacınız vardır. Sadece “genellikle” örnek, anlambilimi koruyacak kadar büyüktür, bu nedenle dengelemek sadece incitir ve her şeyi uygun şekilde düşünmeden “düzleştiren” düzleştirici çekiç gibi davranır. Ayrıca, dinozor metaforunun önerdiği gibi, “dengeli” “eşit” anlamına gelmez - yalnızca bazı olasılıkların “rastgele” bir örnekte yanlış tanıtıldığını bildiğiniz zaman doğru dengeleme yaparsınız.
dk14,

1
@ChristosK. Bazı açıklamalar için teşekkürler. Kastettiğim aynı değil ama yaklaşım çok benzer. K-fold uygulanabilirliği için genel öneri, ilk numuneniz “küçük” olduğunda yapılmalıdır. Emin değilim, fakat katlama yine de zarar vermemelidir - bu sadece daha fazla işlem gerektirir ve öngörmeyi ne kadar az önemsiyorsanız, genelleme / performansı o kadar tautolojik olarak ne kadar az umursarsanız :). Ancak genel olarak - k-katlama esas olarak daha az önyargı anlamına gelir.
dk14,

1
@ChristosK. Oh, ve bir uyarı olarak, spam / spam-olmayan oranı kendi başına sabit olmayan rastgele bir değişken olabilir. Tüm bu “sahte haberler”, “rus trolleri” ve bu tür varsayımlara dikkat etmem gereken diğer şeyler için - oran da önyargılı olabilir. Bir şey örneklenmemişse, önce sınıflandırma cihazlarınızda PrecisionRecall'i tahmin etmek isteyebilirsiniz - daha fazla veri toplamak / üretmek (?) Tercih ederim.
dk14

17

@ Kjetil-b-halvorsen'in yorumu ile tutarlı olarak, makine öğreniminin hızlı bir şekilde benimsenmesi araştırmacıları tahmin ve sınıflandırma konusunda şaşırtmıştır. Ben daha ayrıntılı olarak açıklandığı gibi burada , sınıflandırma sadece vakaların az bir kısmında uygundur. Sonuç nadir olduğunda (ya da çok yaygınsa), olasılıklar her şeydir, çünkü bu durumda kişi bireysel olayları tahmin etmek hakkında değil , sadece eğilimler hakkında konuşabilir .

İstatistiklerde, bir süre önce bazı verilerin hariç tutulmasını gerektiren herhangi bir yöntemin oldukça şüpheli olduğunu öğrendik. Dolayısıyla, sonuçları dengeleme hedefi yanlış yerleştirilmiştir. Eğilimlerin öngörülmesi (olasılıklar) bunu gerektirmez. Ve bir olasılık tahmin ettiğinizde, fayda / maliyet / kayıp fonksiyonunu öngörülen riske uygulayarak en uygun kararı verebilirsiniz.


1

Sınıflandırmadan ne elde etmek istediğinize bağlı mı?

Diyelim ki kanser olmadığına göre kanser değil, kanserin tespit edilmesi hayati önem taşıyor. Ancak, kanser dışı verilerinizin çoğunu oluşturacağından, sınıflandırıcı temelde tüm vakaları kanser olmayan sınıfa gönderebilir ve çok yüksek doğruluk elde edebilir. Ancak bunu göze alamayız, bu nedenle örnek olarak kanser dışı vakaları örnek alarak, karar sınırını kanser bölgesinden kanser olmayan bölgeye taşıyoruz.

Doğruluktaki tek amacımız olan kullanım durumlarında bile, test süresi dengesinin tren saatinden farklı olması bekleniyorsa dengeleme gerekli olabilir.

Örneğin, mangoları ve portakalları sınıflandırmak istediğinizi, 900 mango ve 30 portakallı bir eğitim veri setine sahip olduğunuzu, ancak eşit mango ve portakallı bir pazarda konuşlandırmayı beklediğinizi varsayalım. doğruluk.


Yaptığım derslerden anladığım şey buydu. Ancak, bu blog yazısının önerdiği gibi dengelemenin ne kadar kötü olabileceğini anlamıyorum. Her sınıf için yeterli veri noktası kalırsa neden dengelemek kötü olabilir?
Zelphir Kaltstahl

Üzgünüz, fakat analojinize göre pazar meyve dağıtımının model doğruluğu ile ne ilgisi var? Mangoları portakallardan ayırmayı ya da öğrenmemeyi öğrendiniz. Başka bir deyişle, aynı modeli yalnızca turuncu veya yalnızca mango pazarına dağıtabilmelisiniz .
Fernando

3
Ancak kanser örneğindeki sorun sınıflandırma olarak görülmesi, risk tahmini olarak ele alınması gerektiğidir . Sonra dengesiz sınıflarla ilgili görünen problem ortadan kalkıyor, bkz. Stats.stackexchange.com/questions/127042/…
kjetil b halvorsen

1

Verileriniz dengeli olduğunda, metrik doğruluğunu kontrol etmeyi tercih edebilirsiniz. Ancak böyle bir durumda verileriniz dengesiz olduğunda, hassasiyetiniz farklı yinelemeler için tutarlı değildir. Precision (PPR), Recall (duyarlılık) gibi daha fazla metriğe konsantre olmanız gerekir. Bu iki ölçüm, karşılaştırırken dengelenmelidir. Ayrıca Precision'ın harmonik ortalaması olan F1-Score'u kontrol etmeniz ve hatırlamanız gerekir. Bu, tüm makine öğrenme algoritmaları için geçerlidir.

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.