Modelin aşırı takmaya başladığını nasıl bilebilirim?


12

Umarım aşağıdaki alıntılar sorumun ne olacağına dair bir fikir verecektir. Bunlar http://neuralnetworksanddeeplearning.com/chap3.html adresinden

Daha sonra öğrenme yavaş yavaş yavaşlar. Son olarak, 280 dönemi civarında, sınıflandırma doğruluğu gelişmeyi hemen hemen durdurur. Daha sonraki dönemler sadece çağ 280'deki doğruluk değerine yakın küçük stokastik dalgalanmalar görürler. Bunu, eğitim verileriyle ilişkili maliyetin sorunsuz bir şekilde düşmeye devam ettiği önceki grafikle karşılaştırın. Sadece bu maliyete bakarsak, modelimizin hala "daha iyi" olduğu anlaşılıyor. Ancak test doğruluğu sonuçları iyileşmenin bir yanılsama olduğunu göstermektedir. Tıpkı Fermi'nin sevmediği model gibi, ağ 280'den sonra ağımızın öğrendikleri artık test verilerine genelleşmiyor. Ve bu yüzden yararlı bir öğrenme değil. Ağın, 280 dönemi ötesinde fazla uyduğunu veya aştığını söylüyoruz.

Bir sinir ağını eğitiyoruz ve maliyet (eğitim verilerinde) çağa 400 kadar düşüyor, ancak dönem 280'den sonra sınıflandırma doğruluğu statik hale geliyor (birkaç stokastik dalgalanmayı engelliyor), bu nedenle modelin 280 dönemi sonrası eğitim verilerine fazla uyduğu sonucuna varıyoruz.

Test verilerinin maliyetinin 15'e kadar iyileştiğini görebiliriz, ancak bundan sonra eğitim verilerindeki maliyet iyileşmeye devam etse bile, aslında daha da kötüleşmeye başlar. Bu, modelimizin aşırı uyduğunun başka bir işaretidir. Yine de bir bulmaca ortaya koyuyor, bu da 15'inci çağını mı yoksa 280 çağını da aşırı uymanın öğrenmeye egemen olduğu nokta olarak mı görmeliyiz? Pratik bir bakış açısından, gerçekten önemsediğimiz şey test verileri üzerinde sınıflandırma doğruluğunu iyileştirmektir; test verileri üzerindeki maliyet ise sınıflandırma doğruluğu için bir proxy'den fazla değildir. Bu nedenle, çağ 280'i aşırı uymanın sinirsel ağımızdaki öğrenmeye egemen olduğu nokta olarak kabul etmek en mantıklıdır.

Test verilerindeki sınıflandırma doğruluğunun aksine, daha önce eğitim maliyetine kıyasla, şimdi eğitim verilerine karşı test verilerine maliyet uyguluyoruz.

Daha sonra kitap, 280'in neden aşırı uydurmanın başladığı doğru dönem olduğunu açıklamaya devam ediyor. Bir sorunum var. Başımı bunun etrafına satamıyorum.

Modelden maliyeti en aza indirmesini istiyoruz ve dolayısıyla maliyet, doğru sınıflandırmak için kendi gücünün bir ölçüsü olarak kullandığı metriktir. 280'i aşırı uyumun başladığı doğru dönem olarak düşünürsek, bir şekilde, belirli test verileri üzerinde daha iyi bir sınıflandırıcı olmasına rağmen, ancak düşük güvenle kararlar veren ve dolayısıyla sapmaya daha eğilimli olan önyargılı bir model yaratmadık mı? test verilerinde gösterilen sonuçlardan?


Model test setinin farkında değil . Görünmeyen veriler için bir vekil olarak duruyor. Bu nedenle, temsili bir dağıtımdan geliyorsa, aşırı sığmanın ne zaman meydana geldiğini belirlemek için kullanabilirsiniz. İsterseniz, başka bir tutma seti oluşturabilir ve bu varsayımın geçerli olup olmadığını görebilirsiniz.
Emre

'Az güvenle karar vermek' ile ne demek istiyorsun?
Çekirge

