AUC'nin standart doğruluk vs avantajları


64

Eğri altındaki alana (AUC) bakmaya başlamıştım ve faydası hakkında biraz kafam karıştı. AUC, bana ilk açıklandığında büyük bir performans ölçüsü gibi görünüyordu, ancak araştırmamda, yüksek standart doğruluk ölçümleri ve düşük AUC ile 'şanslı' modelleri yakalamanın en iyi yol olduğunu, avantajının çoğunlukla marjinal olduğunu iddia ettim. .

Öyleyse, modelleri doğrulamak için AUC'ye güvenmekten kaçınmalı mıyım yoksa bir kombinasyon en iyisi midir? Yardımların için teşekkür ederim.


5
Dengesiz bir problem düşünün. ROC AUC'nin çok popüler olduğu yer, çünkü eğri sınıf boyutlarını dengeler. Nesnelerin% 99'unun aynı sınıfta olduğu bir veri setinde% 99 doğruluk elde etmek kolaydır.
Anony-Mousse,

3
“AUC'nin asıl amacı, çok eğrilmiş bir örnek dağılımınızın olduğu ve tek bir sınıfa uydurmak istemediğiniz durumlarla ilgilenmektir.” Bu durumların, AUC'nin kötü performans gösterdiği ve hassas hatırlama grafikleri / alanlarının kullanıldığı yerlerde olduğunu düşündüm.
JenSCDC

@JenSCDC, Bu durumlarda benim tecrübelerime göre, AUC iyi bir performans sergiliyor ve indico'nun aşağıda tanımladığı gibi, o bölgeden aldığınız ROC eğrisinden geliyor. PR grafiği de kullanışlıdır (Recall'un ROC'deki eksenlerden biri olan TPR ile aynı olduğunu unutmayın), ancak Precision FPR ile tamamen aynı değildir, bu yüzden PR grafiği ROC ile ilişkilidir, ancak aynı değildir. Kaynaklar: stats.stackexchange.com/questions/132777/... ve stats.stackexchange.com/questions/7207/...
alexey

Yanıtlar:


59

Gerçekten harika bir soru ve çoğu insanın sezgisel bir seviyede anlamadığı bir soru. AUCAslında, çeşitli nedenlerden dolayı ikili sınıflandırma için doğruluk yerine sıklıkla tercih edilir. İlk önce tam olarak ne hakkında konuşalım AUC. Dürüst olmak gerekirse, en yaygın kullanılan etkinlik ölçütlerinden biri olmak için, tam olarak nasıl AUCçalıştığını anlamak şaşırtıcı derecede zor .

AUCaçılımı Area Under the Curvesormak hangi eğri? Eh, bu ROCeğri olurdu . aslında biraz sezgisel olmayan Alıcı Çalışma KarakteristiğiROC anlamına gelir . Asıl amacı, çok eğrilmiş bir örneklem dağılımınızın olduğu ve tek bir sınıfa giymek istemediğiniz durumlarla ilgilenmektir.AUC

Harika bir örnek spam tespitinde. Genel olarak, spam veri setleri jambon veya spam olmayanlara karşı güçlü bir şekilde önyargılıdır. Veri setiniz% 90 jambon ise, her bir e-postanın jambon olduğunu söyleyerek oldukça iyi bir doğruluk elde edersiniz, bu açıkça ideal olmayan bir sınıflandırıcıyı gösterir. Bizim için biraz daha yararlı olan birkaç ölçümle başlayalım, özellikle doğru pozitif oran ( TPR) ve yanlış pozitif oran ( FPR):

ROC eksenleri

Şimdi bu grafikte, TPRözellikle pozitif pozitifin tüm pozitiflere FPRoranı ve sahte pozitiflerin tüm negatiflere oranıdır. (Bunun sadece ikili sınıflandırma için olduğunu aklınızda bulundurun.) Bunun gibi bir grafikte, tüm 0'ların veya tüm 1'lerin bir tahmininin sırasıyla (0,0)ve sonuçlarına yol açacağını bulmak oldukça basit olmalıdır (1,1). Bu çizgilerden bir çizgi çekerseniz, şöyle bir şey elde edersiniz:

