실행 결과
Epoch 1/200 15/15 [==============================] - 0s 3ms/step - loss: 0.7158 - accuracy: 0.4828 ... (중략) ... Epoch 200/200 15/15 [==============================] - 0s 2ms/step - loss: 0.0590 - accuracy: 0.9931 ----- ➊ 2/2 [==============================] - 0s 2ms/step - loss: 0.4214 - accuracy: 0.8413 Test accuracy: 0.841269850730896 ----- ➋
두 가지를 눈여겨보아야 합니다. 첫째는 학습셋(X_train과 y_train)을 이용해 200번의 학습을 진행했을 때 정확도가 99.31%라는 것입니다(➊). 하지만 따로 저장해 둔 테스트셋(X_test와 y_test)에 이 모델을 적용하면 84.12%의 정확도를 보여 줍니다(➋).
딥러닝, 머신 러닝의 목표는 학습셋에서만 잘 작동하는 모델을 만드는 것이 아닙니다. 새로운 데이터에 대해 높은 정확도를 안정되게 보여 주는 모델을 만드는 것이 목표입니다. 그러면 어떻게 하면 이러한 모델을 만들 수 있을까요? 모델 성능의 향상을 위한 방법에는 크게 데이터를 보강하는 방법과 알고리즘을 최적화하는 방법이 있습니다.