Çok dengesiz sınıflar ile ikili sınıflandırma


52

(Özellikler, ikili çıkış 0 veya 1) şeklinde bir veri setine sahibim, ancak 1 nadiren oluyor, bu yüzden sadece her zaman 0 öngörerek% 70 ile% 90 arasında doğruluk elde ederim (baktığım verilere göre ). ML yöntemleri bana aynı doğruluğu veriyor ve bu durumda uygulanacak, açık tahmin kuralına göre doğruluğu artıracak bazı standart yöntemler olması gerektiğini düşünüyorum.


3
Bu makaleyi konu hakkında çok faydalı buldum: svds.com/learning-imbalanced-classes
J. O'Brien Antognini 20:16

@ J.O'BrienAntognini Bu gerçekten güzel bir makale!
Jinhua Wang

Yanıtlar:


30

Hem hxd1011 hem de Frank haklı (+1). Temel olarak yeniden örnekleme ve / veya maliyete duyarlı öğrenme, dengesiz veri sorununu çözmenin iki ana yoludur; Üçüncüsü, bazen sınıf dengesizliğinden daha az etkilenebilecek çekirdek yöntemleri kullanmaktır. Gümüş mermi çözümü olmadığını vurgulamama izin verin. Tanım olarak numunelerinizde yetersiz temsil edilen bir sınıfa sahipsiniz.

Yukarıdakileri söyledikten sonra SMOTE ve ROSE algoritmalarını çok faydalı bulacağınıza inanıyorum . SMOTE , çoğunluk sınıfının üyelerini dışlamak için yakın komşular yaklaşımını etkili bir şekilde kullanırken, benzer şekilde bir azınlık sınıfının sentetik örneklerini yaratır. ROSE, düzgünleştirilmiş bir önyükleme yaklaşımı kullanarak iki sınıfın altında yatan dağılımlarına ilişkin tahminler oluşturmaya ve bunları sentetik örnekler için örneklemeye çalışır. Her ikisi de, R paketinde uğratan kolayca elde edilebilir DMwR paketinde ve ROSE aynı adı . Hem SMOTE hem de ROSE, orijinalinden daha küçük bir eğitim veri setiyle sonuçlanır.k

Muhtemelen dengesiz veriler için daha iyi (veya daha az kötü) bir ölçümün Cohen'ink ve / veya Alıcının çalışma karakteristiğinin eğri altındaki Alanını kullandığını iddia ediyorum . Cohen'in kappa beklenen doğruluğunu doğrudan kontrol eder, AUC duyarlılık ve özgüllüğün bir işlevidir, eğri sınıf oranlarındaki eşitsizliklere karşı duyarsızdır. Yine, bunların sadece büyük miktarda tuzla kullanılması gereken metrikler olduğuna dikkat edin. Durumunuzda iletilen doğru ve yanlış sınıflandırmaların kazancını ve maliyetlerini göz önünde bulundurarak bunları kendi problemlerinize uyarlamanız gerekir. Asansör eğrilerine bakarken buldumAslında bu konuda oldukça bilgilendirici. Metriğinizden bağımsız olarak, algoritmanızın performansını değerlendirmek için ayrı bir test kullanmaya çalışmalısınız; tam da dengesiz aşırı uydurma sınıfından ötürü daha da muhtemel olduğundan, örnek dışı testler çok önemlidir.

Muhtemelen konuyla ilgili en popüler makale, He ve Garcia'nın Dengesiz Verilerden Öğrenmesidir . Kendi kendime ve diğer cevaplarda ortaya çıkan noktalara çok güzel bir genel bakış sunar. Ek olarak, şapka paketinin bir parçası olarak Max Kuhn tarafından sunulan, Dengesizliğin Altında Örneklemedeki Deneme'nin , sentetik veri oluşturmanın yanı sıra örneklemenin altında / aşırı örneklemenin nasıl ölçebileceğinin bir yapı örneğini elde etmek için mükemmel bir kaynak olduğuna inanıyorum. birbirlerine karşı.


Biraz popüler olan (ve yine çok uygun olmayan) bir üçüncü ölçüm, Hassas Geri Çağırma eğrisinin Eğri Altındaki Alanıdır. Davis & James, 2006 makalesi konuyla ilgili bir klasik olarak kabul edilir; CV iyi iş parçacığı vardır çok . Kısa bir süre önce " Hassas Geri Çağırma Grafiği, Dengesiz Veri Kümelerinde İkili Sınıflandırıcıları Değerlendirirken ROC Grafiğinden Daha Bilgilendirici " başlıklı bir kağıt gördüm , bu yüzden bir de bunu kontrol etmek isteyebilirsiniz.
usεr11852 Reinstate Monic diyor

