반응형
Validation (검증)
- 학습 과정에서 검증에 관여, 즉 에포크가 끝날 때마다 검증
- 학습되지 않은 데이터에 검증을 통한 오차/손실률을 표현
- 학습 과정에서 관여되므로 모델을 학습 시킬 때 사용
validation_split
- 학습시 test 데이터셋에서 지정한 수치만큼 검증용 데이터 분리
- 검증에 사용된 데이터는 학습하지 않음
- 예시 : train 75%, test 25%, validation_split = 0.2
test 25%에서 test80%, validation 20%
- 예시 : train 75%, test 25%, validation_split = 0.2
- 소스 코드
- model.fit(validation_split= N ) : N * 100 퍼센트만큼 데이터를 검증에 사용
- model은 임의의 인공지능 모델을 지칭하는 변수 이름
- model.fit(validation_split= N ) : N * 100 퍼센트만큼 데이터를 검증에 사용
# validation_split : 0.2 -> 학습 데이터의 20%를 검증
epoch_history = model.fit(X_train, y_train, epochs=1000, validation_split=0.2)
validation_data
- 학습과 관련된 데이터셋 검증 진행, 학습과는 직접적인 관여는 없음
- 인공신경망 학습시 손실률과 정확도를 확인하기 위해 사용
- 학습량이 많아지면 정확도는 올라가지만 과적합 상태인지 확인이 되지 않음, 즉 검증의 용도로 사용
# validation_data : 튜플로 구성된 X_test, y_test의 데이터 검증
epoch_history = model.fit(X_train, y_train, epochs = 10, validation_data = (X_test, y_test))
Evaluation (평가)
- 학습 과정 끝날때 최종 검증, 즉 성능 평가
- 최종 검증을 통한 오차/손실률을 표현
사용 방법
- 모델이 학습을 완료 한 후 사용 (이미 학습이 되어 있는 상태)
- 소스 코드
- model.evaluate(예측값, 실제값)
- model은 임의의 인공지능 모델을 지칭하는 변수 이름
model.evaluate(X_test, y_test)
반응형