@Grasshopper, modelin {A, B, C, D} sınıflarından birini tahmin etmeye çalıştığını söyleyelim. Test veri etiketleri (sırayla) (A, B, C, D) 'dir. Şimdi bir örnekte olasılıklar (tahminleri birlikte etiketleyeceğim) ((0.28, 0.24, 0.24, 0.24) (A), (0.24,0.28,0.24,0.24) (B), (0.24,0.24, 0.28,0.24) (C), (0.24,0.24,0.24,0.28) (D)) ve başka bir model atar ((1,0,0,0) (A), (0,1,0,0) (B), (0.24,0.26,0.25,0.25) (B), (0,0,0,1) (D)). Düşük güven ile kastettiğim ilk örnek. Lütfen sınıflandırma doğruluğunun ilk etapta% 100 olduğunu ve bununla birlikte maliyetin daha yüksek olduğunu unutmayın
Nitin Siwach 24:17

@Grasshopper Özetle. Modelin ilk örneği 280 çağından sonra oluşturulur (sorulan soruya bakın) ve modelin ikinci örneği 15 çağından sonra oluşturulur. Şimdi kitap, aşırı uydurmanın başladığı dönem 280'i önermektedir. Bunu yutmakta zorlanıyorum. sağlayabileceğiniz herhangi bir yardım veya düşünce çok takdir edilmektedir.
Nitin Siwach

Yanıtlar:


6

Diyelim ki bir öğrencinin özgeçmişine göre bir iş görüşmesine inip gelmeyeceğini tahmin etmek istiyoruz.

Şimdi, 10.000 özgeçmiş veri kümesinden ve bunların sonuçlarından bir model geliştirdiğimizi varsayalım.

Ardından, modeli orijinal veri kümesinde deniyoruz ve sonuçları% 99 doğrulukla tahmin ediyor… vay!

Ama şimdi kötü haberler geliyor.

Modeli yeni (“görünmeyen”) özgeçmişler veri kümesinde çalıştırdığımızda, yalnızca% 50 doğruluk elde ederiz… uh-oh!

Modelimiz, eğitim verilerimizden görünmeyen verilere kadar genelleme yapmıyor.

Bu, aşırı takma olarak bilinir ve makine öğrenimi ve veri biliminde yaygın bir sorundur.

Aşırı Donatma V / s Donatım

Karşılıklı probleme bakarak, yetersiz takarak aşırı takmayı daha iyi anlayabiliriz.

Yetersiz yerleştirme, bir model çok basit olduğunda - çok az özellik tarafından bilgilendirildiğinde veya çok fazla düzenli hale getirildiğinde - veri kümesinden öğrenmede esnek olmamasını sağlar.

Basit öğrenciler tahminlerinde daha az sapma, ancak yanlış sonuçlara karşı daha fazla önyargıya sahip olma eğilimindedir (bkz: Önyargı-Sapma Tradeoff).

Öte yandan, karmaşık öğrenciler tahminlerinde daha fazla varyans eğilimi gösterirler.

Hem sapma hem de sapma, makine öğreniminde tahmin hatasının biçimidir.

Tipik olarak, yanlılıktan kaynaklanan hatayı azaltabiliriz, ancak sonuç olarak varyanstan kaynaklanan hatayı artırabiliriz veya bunun tersi de geçerlidir.

Çok basit (yüksek yanlılık) ve çok karmaşık (yüksek sapma) arasındaki bu denge, istatistik ve makine öğreniminde ve denetlenen tüm öğrenme algoritmalarını etkileyen bir kavramdır.


2

Zor yoldan öğrendiğim bir şey, öğrenme eğrilerini çizmektir, biliyorum, makine öğrenme kodunu kendileri yazmak kadar eğlenceli değil, ama neler olduğunu görsel olarak anlamak esastır.

Temel bir tanım kuralı, doğrulama doğruluğunuz gelişmeyi durdururken (hatta daha da kötüleşmeye başlarken) tren doğruluğunuz gelişmeye devam ettiğinde aşırı uyumun gerçekleşmesidir.

Aşırı montajdan kaçınmanın en basit çözümü erken durmaktır (işler kötü göründüğünde eğitimi durdurun), elbette en basit çözümün bir maliyeti vardır: en iyi çözüm değildir. Düzenleme ve bırakma, fittingle savaşmak için iyi araçlardır, ancak bu farklı bir konudur :)

Umarım yardımcı olur


2

