728x90
https://hyunsungstory.tistory.com/161
위 게시글과 같은 데이터셋으로 진행합니다.
epochs 의 횟수를 조정해 보려한다.
우선 모델링을 해줍니다.
def build_model():
model = Sequential()
model.add( Flatten() )
model.add( Dense(128, 'relu') )
model.add( Dense(64, 'relu') )
model.add( Dense(10, 'softmax'))
model.compile('adam', 'sparse_categorical_crossentropy', ['accuracy'])
return model
model = build_model()
epoch_history = model.fit(X_train,y_train,epochs=30,validation_split=0.2) # epohcs는 30 벨리데이션 스플릿은 0.2로 학습을 진행
정확도가 점점 올라가는 것을 확인하여, 진행이 잘 되고 있다고 생각을 할 수도 있지만, 차트로 시각화 과정을 하면
plt.plot(epoch_history.history['loss'])
plt.plot(epoch_history.history['val_loss'])
plt.legend(['Train Loss','Validation Loss'])
plt.show()
plt.plot(epoch_history.history['accuracy'])
plt.plot(epoch_history.history['val_accuracy'])
plt.legend(['Train accuracy','Validation accuracy'])
plt.show()
결과를 보면 Training 데이터는 loss는 0에 가까워지고 정확도는 1에 가까워지지만
실제 우리가 중요하게 봐야할 것은 Validation loss와 정확도이다
오히려 초반이 트레이닝과 근접하여 좋은 인공지능임을 알 수 있고 진행을 할 수록 Over Fitting이 되는 것을 볼 수 있다.
그래서 이 다음 글에서는 Callback class를 이용해서 원하는 조건이 되면 학습을 멈추게 하는 과정을 보여줄 것이다.
'인공지능 > 딥러닝' 카테고리의 다른 글
딥러닝 : Flatten()라이브러리 없이 이미지를 평탄화 하는 방법과 Validation_data= 파라미터 사용법 (0) | 2022.12.29 |
---|---|
딥러닝 : Tensorflow의 콜백클래스를 이용해서 원하는 조건이 되면 학습을 멈추게 하기 (0) | 2022.12.29 |
딥러닝 : softmax로 나온 결과를 레이블 인코딩으로 바꾸는 방법 (0) | 2022.12.29 |
딥러닝 : Fashion mnist 10개로 분류된 패션 이미지를 tensorflow를 이용해 분류하기 / Flatten , softmax , 분류의 문제 loss 셋팅법 (0) | 2022.12.28 |
딥러닝 : validation data와 Callback(EarlyStopping Library) 사용법 (0) | 2022.12.28 |