본문 바로가기
Bigdata

기계학습(ML) - epoch, batch size, iteration 기본 의미

by 올엠 2024. 8. 11.
반응형

기계학습을 진행하면, 코드로 사용하다보면,  epoch, batch, iteration 이라는 파라미터를 볼 수 있느데,  학습을 시작할때 자주 사용되는 용어인 epoch, batch, iteration 에 대해 알아보고자 한다.

기계 학습은 데이터를 학습해서 결과를 만들어 내는 과정이라고 할 수 있다.

이때 학습할 데이터의 양과 학습 횟수등에 따라서 결과가 달라지게 되는데, 예를 들어보면 다음과 같다.

철수 - 172

양희 - 140

성희 - 330

국희 - 10

하나 - 400

 

위와 같은 데이터를 가지고 선형 회계 예측 알고리즘을 이용한다고 생각해보다.

만약 국희 라는 데이터가 어떻게 들어가느냐에 따라서 데이터 결과가 달라지기 때문에, 여러번 학습을 해서 데이터의 외곡을 줄이는 게 중요할 수 있지만, 반대로 데이터의 평균화를 통한 정확도가 떨어지는 상황돌 발생할 수 있을 것이다.

따라서 데이터의 학습 빈도, 학습량이 중요한 부분에 속하며 이 과정이 optimization인데 이때 이해가 필요한 부분이 바로 epoch, batch, iteration 이다.

Epoch : 전체 데이터의 학습 횟수
 
데이터 세트가 신경망을 통해 정확히 한 번 앞뒤로 전달될 때를 의미한다.
Epochs
One Epoch is when an ENTIRE dataset is passed forward and backward through the neural network only ONCE.
-출처 Epoch vs Batch Size vs Iterations | by SAGAR SHARMA | Towards Data Science
Batch Size: 학습할 때 전체 데이터를 분할한 크기
 
배치 크기는 단일 분 배치에 존재하는 총 학습 샘플 수를 의미한다. 보통은 너무 작게 나누게 되면, 학습에 부족함이 생길 수 있기 있지만, 만다고 무조건 좋은 것도 아니다(분류 혹은 데이터 노이즈등). 사용하는 알고리즘에 따라서 효율적으로 분할하는 것이 필요하다. 이외에도 물리적인 메모리등 성능 문제로 학습 크기를 나눠야 한다는 점도 알아두기 바란다.
Batch Size
Total number of training examples present in a single batch.
-출처 Epoch vs Batch Size vs Iterations | by SAGAR SHARMA | Towards Data Science
Iteration: batch로 나눈 데이터의 학습 횟수
 
즉 한번의 전체 데이터를 위해 진행하는 횟수를 의미한다.
iteration
Iterations is the number of batches needed to complete one epoch.
-출처 Epoch vs Batch Size vs Iterations | by SAGAR SHARMA | Towards Data Science
만약 5000개의 전체 데이터(Data Set)를 적절한 학습은 500개로 나눈다(batch size).
 
1 Iteration: 500개의 데이터에 대해 학습하게 된다.
 
1 Epoch = 5000/batch size(500)로 10 iteration이 된다.
 
참고
 

 

 



반응형