1
Çeşitli veri yeniden örnekleme tekniklerinin piton uygulaması için dengesizlik-öğrenme paketini tavsiye ederim: github.com/scikit-learn-contrib/imbalanced-learn
Vadim Smolyakov

Dengesiz sınıf dağılımları için AUPRC, AUROC'dan daha bilgilendiricidir. Detaylar bu yorumda yer almıyor. Birçok kaynak arasında biri burada .
Zhubarb

15

İlk olarak, dengesiz veriler için değerlendirme ölçütü doğruluk olmaz. Dolandırıcılık algılama işlemini yaptığınızı, verilerinizin% 99.9'unun dolandırıcılık olmadığını varsayalım. % 99,9 doğruluğa sahip bir kukla modeli kolayca yapabiliriz. (sadece sahtekar olmayan tüm verileri tahmin et).

Değerlendirme ölçütünüzü doğruluktan F1 puanı veya kesinlik gibi bir şeyle değiştirmek ve hatırlamak istersiniz . İkinci bağlantıda ben verdim. Hassas hatırlamanın neden işe yarayacağına dair detaylar ve sezgiler var.

Oldukça dengesiz veriler için, bir model oluşturmak çok zor olabilir. Ağırlıklı kayıp işleviyle oynayabilir veya yalnızca bir sınıfı modelleyebilirsiniz. gibi bir sınıf SVM veya çok değişkenli Gauss uygun (bağlantı olarak daha önce verilen).


2
+1. Bir örnek SVM hakkında iyi örnek ve iyi sözler. Bence skoru, birlikte negatif olarak göz ardı edilerek biraz fazla kaldı. F1
usεr11852 Reinstate Monic diyor

"Kesinlik ve hatırlama" bağlantısı bitti mi?
Jason,

13

Sınıf dengesizliği sorunları, maliyete duyarlı öğrenme veya yeniden örnekleme ile ele alınabilir. Maliyete duyarlı öğrenmeye karşı örnekleme ve aşağıda kopyalanan avantajların dezavantajlarını görün :


{1}, maliyete duyarlı öğrenmeye karşı örneklemenin avantaj ve dezavantajlarının bir listesini verir:

2.2 Örnekleme

Eğitim verilerinin sınıf dağılımını değiştirmek için aşırı örnekleme ve örnek alma kullanılabilir ve sınıf dengesizliği ile başa çıkmak için her iki yöntem de kullanılmıştır [1, 2, 3, 6, 10, 11]. Eğitim verilerinin sınıf dağılımını değiştirmenin nedeni, yüksek derecede eğriltilmiş veri kümeleriyle öğrenmeye yardımcı olması, üniform olmayan yanlış sınıflandırma maliyetlerini etkin bir şekilde dayattığıdır. Örneğin, eğer biri eğitim setinin sınıf dağılımını değiştirirse, pozitif örneklerin negatif örneklere oranı 1: 1'den 2: 1'e giderse, o zaman bir kişi 2: 1 oranında yanlış sınıflandırma maliyet oranı etkin bir şekilde tayin eder. Eğitim verilerinin sınıf dağılımını değiştirmek ve yanlış sınıflandırma maliyet oranını değiştirmek arasındaki bu eşdeğerlik iyi bilinmektedir ve resmen Elkan tarafından tanımlanmıştır [9].

Maliyete duyarlı öğrenmeyi uygulamak için örneklemenin kullanımıyla ilgili bilinen dezavantajlar vardır. Undersampling ile dezavantajı, yararlı veriler atar olmasıdır . Aşırı örneklemenin temel dezavantajı , bizim açımızdan, mevcut örneklerin tam kopyalarını alarak , aşırı yüklenmeyi muhtemel kılmasıdır . Aslında, aşırı örneklemeyle, öğrencinin tek, kopyalanmış bir örneği ele almak için bir sınıflandırma kuralı oluşturması oldukça yaygındır. Aşırı örneklemenin ikinci bir dezavantajı, eğitim örneklerinin sayısını arttırması, böylece öğrenme zamanını arttırmasıdır .

2.3 Neden Örnekleme Kullanmalı?

