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.
validation_split
: Zmienna między 0 a 1. Część danych treningowych, która zostanie wykorzystana jako dane walidacyjne. Model wyodrębni tę część danych treningowych, nie będzie na nich trenował i oceni stratę oraz wszelkie metryki modelu na tych danych na końcu każdej epoki. Dane sprawdzania poprawności są wybierane z ostatnich próbek w dostarczonych danych x i
y , przed tasowaniem.
validation_data
: krotka (x_val, y_val) lub krotka (x_val, y_val, val_sample_weights), na podstawie których ocenia się stratę i dowolne metryki modelu na końcu każdej epoki. Model nie będzie szkolony na tych danych. Zastąpi to validation_split.
Jak widzisz
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)
fit
zastosowana metoda Keras
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ą na 1
; ponadto, jak jasno dokumentuje, możesz użyć jednego validation_data
lub validation_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.
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).