사례 기반 학습과 모델 기반 학습
지난 포스트에서는 데이터의 양, 분석 환경 등에 따라 학습 방법을 달리하는 배치 학습과 온라인 학습에 대해 알아보았다.
이번 포스트에서는 머신러닝 모델이 새로운 데이터가 들어왔을 때, 학습된 내용을 기반으로 어떤 방식으로 일반화(Generalize)하는지에 따라 분류되는 "사례 기반 학습"과 "모델 기반 학습"에 대해 알아보도록 하겠다.
1. 사례 기반 학습(Instance-based learning)
- 사례 기반 학습은 말 그대로 학습된 사례들을 기억하는 것으로, 시스템이 훈련 데이터를 기억함으로써 학습한다.
- 새로운 데이터가 들어오는 경우, 학습된 데이터(일부 또는 전체)와 새로운 데이터의 유사도를 측정하여, 입력된 새로운 데이터를 가장 유사도가 높은 기존 학습 데이터의 클래스로 분류한다.
- 유사도 측정(Similarty measurement)은 데이터에 따라 약간 다르게 진행되며, 텍스트 데이터가 대상인 경우, 공통으로 포함된 단어의 수를 기반으로 분류한다.
- 예를 들어, 스팸 메일과 공통으로 포함된 단어가 많은 경우, 스팸 메일로 분류한다.
2. 모델 기반 학습(Model-based learning)
- 모델 기반 학습은 데이터 셋에 적합한 모델을 사용하여 모델을 만들고, 모델을 이용하여 새로운 데이터를 어떻게 분류할지 예측(Prediction)한다.
- 모델 기반 학습은 데이터 셋에 따라 사용되는 모델이 다르므로, 데이터 셋에 적합한 모델을 찾는 모델 선택(Model selection) 과정이 필요하다.
- 모델에는 다양한 모델 파라미터(Model parameter)가 존재하며, 데이터에 최적화되는 모델 파라미터를 찾아내는 것이 모델 훈련(Training)이다.
- 학습 데이터 셋을 훈련시키는 과정에서 선택된 모델의 성능이 얼마나 좋은지를 "적합도 함수(Fitness function, 효용 함수 - Utility function)"로 평가할 수 있으며, 얼마나 나쁜지에 대해서는 "비용 함수(Cost function, 손실 함수 - loss function)"로 평가할 수 있다.
- 모델 파라미터는 일반적으로 손실 함수를 최소화시키는 방향으로 진행되며, 손실 함수를 최소화시키는 파라미터를 찾는 과정을 훈련(Training)이라 한다.
- 모델 파라미터는 머신러닝 모델이 학습 과정에서 찾아가는 파라미터이며, 사용자가 직접 설정해주는 학습률(Learning rate) 같은 파라미터는 모델 파라미터와 구분하기 위해, 하이퍼 파라미터(Hyper parameter)라고 한다.
- 모델 기반 학습은 다음과 같이 진행된다.
- 데이터 분석
- 데이터에 적합한 모델 선택
- 훈련 데이터(Training data)로 모델 훈련 - 비용 함수를 최소화하는 모델 파라미터 탐색
- 학습이 끝난 모델에 새로운 데이터를 적용해 예측(Predict) - 학습 데이터로 학습된 모델을 이용해서 학습 데이터와 분리된 시험 데이터(Test data)가 얼마나 잘 예측되는지를 본다.
- 모델 학습 기반은 모델에 종속되어 새로운 데이터를 추론하므로, 모델이 적합하지 않거나, 데이터가 부족한 경우 더 좋은 모델을 탐색해야 하고, 그 모델에 맞는 데이터를 더 수집해야 한다.
- 모델의 코드 작성 난이도는 낮지만, 그 모델이 구동되는 정확한 원리를 이해하지 못한다면, 제대로 된 결과를 도출하지 못할 가능성이 높다.
[참고 서적]
지금까지 사례 기반 학습과 모델 기반 학습에 대해 알아보았다. 사례 기반 학습과 모델 기반 학습 모두 데이터를 기반으로 하지만, 사례 기반 학습은 데이터에서 찾아낸 특정 패턴이 얼마나 유사한지(동일 패턴이 얼마나 많이 등장하는지)에 따라 분류를 하고, 모델 기반 학습은 수많은 머신러닝 모델의 모델 파라미터를 데이터에 맞게 만들어 예측을 한다.
추후 학습하게 될 머신러닝 모델들은 모두 모델 기반 학습이므로, 사례 기반 학습보다는 모델 기반 학습을 눈여겨보도록 하자.
'Machine Learning > Basic' 카테고리의 다른 글
머신러닝-1.5. 테스트와 검증, 공짜 점심 없음(NFL) (0) | 2021.03.20 |
---|---|
머신러닝-1.4. 머신러닝 사용 시 주의해야 할 사항들 (0) | 2021.03.19 |
머신러닝-1.2. 배치 학습과 온라인 학습 (0) | 2021.03.15 |
머신러닝-1.1. 지도 학습 & 비지도 학습 & 준지도 학습 & 강화 학습 (0) | 2021.03.15 |
머신러닝-1.0. 전통적인 기법과 머신러닝의 차이 (0) | 2021.03.14 |