Eğitim sırasında val_loss ve kayıp arasındaki Keras farkı


18

Keras'ta antrenman arasında val_lossve lossantrenman sırasındaki fark nedir ?

Örneğin

Epoch 1/20
1000/1000 [==============================] - 1s - loss: 0.1760, val_loss: 0.2032  

Bazı sitelerde doğrulama üzerinde okudum, okulu bırakma işe yaramadı.


Ne yarıda bırakılması hakkında okumak Bırakma (yani kullanıldığında, yani muhtemelen dropoutdeğil None), Bırakma sadece (yani hiçbir bırakma doğrulama sırasında uygulanan) eğitimi sırasında uygulanır. Bu nedenle, validasyon kaybı ( val_loss) ve eğitim kaybı ( loss) arasındaki farklardan biri, bırakma kullanıldığında, validasyon kaybının eğitim kaybından daha düşük olabileceğidir (genellikle okulu bırakmadığı durumlarda beklenmez).
Psi

Yanıtlar:


16

val_lossçapraz doğrulama verileriniz için maliyet fonksiyonunun değeri, kayıp ise eğitim verileriniz için maliyet fonksiyonunun değeridir. Doğrulama verilerinde, bırakma kullanan nöronlar rastgele nöronları düşürmez. Bunun nedeni, eğitim sırasında aşırı oturmayı önlemek için biraz gürültü eklemek için bırakmayı kullanmamızdır. Çapraz doğrulamanın hesaplanması sırasında, eğitim aşamasında değil, geri çağırma aşamasındayız. Ağın tüm özelliklerini kullanıyoruz.

Sevgili dostlarımızdan biri sayesinde, buradan yararlı olan içeriği alıntılayıp açıklarım.

validation_split: 0 ile 1 arasında yüzer. Doğrulama verisi olarak kullanılacak egzersiz verilerinin oranı. Model, eğitim verilerinin bu kısmını ayıracak, üzerinde eğitim vermeyecek ve her dönemin sonunda bu verilerdeki kayıp ve model metriklerini değerlendirecektir. Doğrulama verileri, karıştırmadan önce sağlanan x ve y verilerindeki son örneklerden seçilir .

validation_data: her bir dönemin sonunda kaybı ve herhangi bir model metriği değerlendirmek için tuple (x_val, y_val) veya tuple (x_val, y_val, val_sample_weights). Model bu veriler üzerinde eğitilmeyecektir. Bu validation_split değerini geçersiz kılar.

Gördüğün gibi

fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1, callbacks=None, validation_split=0.0, validation_data=None, shuffle=True, class_weight=None, sample_weight=None, initial_epoch=0, steps_per_epoch=None, validation_steps=None)

fitkullanılan yöntem Keras, her çağdan sonra oluşturulan modeli değerlendirmek için kullanılan verilerin yüzdesini belirten validation_split adlı bir parametreye sahiptir. Modeli bu miktarda veri kullanarak değerlendirdikten sonra, val_lossayrıntılı olarak ayarladıysanız rapor edilecektir 1; ayrıca, belgelerin açıkça belirttiği gibi, validation_dataveya öğelerinden birini kullanabilirsiniz validation_split. Çapraz doğrulama verileri, modelinizin verilere fazla uyup uymadığını araştırmak için kullanılır. Modelimizin genelleme yeteneğine sahip olup olmadığını anlayabileceğimiz budur.

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.