epoch, batch size, iteration 용어 풀이
ml5의 nuralnetwork을 확인하다 보면,
Train 할때 batch size와 epoch 옵션을 제공 해주고 있습니다.
이때 단어에 대한 의미가 무엇인지 확인 해보겠습니다.
학습시 데이터가 많고 (메모리가 부족등 이유로) 한번에 계산으로는 최적화 된 값을 찾기가 어렵습니다.
머신러닝 최적화(optimization) 할때는 여러번 과정 즉 훈련(Train)과정이 필요 합니다.
epoch : one epoch is when an ENTIRE dataset is passed forward and backward through the neural network only Once
풀이 하자면, backpropagation algorithm은 input 부터 output 까지 각 Layer를 계산하는데, Forward pass와 Backward pass 두가지로 나뉩니다. forward는 입력을 시작으로 출력까지 나오는 방향을 말하고, backward는 회귀(강화학습)등을 이유로 다시 역으로 되돌아가는 방향을 말합니다.
이러한 전체 데이터 셋에 대해 해당 두 과정을 완료 되면 한번의 epoch가 진행 되었다 라고 정의를 합니다.
적절한 epoch값이 설정 되어야 underfitting과 overfitting을 방지하게 됩니다.
underfit과 overfilt에 대한 정의를 해보자면
V > epoch : 학습데이터가 부족하거나, 표준 집합이 부족하거나, 부적절한 모형 = underfit
V < epoch : 과 학습 되거나, 편중 데이터 이거나, 무분별한 Feature =overfit
http://blog.skby.net/%EC%98%A4%EB%B2%84%ED%95%8F%EA%B3%BC-%EC%96%B8%EB%8D%94%ED%95%8F-overfitting-underfitting/
오버핏과 언더핏 (Overfitting & Underfitting) > 도리의 디지털라이프
I. 과한 학습과 부족 학습, 오버핏과 언더핏의 문제점 구분 문제점 현상 Overfit (과분산) – 과학습, 오류 분산 – High Variance, 과분산 – 비슷한 입력에 부정확 반응 결과 – 학습 대상만 정상반응 U
blog.skby.net
결론은 적절한 훈련세트로 학습을 시켜야 된다 입니다.
batch size: Total number of training examples present ina single batch
1batch은 데이터 샘플의 크기이다
iteration : the number of passes to complete on epoch
epoch를 나누어서 실행하는 횟수
1epoch에 모든 데이터를 한꺼번에 집어 넣기 어려우므로, 메모리 한계와 속도 저하 문제등, 몇번으로 나누어서(iteration) , 특정 사이즈로(batch size)로 학습을 합니다.
참고자료 - 문제가 되었을시에 삭제 하도록 하겠습니다.
https://blog.naver.com/qbxlvnf11/221449297033
머신 러닝 - epoch, batch size, iteration의 의미
- 출처이번 포스팅의 주제는 텐서플로우나 케라스 등을 사용해서 모델을 만들어 보았으면 다들 아실 용어인...
blog.naver.com