Örneklemenin dezavantajları göz önüne alındığında, çarpık bir sınıf dağılımı ve tek tip olmayan sınıflandırma maliyetleriyle veri ile uğraşırken maliyete duyarlı bir öğrenme algoritması yerine neden birisinin bunu kullanacağını sormaya değer. Bunun birkaç nedeni var. Bunun en belirgin nedeni, tüm öğrenme algoritmalarının maliyete duyarlı uygulamaları olmaması ve bu nedenle örneklemeyi kullanan sarmalayıcı tabanlı bir yaklaşımın tek seçenektir. Bugün kesinlikle geçmişte olduğundan daha az doğru olsa da, birçok öğrenme algoritması (örneğin, C4.5) hala öğrenme sürecindeki maliyetleri doğrudan karşılamıyor.

Örneklemeyi kullanmanın ikinci bir nedeni, çok sayıda eğri veri setinin muazzam olması ve öğrenmenin uygulanabilir olması için eğitim setinin boyutunun azaltılması gerektiğidir. Bu durumda, örnek alma makul ve geçerli bir strateji gibi görünmektedir. Bu yazıda eğitim seti boyutunu küçültme gereğini düşünmüyoruz. Bununla birlikte, eğer bir eğitim verisinin atılması gerekiyorsa, eğitim setinin boyutunu istenen boyuta düşürmek için çoğunluk sınıfı örneklerinden bazılarını atmanın faydalı olabileceğini ve sonra da maliyet kullanacağını belirtmek isteriz. Hassas öğrenme algoritması, böylece atılan eğitim verilerinin miktarı en aza indirgenir.

Maliyete duyarlı bir öğrenme algoritmasından ziyade örneklemenin kullanımına katkıda bulunabilecek nihai bir sebep, yanlış sınıflandırma maliyetlerinin çoğu zaman bilinmemesidir. Bununla birlikte, bu örnekleme ile örnekleme ile ortaya çıktığından, örnekleme maliyet açısından duyarlı bir öğrenme algoritması üzerinden örnekleme kullanmak için geçerli bir neden değildir - nihai eğitim verilerinin sınıf dağılımı ne olmalıdır? Bu maliyet bilgisi bilinmiyorsa, sınıflandırma performansını ölçmek için ROC eğrisinin altındaki alan gibi bir ölçüm kullanılabilir ve her iki yaklaşım da ampirik olarak uygun maliyet oranını / sınıf dağılımını belirleyebilir.

Ayrıca sonuçsuz bir dizi deney yaptılar:

Tüm veri setlerinin sonuçlarına dayanarak, maliyete duyarlı öğrenme, aşırı örnekleme ve örnekleme arasında kesin bir kazanan yoktur.

Daha sonra veri kümelerinde hangi kriterlerin hangi tekniğin daha iyi uyduğunu ima edebileceğini anlamaya çalışırlar.

Ayrıca, SMOTE'nin bazı yenilikler getirebileceğini de belirtiyorlar:

İnsanların örneklemenin etkinliğini arttırmak için yaptıkları çeşitli geliştirmeler var. Bu geliştirmelerden bazıları [5 -> SMOTE] örneklemesinde aşırı örnekleme yapılırken yeni “sentetik” örnekler sunmayı, örnekleme yaparken [11] daha az kullanışlı çoğunluk sınıfı örnekleri silmeyi ve her bir örnek için örnekleme yapılırken en az bir örneklemde çoklu alt örnekleri kullanmayı içerir alt örnek [3]. Bu teknikler aşırı örnekleme ve örnekleme ile karşılaştırılmış olmasına rağmen, genellikle maliyete duyarlı öğrenme algoritmalarıyla karşılaştırılmamıştır. Bu gelecekte çalışmaya değer.


{1} Weiss, Gary M., Kate McCarthy ve Bibi Zabar. "Maliyete duyarlı öğrenme ve örnekleme: Dengesiz sınıfları eşit olmayan hata maliyetleriyle ele almak için en iyisi hangisidir?" DMIN 7 (2007): 35-41. https://scholar.google.com/scholar?cluster=10779872536070567255&hl=tr&as_sdt=0,22 ; https://pdfs.semanticscholar.org/9908/404807bf6b63e05e5345f02bcb23cc739ebd.pdf


1
Böylece bağlantıyı özetlemek için: hangi yöntemin daha iyi sonuç veremeyeceği ve sonuçta örneklemenin altında / fazla örneklemenin kullanılması daha kolaydır. Sağ?
LazyCat

1
@LazyCat doğru.
Franck Dernoncourt