Bir çeşit üçgen gibi

Temelde köşegen bir çizgiye benzeyen (öyle) ve bazı kolay geometrilerde AUCböyle bir modelin olacağını göreceksiniz 0.5(yükseklik ve taban her ikisi de 1). Benzer şekilde, 0 ve 1'lerin rastgele bir ürün yelpazesini tahmin ederseniz,% 90% 1 diyelim (0.9, 0.9), yine o çapraz çizgi boyunca düşen noktayı elde edebilirsiniz .

Şimdi ilginç kısım geliyor. Ya sadece 0 ve 1'leri öngörmemiş olsaydık? Ya bunun yerine, teorik olarak, her sonucun 1 olduğu ve altında her sonucun 0 olduğu bir kesme ayarlayacağımızı söylemek istedik, bu, aşırı uçlarda, bulunduğunuz orijinal durumu elde ettiğiniz anlamına gelir. tüm 0'ları ve tüm 1'leri (sırasıyla 0 ve 1'lik bir kesimde), ancak aynı zamanda 1x1sizi içeren grafiğe giren bir dizi ara durumu var ROC. Uygulamada şöyle bir şey elde edersiniz: Wikipedia İzniyle

Temel olarak, AUCaşırı doğruluk yaptığınız zaman gerçekten elde ettiğiniz şey insanları temsili olan ancak ayrımcı olmayan modellere gidenleri caydıracak bir şeydir; doğruluk için garanti edilmeyen rastgele şansın üzerindedir.


AUC'nin F1 puanıyla nasıl karşılaştırıldığını ekler misiniz?
Dan

7
@ Dan - En büyük fark, AUC ile bir karar eşiği belirlemek zorunda olmamanızdır (esas olarak spam’in spam olmayanların üzerinde sıralı olma olasılığı ölçülmektedir). F1-skoru bir karar eşiği gerektirir. Elbette, karar eşiğini her zaman bir işletme parametresi olarak ayarlayabilir ve F1 puanlarını belirleyebilirsiniz.
DSea,

17

AUC ve doğruluk oldukça farklı şeylerdir. AUC, dahili olarak bir karar eşiği nosyonuna sahip olan ikili sınıflandırıcılar için geçerlidir. Örneğin, lojistik regresyon, lojistik fonksiyonunun bir eşikten daha büyük / küçük olmasına, genellikle varsayılan olarak 0,5 olmasına bağlı olarak pozitif / negatif olarak döner. Eşiğini seçtiğinizde, bir sınıflandırıcı var. Birini seçmek zorundasın.

Belirli bir eşik seçimi için, tüm veri setindeki gerçek pozitiflerin ve negatiflerin oranı olan doğruluğu hesaplayabilirsiniz.

AUC, gerçek pozitif oranın (hatırlama) ve yanlış pozitif oranın nasıl tersine çevrildiğini ölçmektedir, bu nedenle bu anlamda zaten başka bir şeyi ölçmektedir. Daha da önemlisi, AUC eşiğin bir işlevi değildir. Eşik değeri tüm olası değerlere göre değiştiğinden, sınıflandırıcının bir değerlendirmesidir. Bir anlamda, daha geniş bir metriktir, sınıflandırıcının ürettiği ve daha sonra bir eşikle karşılaştırdığı iç değerin kalitesini test eder. Belirli bir eşik seçiminin kalitesini test etmez.

AUC'nin farklı bir yorumu vardır ve bu, aynı zamanda, rastlantısal olarak seçilmiş bir pozitif örneğin, sınıflandırıcının örnekler için içsel değerine göre, rastgele seçilen bir negatif örneğin üzerinde sıralanma olasılığının da olmasıdır.

