다운로드 시간 평균이 약 0.295초입니다. 항상 이 평균 값으로 예측하는 것이 네트워크의 예측보다 나은 것 같습니다. 모델의 정확도가 상식 수준의 간단한 방법보다 나쁘다는 의미입니다! 더 좋게 만들 수 있을까요? 충분히 많은 에포크 동안 모델을 훈련하지 않았을 가능성이 있습니다. 훈련하는 동안 커널과 편향은 단계별로 업데이트된다는 것을 기억하세요. 이 경우 하나의 에포크가 하나의 단계입니다. 모델이 적은 수의 에포크(단계)로 훈련되면 파라미터 값이 최적에 가깝게 도달하지 못할 수 있습니다. 모델을 몇 번 더 반복해 훈련하고 다시 평가해 보죠.
> model.fit(trainTensors.sizeMB, trainTensors.timeSec, {epochs: 200}); ------ model.evaluate()를 실행하기 전에 model.fit() 메서드가 반환하는 프로미스(promise)를 위해 기다려야 합니다. > model.evaluate(testTensors.sizeMB, testTensors.timeSec).print(); Tensor 0.04879039153456688
훨씬 좋군요! 이전에는 모델이 훈련 데이터에 충분히 훈련되지 않은 과소적합(underfitting)으로 보였습니다. 이제 새로운 예측은 평균적으로 0.05초 차이가 납니다. 단순히 평균으로 예측하는 것보다 네 배나 더 정확합니다. 이 책에서 과소적합은 물론 함정에 빠지기 더 쉬운 과대적합(overfitting) 문제를 피하는 방법을 제공하겠습니다. 과대적합이란 모델이 훈련 데이터에는 너무 잘 맞고 본 적 없는 데이터에는 잘 일반화되지 않는 문제를 말합니다.