더북(TheBook)

테스트 데이터 크기 늘리기

앞서 만든 자바 프로그램 MLPData.java의 for 루프에서 반복 횟수를 100에서 100,000으로 바꿔보자. 그리고 다시 Preprocess 창으로 돌아가 새로운 CSV 파일을 로드한다. 시간이 좀 걸릴 것이다.

이제 Classify 창으로 돌아가 신경망을 다시 실행해보자. GUI 창이 열리면 히든 레이어 관점에서 이전과 같은 네트워크가 보인다. 데이터 100개를 실행했을 때 epoch이 500이었다면 훈련 데이터 100,000개를 실행해도 epoch은 같다.

Start 버튼을 클릭하면 훈련이 시작된다. 100,000개의 행을 훈련할 때 GUI의 응답 시간 차이를 알게 될 것이다. 주의 깊게 살펴볼 것이 errors per epoch이다. 이 수치는 100~200epoch당 시간 차이가 나는 지점까지 계속 줄어들 것이다. 훈련이 끝나면 매우 정확한 훈련 모델을 얻을 수 있다.

모든 것이 메모리 가격에 달려 있다. 나의 훈련 데이터 세트는 2분 이상 걸렸다.


Time taken to build model: 124.52 seconds

 

2분은 대단한 시간이 아니다. 이전에 신경망 데이터 수집에 대해 언급한 바와 같이 더 많은 변수를 추가하는 것은 ‘차원의 저주’를 불러올 수 있다.

더 많은 훈련 데이터를 사용할수록 예측 결과는 좋아진다. errors per epoch을 고려하여 훈련 데이터가 지나치게 많아지지 않는 시점을 알아내는 것이 중요하다. 이것은 좀 시간이 걸린다(모든 사람의 데이터가 각각 다르기 때문에 절대적인 규칙은 없다). 실험, 측정의 문제이므로 계속 시도해보라.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.