AUC, yalnızca örnekler üzerinde sıralama üreten bir algoritmaya sahip olsanız bile hesaplanabilir. AUC, yalnızca bir kara kutu sınıflandırıcıya sahipseniz ve dahili bir eşik değerine sahip değilseniz, hesaplanamaz. Bunlar genellikle ikisinden hangisinin elinizin altında bir sorun için uygun olduğunu belirler.

AUC, daha az durumda uygulanabilir olmasına rağmen, daha kapsamlı bir önlem olduğunu düşünüyorum. Kesinlikle doğruluktan daha iyi değil; Bu farklı. Kısmen gerçek pozitiflere, yanlış negatiflere vb. Önem verip vermediğinize bağlı.

F-ölçüsü, bir sınıflandırıcı ve eşik ayarının bir işlevi olduğu anlamında doğruluk gibidir. Ancak, yukarıda belirtilenlerle aynı olmayan hassaslığı hatırlama (gerçek pozitif oran) olarak ölçer.


Bu nedenle, grup büyüklüğünün eşit olduğu bir dizi gözlem için ikili bir sonuç tahmin etmek istersem (yani bir vaka kontrol çalışması), AUC'yi doğrulukla kullanarak bir şey kazanır mıyım? Yoksa bu tür çalışmalarda AUC'nin yalnızca geleneksel kullanım nedeniyle tipik kullanımı mı?
Joe,

AUC, sınıflandırıcının negatif durumdan daha iyi pozitif örnekleri ne kadar iyi sıraladığını ölçerken, doğruluk belirli bir karar eşiği için yanlış pozitifleri doğru olarak ölçer. Sanırım hangisinin değerlendirmek istediğiyle eşleştiğine bağlı. AUC, eşik seçiminden bağımsız olarak sınıflandırıcının daha kapsamlı bir ölçüsüdür, ancak sınıflandırıcının herhangi bir fiili kullanımı, sınıflandırmak için bir eşiğin seçilmesine bağlı olacaktır
Sean Owen

4

Bir performans ölçüsünü nasıl seçmeniz gerektiğine değinmek istiyorum. Ondan önce, belirli doğruluk ve AUC sorularına atıfta bulunacağım.

Daha önce cevaplandığı gibi, dengeleyici veri setinde bir sınıflandırıcı olarak çalıştırılan çoğunluğun kullanılması, onu yanıltıcı bir önlem haline getirecek olan yüksek hassasiyete yol açacaktır. AUC, iyi ve kötü için güven eşiğinin üzerinde toplanır. İyilik için, tüm güven seviyesi için bir ağırlık sonucu alırsınız. Kötü olan, genellikle yalnızca gerçekten kullanacağınız güven düzeyini umursamanız ve gerisinin alakasız olmasıdır.

Bununla birlikte, bir model için uygun bir performans ölçüsü seçmeyi de belirtmek isterim. Bir modeli hedefine göre karşılaştırmalısınız. Bir modelin amacı, bir iş makinesi öğrenme veya istatistik değil, iş alanı ve ihtiyaçları ile ilgilidir.

Altın için kazı yapıyorsanız (gerçek bir pozitifin çok büyük bir faydasının olduğu, yanlış pozitifin yüksek maliyetinin yüksek olmadığı bir senaryo), o zaman hatırlama iyi bir önlemdir.

İnsanlar üzerinde karmaşık bir tıbbi işlem yapıp yapmamaya karar vermeye çalışıyorsanız (yanlış pozitifin yüksek maliyeti, umarım düşük yanlış negatifin maliyeti), hassasiyet kullanmanız gereken ölçüdür.

Kullanabileceğiniz birçok önlem var. Bunları çeşitli şekillerde de birleştirebilirsiniz.

Bununla birlikte, evrensel “en iyi” önlem yoktur. İhtiyaçlarınız için en iyi model var, onu en üst düzeye çıkartan fayda en üst düzeye çıkacak.

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.