오답노트
[Keras] EarlyStopping 본문
EarlyStopping
EarlyStopping은 모델이 학습하는 중에 모델이 더 이상 성능이 좋아지지 않는다고 판단될 때 학습을 멈추게 한다.
from tensorflow.keras.callbacks import EarlyStopping
es = EarlyStopping(monitor = 'val_loss',
min_delta=0,
patience=5,
verbose=1,
restore_best_weights=True)
model.fit(train_x,train_y,
verbose=1,epochs=10,
callbacks=[es], # << EarlyStopping
validation_split=0.2)
- monitor : 모델의 학습을 멈출 성능 기준을 설정한다.
- min_delta : 모델의 성능이 증가되는 기준을 설정한다. 예를 들어 min_delta 값이 0.01로 설정되어 있는데, 모델 성능이 이전 학습보다 0.01이상 오르지 않으면 성능이 증가되지 않은것으로 취급한다.
- patience : 모델의 성능이 증가되지 않는 상황이 patience에서 설정한 수 만큼 발생했을 때 모델 학습을 중지한다.
- restore_best_weights : 기본 값은 False로 Ture일 때에는 최적의 가중치를 계속 갱신한다.
EarlyStopping 객체를 생성 후 fit 함수에 callbacks 옵션에 리스트로 입력한다.
validation_split 옵션은 학습하는 동안 train과 validation 데이터의 비율을 설정한다.
'Python > DL' 카테고리의 다른 글
[Keras] 모델 성능에 유용한 Layer (0) | 2022.09.19 |
---|---|
[Keras] 연산 Layer (0) | 2022.09.18 |
[Keras] Flatton Layer (0) | 2022.09.15 |
[Keras] ANN (0) | 2022.09.14 |
[Keras] MultiClass - SoftMax (0) | 2022.09.13 |