728x90
반응형
배치 학습 (Batch learning)
- 한 번에 모든 훈련 데이터를 학습시키는 방법
- 새로운 데이터를 추가해 재학습 시키려면, 시간과 자원을 많이 소모
- 일반적으로 오프라인 환경에서 수행되므로, 오프라인 학습(Offline leanring)이라고 부름
점진적 학습 (Incremental learning)
- 일반적으로 학습이 끝난 모델에 대해, 미니배치(Mini-batch) 라 부르는 작은 묶음 단위의 데이터를 주입하여 학습
- 매 학습 단계가 빠르고 비용이 적게 들어, 시스템은 데이터가 도착하는대로 즉시 학습 가능
- 연속적으로 데이터를 받고 빠른 변화에 스스로 적응해야 하는 시스템에 적합. ex)주가 예측
- 자원이 한정된 환경에 적합
- 이미 학습된 데이터는 필요하지 않아, 저장공간 절약 가능
- 일반적으로 온라인 환경에 수행되므로, 온라인 학습(Online learning)이라고 부름
경사 하강법(Gradient Descent)
- 머신러닝 모델의 학습 원리: 비용함수를 최소로 하는 $w$와 $b$를 찾는다.
비용함수(Cost Function): 전체 데이터셋에 대해 계산되는 Loss
- 오차평면에서 공을 올려놓았을 때, 공이 굴러가는 방향 (오차가 적어지는 방향)으로 $w$와 $b$를 조정.
기존 경사 하강법의 문제점
- 경사 하강법은 정확하게 가중치를 찾아가지만, 한 번 업데이트 할 때마다 전체 데이터를 미분해야 하므로 계산량이 매우 많음!
- 계산량이 많기 때문에 속도가 매우 느림
확률적 경사 하강법 (SGD: Stochastic Gradient Descent)
- 전체 데이터(Batch)가 아닌, 랜덤하게(확률적) 추출한 일부 데이터의 모음(Mini-Batch)를 사용
- 일부 데이터를 사용하므로, 계산 속도가 훨씬 빠르기 때문에 같은 시간에 더 많은 Step을 나아갈 수 있음.
- 다소 부정확할 수 있지만, 더 빠르고 자주 업데이트를 하는 것이 가능해짐.
- 미니배치 경사 하강법(Minibatch Gradient Descent) 이라고 부름
- 반대로 전체 데이터를 사용하는 경사 하강법은 배치 경사 하강법(Batch Gradent Descent)
학습 단위
Batch-size
SGD을 한 번 계산하기 위한 학습 데이터의 개수, Mini-batch의 크기
Steps
전체 학습 데이터셋에 대해서 Mini-batch별로 계산한 횟수
- (Batch-size) / (전체 데이터셋의 개수)
- ex) 전체 데이터 100개, batch-size: 5 -> Steps: 20Epoch
- 전체 학습 데이터에 대해서 학습을 진행한 횟수*
- ex) 전체 데이터의 갯수인 100개를 학습함 -> Epoch: 1
Epoch
전체 학습 데이터에 대해서 학습을 진행한 횟수
- ex) 전체 데이터의 갯수인 100개를 학습함 -> Epoch: 1
728x90
반응형
'Data Science > ML & DL' 카테고리의 다른 글
선형(Linear) 문제 (0) | 2024.07.07 |
---|---|
기계학습의 종류 (1) | 2024.07.05 |
인공지능의 역사 (0) | 2024.07.04 |
인공지능이란? (0) | 2024.07.04 |
목적 함수(Objective Function) vs 비용 함수(Cost Function) vs 손실 함수(Loss Function) (1) | 2024.06.03 |