Evet, platformun sınırlamaları var. Ancak birçoğu da özelliktir. Örneğin, bunun gibi uzun ve ayrıntılı bir cevabın iki soruya yeterince cevap verebileceğini varsa, o zaman bu soruların iki kez olması gerektiğini varsayalım . Ve eğer onlar kopya değilse, o zaman birinin cevaplarını anlamlı bir şekilde değiştirmek mümkün olmalı, böylece sadece kopya yapıştıramayacaklardı. Bu durumda hangi eylem yapılmalı? (cc @gung)
whuber

@whuber Diğer soru çoktan kapandı :-)
Franck Dernoncourt

1
Tamam - bu ikna edici bir argüman!
whuber

6

Bu sorgunun birkaç cevabı, hepsi geçerli olan birkaç farklı yaklaşım sağlamıştır. Bu öneri, Harvard'ın seçkin siyaset bilimcisi Gary King'in bir makalesi ve ilgili yazılımıdır. Oldukça karmaşık çözümler sunan Nadir Olaylar Verisinde Lojistik Regresyon başlıklı bir makale yazdı .

İşte soyut:

Nadir olay verilerini, düzinelerce ila binlerce kez ikili bağımlı değişkenleri (savaşlar, vetolar, siyasi aktivizm vakaları veya epidemiyolojik enfeksiyonlar gibi olaylar) sıfırlardan ("olmayanlar") inceliyoruz. Birçok literatürde, bu değişkenlerin en az iki kaynağa sahip gibi görünen bir problemin açıklanması ve tahmin edilmesi güç olduğu kanıtlanmıştır. İlk olarak, lojistik regresyon gibi popüler istatistiksel prosedürler, nadir olayların olasılığını keskin bir şekilde hafife alabilir. Var olan yöntemleri geride bırakan ve mutlak ve göreceli risk tahminlerini literatürde bildirilen bazı tahmin edilen etkiler kadar değiştiren düzeltmeler öneririz. İkincisi, yaygın olarak kullanılan veri toplama stratejileri, nadir olaylar için brüt olarak yetersizdir. Çok az sayıda olayla veri toplama korkusu, çok az sayıda gözlem içeren ancak çok az sayıda ve çok az sayıda ve çok az sayıda açıklayıcı değişken olan veri toplanmasına neden oldu; örneğin, yalnızca birkaç tanesi çeyrek milyondan fazla olan uluslararası çatışma verilerinde olduğu gibi savaşta. Görünüşe göre, tüm değişken olayları (örneğin, savaşlar) ve küçük bir kesinliksiz (barış) kesiti örnekleme gibi geçerli çıkarımlar yapmak için daha verimli örnekleme tasarımları mevcuttur. Bu, bilginlerin (düzeltilmemiş) veri toplama maliyetlerinin% 99'unu biriktirmelerini veya çok daha anlamlı açıklayıcı değişkenler toplamalarını sağlar. Her iki düzeltmenin de aynı anda çalışmasını sağlayan bu iki sonucu birbirine bağlayan yöntemler ve geliştirilen yöntemleri uygulayan yazılımlar sunuyoruz. ve yalnızca birkaç tanesi savaşta olan çeyrek milyondan fazla iz bırakan uluslararası çatışma verilerinde olduğu gibi kötü ölçülen, açıklayıcı değişkenler. Görünüşe göre, tüm değişken olayları (örneğin, savaşlar) ve küçük bir kesinliksiz (barış) kesiti örnekleme gibi geçerli çıkarımlar yapmak için daha verimli örnekleme tasarımları mevcuttur. Bu, bilginlerin (düzeltilmemiş) veri toplama maliyetlerinin% 99'unu biriktirmelerini veya çok daha anlamlı açıklayıcı değişkenler toplamalarını sağlar. Her iki düzeltmenin de aynı anda çalışmasını sağlayan bu iki sonucu birbirine bağlayan yöntemler ve geliştirilen yöntemleri uygulayan yazılımlar sunuyoruz. ve yalnızca birkaç tanesi savaşta olan çeyrek milyondan fazla iz bırakan uluslararası çatışma verilerinde olduğu gibi kötü ölçülen, açıklayıcı değişkenler. Görünüşe göre, tüm değişken olayları (örneğin, savaşlar) ve küçük bir kesinliksiz (barış) kesiti örnekleme gibi geçerli çıkarımlar yapmak için daha verimli örnekleme tasarımları mevcuttur. Bu, bilginlerin (düzeltilmemiş) veri toplama maliyetlerinin% 99'unu biriktirmelerini veya çok daha anlamlı açıklayıcı değişkenler toplamalarını sağlar. Her iki düzeltmenin de aynı anda çalışmasını sağlayan bu iki sonucu birbirine bağlayan yöntemler ve geliştirilen yöntemleri uygulayan yazılımlar sunuyoruz. Tüm değişken olayların (örneğin, savaşların) örneklenmesi ve varolmayanların küçük bir kısmı (barış) gibi geçerli çıkarımlar için daha verimli örnekleme tasarımları mevcuttur. Bu, bilginlerin (düzeltilmemiş) veri toplama maliyetlerinin% 99'unu biriktirmelerini veya çok daha anlamlı açıklayıcı değişkenler toplamalarını sağlar. Her iki düzeltmenin de aynı anda çalışmasını sağlayan bu iki sonucu birbirine bağlayan yöntemler ve geliştirilen yöntemleri uygulayan yazılımlar sunuyoruz. Tüm değişken olayların (örneğin, savaşların) örneklenmesi ve varolmayanların küçük bir kısmı (barış) gibi geçerli çıkarımlar için daha verimli örnekleme tasarımları mevcuttur. Bu, bilginlerin (düzeltilmemiş) veri toplama maliyetlerinin% 99'unu biriktirmelerini veya çok daha anlamlı açıklayıcı değişkenler toplamalarını sağlar. Her iki düzeltmenin de aynı anda çalışmasını sağlayan bu iki sonucu birbirine bağlayan yöntemler ve geliştirilen yöntemleri uygulayan yazılımlar sunuyoruz.

