Neden bazen CNN modelleri diğerlerinden yalnızca bir sınıfı öngörüyor?

Jan 17 2021

Derin öğrenme ortamında nispeten yeniyim, bu yüzden lütfen Reddit kadar kaba olma! Genel bir soru gibi görünüyor, bu yüzden gerekli görünmediği için kodumu burada vermeyeceğim (eğer öyleyse, işte colab bağlantısı )

Veriler hakkında biraz: Orijinal verileri burada bulabilirsiniz . Orijinal veri kümesinin 82 GB'lık küçültülmüş bir sürümüdür.

CNN'imi bu konuda eğittikten sonra, her seferinde 'Diyabetik Retinopati Yok' (DR Yok) tahmininde bulunarak% 73 doğruluk sağlıyor. Bunun nedeni sadece çok miktarda DR olmayan görüntü veya başka bir şey mi? Hiç bir fikrim yok! Tahmin için sahip olduğum 5 sınıf var ["Mild", "Moderate", "No DR", "Proliferative DR", "Severe"].

Muhtemelen kötü bir koddur, yardım edebileceğinizi umuyordum

Yanıtlar

1 Ivan Jan 18 2021 at 00:21

Yorum yapmak üzereydim:

Veri kümesi dengenizi ölçmeye başlamak daha titiz bir yaklaşım olacaktır: her sınıftan kaç tane görüntünüz var? Bu muhtemelen sorunuza bir cevap verecektir.

Ama verdiğin bağlantıya bakmadan edemedim. Kaggle size zaten veri kümesine genel bir bakış sunuyor:

Hızlı hesaplama: 25,812 / 35,126 * 100 = 73%. Bu ilginç, doğruluğun olduğunu söyledin 74%. Modeliniz dengesiz bir veri kümesi üzerinde öğreniyor, birinci sınıfın aşırı temsil 25k/35kedilmesi çok büyük. Benim hipotezim, modelinizin birinci sınıfı tahmin etmeye devam etmesidir, bu da ortalama olarak bir doğruluk elde edeceğiniz anlamına gelir 74%.

Yapmanız gereken , veri kümenizi dengelemektir. Örneğin, yalnızca 35,126 - 25,810 = 9,316birinci sınıftan örneklerin bir çağ boyunca görünmesine izin vererek . Daha da iyisi, veri kümenizi tüm sınıflar arasında dengeleyin, böylece her sınıf her dönem için yalnızca n kez görünecektir .

2 Shai Jan 18 2021 at 04:30

Ivan'ın da belirttiği gibi, bir sınıf dengesizliği sorununuz var. Bu şu şekilde çözülebilir:

  1. Çevrimiçi zor negatif madencilik: Kaybı hesapladıktan sonraki her yinelemede, "DR yok" sınıfına ait olan partideki tüm öğeleri sıralayabilir ve yalnızca en kötüsünü tutabilirsiniz k. Sonra sadece bu kötü k eğilmeyi tahmin ve atın geri kalan her şey.
    bakınız, örneğin:
    Abhinav Shrivastava, Abhinav Gupta ve Ross Girshick , Çevrimiçi Zor Örnek Madencilik ile Bölge tabanlı Nesne Dedektörlerini Eğitim (CVPR 2016)

  2. Odak kaybı: "vanilya" çapraz entropi kaybı için bir değişiklik, sınıf dengesizliğinin üstesinden gelmek için kullanılabilir.


Bunu ve bunu ilgili gönderiler .