I. epochs
- 한번의 epoch는 인공신경망을 전체 데이터셋에 데해 forward pass/backward pass 과정을 거친 상태, 즉, 전체 데이터 셋에 대해 한 번 학습을 완료한 상태를 말한다.
- backpropagation : 입력부터 출력까지 각 계층의 weight를 계산하는 과정을 거치는 forward pass를 반대로 거슬러 가면서 다시 한 번 계산 과정을 거처 기존의 weight를 수정하는 backward pass로 나뉜다. 전체 데이터 셋에 (forward + backward pass)과정이 완료 되면 한번의 epoch가 진행 되었다고 볼 수 있다.
- epoch =40 이면 전체 데이터 학습을 40번 거친 것으로 보면 된다.
- 적절한 epoch값을 설정해야 underfitting 과 overfitting을 방지할 수 있다.
- epoch값이 너무 작으면 underfitting을, 너무 크면 overfitting이 발생할 확률이 높다.
II. batch
- batch size는 한번의 batch마다 주는 데이터 샘플의 size 여기서 batch(보통 mini-batch)는 나눠진 데이터셋을 뜻한다.
III. iteration
- iteration은 epoch를 나누어서 실행하는 횟수라고 생각하면 된다.
- 메모리의 한계와 속도 저하 떄문에 대부분 한 번의 epoch에서 모든 데이ㅓ를 한꺼번에 넣을 수 없다. 그래서 데이터를 나누어서 주게 되느데 이때 몇 번 나누어서 주는가를 iteration, 각 iteration마다 주는 데이터 사이즈를 batch size라고 한다.
전체 2000개 데이터가 있고, epochs =20, batch_size 500이면, 1 epoch는 각 데이터의 size가 500인 batch가 들어간 4번의 iteration으로 나누어니다. 그리고 전체 데이터셋에 대해서는 20번의 학습이 이루어졌으며, iteration 기준으로 보자면 총 80번의 학습이 이루어 진 것이다라고 보면 된다.
'인공지능(AI)' 카테고리의 다른 글
classifier model- 앙상블 (0) | 2020.11.03 |
---|---|
Supervised - Softmax Regression (0) | 2020.10.21 |
Supervised - Random Forest (0) | 2020.10.20 |
Supervised - Descision Tree (0) | 2020.10.19 |
Supervised - Logistic Regression and Validation (0) | 2020.10.19 |