Alıntı yaptığınız kaynak "test verilerindeki maliyet, sınıflandırma doğruluğu için bir proxy'den fazla değildir" diyor. Neden bir proxy kullanmalıyız, neden doğruluğu doğrudan kullanmıyorsunuz? Yanıt, ağırlık ve önyargılara göre maliyet işlevini en aza indirmeniz gerektiğidir. Bu nedenle ağırlıkların ve yanlılıkların ayırt edilebilir bir işlevi olmalıdır. Doğruluk farklılaştırılabilir bir işlev değildir ve bu nedenle doğrudan kullanılamaz. Ancak sonuçta doğruluğu önemsediğiniz için, yukarıda açıkladığınız gibi (... lütfen sınıflandırma doğruluğunun ilk örnekte% 100 olduğunu ve yine de maliyetin daha yüksek olduğunu unutmayın ...), testteki doğruluk temelinde aşırı uymayı belirlersiniz Ayarlamak.


0

Aşırı sığmanın ne anlama geldiğini ve modelin doğruluğunu nasıl etkilediğini anlamak için önyargı - varyans dengesini anlamanız gerekir.

Düşük montaj ve aşırı takma, doğrudan sapmalı varyans problemleriyle ilişkili iki farklı problemdir. Üç farklı faktör arasındaki ilişkiyi ve bu faktörlerin önyargı-varyans (aşırı uydurma-uygun olmayan) problemlerine nasıl bağlandığını anlamak her zaman önemlidir:

1- Modelin büyüklüğü. Parametre sayısı

2- eğitim için mevcut veri miktarı. Eğitim örneklerinin sayısı.

3- iterasyon sayısı. eğitim yinelemeleri.

Bu faktörlerden herhangi biri arasında, diğerlerine bakmadan aşırı uydurma problemleri ile doğrudan bağlantı kurmak her zaman yanlış sonuçlara yol açacaktır.

Bu faktörleri anlamak ve temayı aşırı uydurma ve yetersiz uyumdan kaçınmak için matematiksel denklemler kullanarak bağlamak zor bir iştir, daha çok bir göreve bağımlıdır, insanlar aşırı uydurmayı keşfetmek ve önlemek için basit yöntemler kullanırlar. Kolay yol, verileri eğitim, doğrulama ve test olmak üzere üç farklı bölüme ayırmaktır. Teste dokunulmamalıdır. Her yinelemeden veya birkaç yinelemeden sonra ağı test etmek için ağı eğitmek için eğitim kümesini ve doğrulama kümesini kullanın. Teorik olarak, doğrulama setindeki hatanın ilk N yinelemeleri için kademeli olarak azaldığını ve daha sonra çok az yineleme için kararlı olacağını ve sonra artmaya başladığını göreceksiniz. Hata artmaya başladığında, ağınız egzersiz verilerinin üzerine sığmaya başlar ve eğitim süreci durdurulmalıdır.

Not: N değeri yukarıda listelediğim üç faktörle çok ilgilidir. Bir demo eğitim setine sahip olmak ve farklı modeller, eğitim verileri ile test etmek her zaman iyi bir uygulamadır. Model ne kadar büyük olursa - eğitim verisi ne kadar az olursa, N de küçülür. Model ne kadar küçükse - eğitim verisi ne kadar büyük olursa, N de o kadar büyük olur. Not: eksik montaj problemi olan küçük modelleri kullanırken dikkatli olun.


"Teorik olarak, doğrulama setindeki hatanın ilk N yinelemeleri için kademeli olarak azaldığını ve daha sonra çok az yineleme için kararlı olacağını ve daha sonra artmaya başladığını göreceksiniz." Burada yanlışlıkla ne demek istiyorsun. Soruda ortaya koyduğum konu tam olarak bu. Hatanın ölçüsü olarak maliyet
alırsam

lütfen yukarıdaki yorumda düzeltmeye dikkat edin: Aşırı sığdırmanın başladığı zaman cevap, hatanın ölçüsü olarak maliyet
alırsam

Doğrulama setindeki hata
Beşar Haddad

ve bu hatanın ölçüsü nedir? (100 - Sınıflandırma doğruluğu) veya maliyet. Sınıflandırma doğruluğuna bağlı olarak doğrulama seti araçlarındaki hatayı anlıyorum. Ama tam olarak sorduğum şey bu. Neden maliyet? Lütfen orijinal soru üzerine Çekirge'ye yanıt olarak yaptığım yorumlara bakın
Nitin Siwach
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.