Deep Learning

validation 데이터란 무엇이고, 코드에서 사용하는 방법

yugyeong 2022. 12. 28. 15:55

validation 이란 :

에포크가 한번 끝날 때마다, 학습에 사용하지 않은 데이터로 시험을 보는 것을 말한다.

  - 학습 중에 에포크가 끝날 때마다 평가하는 것을 의미

 

 

 

테스트란 :

인공지능의 학습이 완전히 다 끝난 상태에서 평가하는 것을 테스트라고 한다.

 

 

 

validation 을 이용하기 위해 먼저 인공지능 모델링을 한다.

함수를 이용하여서 딥러닝 모델을 만들었다.

def build_model() :
  model= Sequential()
  model.add(Dense(64, 'relu', input_shape= (9, ) ) )
  model.add(Dense(64, 'relu'))
  model.add(Dense(1, 'linear'))

  model.compile(optimizer= Adam(learning_rate= 0.001), loss= 'mse', metrics= ['mse', 'mae'])

  return model

 

 

함수를 호출하여서 model 변수에 저장을 한 후,

validation_split 을 0.2 로 두어서, 데이터의 20퍼센트를 학습데이터 비율을 지정해준 코드이다.

model = build_model()

epoch_history = model.fit(X_train, y_train, epochs= 200, validation_split= 0.2)

 

 

 

validation_split

  • 0과 1사이 부동소수점으로 표시, 검증 데이터로 사용 할 학습 데이터의 비율
  • 비율만큼의 학습 데이터를 따로 나누어 모델이 학습하지 않도록 함
  • 각 에포크마다 이 데이터에 대한 손실과 모델 측정항목을 평가