학습 과정에서 사용하는 데이터의 종류에 따른 분류
1. Supervised Learning
2. Unsupervised Learning
3. Semi-supervised Learning
4. Reinforcement Learning
데이터 처리 방식에 따른 분류
5. Batch Learning(Offline Learning)
- 가용한 데이터 모두 사용해 훈련(전체 데이터셋 사용)
- 시간과 자원을 많이 소모하여 일반적으로 오프라인에서 가동
- 먼저 시스템을 훈련시키고 제품 시스템에 적용하면 더 이상의 학습 없이 실행
- Batch Learning의 경우, 새로운 데이터에 대해 학습하려면 전체 데이터를 사용해서 시스템의 새로운 버전을 처음부터 다시 훈련해야 함
6. Online Learning
- 데이터를 순차적으로 한 개씩 또는 미니배치(Mini-Batch)라고 부르는 작은 묶음 단위로 학습
- 매 학습 단계가 빠르고 비용이 적게 들어, 시스템은 데이터가 도착하는 대로 즉시 학습 가능
- 연속적으로 데이터를 받고, 빠른 변화에 스스로 적응해야 하는 시스템에 적합함
- 컴퓨팅 자원이 제한된 경우에도 적합: 학습이 끝난 데이터는 더 이상 필요하지 않으므로 버리면 됨
- Online Learning의 단점: 시스템에 나쁜 데이터가 주입되었을 때 시스템 성능이 점진적으로 감소할 수 있음
- 이러한 위험을 줄이기 위해, 시스템을 면밀히 모니터링하고 성능 감소가 감지되면 즉각적으로 학습을 중지시키는 대처가 필요함
- Online Learning에서 중요한 parameter: 학습률(Learning Rate)
- 변화하는 데이터에 얼마나 빠르게 적응할 것인지 결정
- 학습률을 높게 하면 시스템이 데이터에 빠르게 적응하지만, 예전 데이터를 금방 잊어버리게 됨
- 학습률이 낮으면 시스템의 관성이 더 커져서 더 느리게 학습함. 하지만 새로운 데이터에 있는 잡음이나 대표성 없는 데이터 포인트에 덜 민감해짐.
일반화 방법에 따른 분류
7. 사례 기반 학습
8. 모델 기반 학습