İşte makaleye bir link ... http://gking.harvard.edu/files/abs/0s-abs.shtml


Teşekkürler, - kağıdı okuduysanız, yukarıda önerilen örneklemenin ötesinde önemli bir şey önerdiler mi?
LazyCat

4
Bu iyi bir makale, bir kereden fazla okudum! (+1) Bence makalenin aynı zamanda çıkarımla ilgilendiğini de belirtmelisiniz. Bu nedenle GBM, bir GLM'ye kıyasla siyaset bilimci için daha az faydalı olacaktır. Örneğin, ağaç metodolojileri kullanılıyorsa: " ... iki özyinelemeli bölümleme algoritması aynı tahmin doğruluğunu sağlayabilir, ancak aynı zamanda yapısal olarak farklı regresyon ilişkilerini, yani farklı modelleri temsil eder ve bu nedenle etki hakkında farklı sonuçlara yol açabilir Tepkideki bazı değişkenlerin sayısı. ”(Hothorn ve ark. 2006)
us1111852, Reinstate Monic,

2

Dengesiz sınıflara sahip veri kümeleri için sınıflandırıcıların geliştirilmesi, makine öğrenmesinde yaygın bir sorundur. Yoğunluğa dayalı yöntemlerin bu durumda "geleneksel sınıflandırıcılar" üzerinde önemli yararları olabilir.

Yoğunluğa dayalı yöntem , en baskın sınıf olduğu bilinmeyen yoğunluğunu tahmin eder (Örnekte, ).p^(x|yC)CC={x:yi=0}

Bir yoğunluk tahmini eğitildiğinde, görünmeyen bir test kaydının bu yoğunluk tahminine ait olup olmadığını tahmin edebilirsiniz. Olasılık yeterince küçükse, belirtilen bir eşiğin altında (genellikle bir doğrulama aşamasıyla elde edilir), o zaman , aksi takdirdexy^(x)Cy^(x)C

Aşağıdaki makaleye başvurabilirsiniz:

"Yenilik Tespiti için Minimum Hacim Kümelerinin Hesaplanabilir Eklenti Tahmincisi", C. Park, J. Huang ve Y. Ding, Yöneylem Araştırması, 58 (5), 2013.


2

Bu Anomali Tespiti'nin kullanışlı bir yaklaşım olduğu bir problem türüdür. Temel olarak, eğitim sınıfınızın istatistiki profilini belirlediğiniz ve gelecekteki ölçümlerin o sınıfa ait olmayacağının belirleneceği bir olasılık eşiği belirlediğiniz cevabında tanımlanmış olan rodrigo budur. İşte başlamanız gereken bir video eğitimi . Bunu aldıktan sonra, Çekirdek Yoğunluğu Tahmini'ne bakmanızı tavsiye ederim.

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.