Jaka jest różnica pomiędzy treningiem w Keras val_loss
i loss
podczas niego?
Na przykład
Epoch 1/20
1000/1000 [==============================] - 1s - loss: 0.1760, val_loss: 0.2032
Na niektórych stronach czytałem, że po sprawdzeniu poprawności nie działało.
machine-learning
deep-learning
keras
Vladimircape
źródło
źródło
dropout
Nie jestNone
), rezygnacja jest stosowana tylko podczas treningu (tj. Brak rezygnacji podczas walidacji). W związku z tym jedną z różnic między utratą sprawdzania poprawności (val_loss
) a utratą treningu (loss
) jest to, że podczas korzystania z rezygnacji utrata walidacji może być mniejsza niż utrata szkolenia (zwykle nie jest to oczekiwane w przypadkach, gdy rezygnacja nie jest stosowana).Odpowiedzi:
val_loss
jest wartością funkcji kosztu dla danych weryfikacji krzyżowej, a utrata jest wartością funkcji kosztu danych szkolenia. Na podstawie danych walidacyjnych neurony wykorzystujące wypadanie nie upuszczają przypadkowych neuronów. Powodem jest to, że podczas treningu używamy drop-upu, aby dodać trochę hałasu, aby uniknąć nadmiernego dopasowania. Podczas obliczania weryfikacji krzyżowej znajdujemy się w fazie wycofania, a nie w fazie szkolenia. Korzystamy ze wszystkich możliwości sieci.Dzięki jednemu z naszych drogich przyjaciół cytuję i wyjaśniam stąd przydatne treści.
Jak widzisz
fit
zastosowana metodaKeras
ma parametr o nazwie validation_split, który określa procent danych używanych do oceny modelu, który jest tworzony po każdej epoce. Po dokonaniu oceny modelu przy użyciu tej ilości danych, zostanie to zgłoszone przez,val_loss
jeśli ustawiłeś opcję szczegółową na1
; ponadto, jak jasno dokumentuje, możesz użyć jednegovalidation_data
lubvalidation_split
. Dane do weryfikacji krzyżowej są używane do badania, czy model nie pasuje do danych, czy nie. Właśnie to możemy zrozumieć, czy nasz model ma możliwość generalizacji, czy nie.źródło