keras
callback 함수
callback 함수란? 함수모델을 더 이상 학습을 못할 경우(loss, metric등의 개선이 없을 경우)나 오버피팅을 방지하기 위해 지정된 값에 도달하면 학습 도중 미리 학습을 종료시키는 함수. class myCallback(tf.keras.callbacks.Callback): def on_epoch_end(self, epoch, logs = {}): if(logs.get('accuracy')>0.90): print('\n정확도가 90% 이상이면 학습을 멈춥니다.') self.model.stop_training = True my_cb = myCallback() mycallback을 함수로 지정하여 사용. model.fit(train_generator, steps_per_epoch=8, epochs =..
Learning Curve // 학습곡선
Learning Curve 학습 곡선은 특정 기술 또는 지식을 실제 필요한 업무와 같은 환경에서 효율적으로 사용하기 위해 드는 학습 비용을 의미하기도 하며 특정 기술을 습득할 때에 처음에는 학습 효과가 더디다가 어느 정도 이해를 하고 나면 빠르게 습득하고 후에는 다시 더뎌지는 곡선을 나타내기도 한다 - 위키백과 학습 곡선은 보통 Train set과 Validation(test) set에 대해서 각각 loss와 metric을 훈련 중간중간 마다 체크한 곡선을 말한다. 학습곡선을 사용하면 loss와 metrics의 수치를 숫자와 시각적으로 확인할 수 있으며, 모델이 underfit되는지 overfit되는지 바로 알 수 있다. 학습 곡선 사용 방법 Train set과 Validation set의 loss가 같..
딥러닝 Keras에서 loss함수의 종류와 선택 방법 및 코드
loss 함수란? 손실 함수는 값을 예측하려할 때 데이터에대한 예측값과 실제의 값을 비교하는 함수로 모델을 훈련시킬 때 오류를 최소화 시키기 위해 사용되며, 주로 회귀(regression)에서 사용한다. 모델의 성능을 올리기 위해 loss함수를 임의적으로 변형할 수 있다. 예시 model.compile(loss='mean_squared_error', optimizer='sgd') 손실함수의 종류 Mean_Squared_error 예측한 값과 실제 값 사이의 평균 제곱 오차를 정의한다. 공식이 매우 간단하며, 차가 커질수록 제곱 연산으로 인해서 값이 더욱 뚜렷해진다. 그리고 제곱으로 인해서 오차가 양수이든 음수이든 누적 값을 증가시킨다. RMSE(Root Mean Squared Error) MSE에 루트(..