머신러닝 프로세스
머신 러닝은 데이터의 수집으로부터 시작됩니다. 모델을 학습한 후에는 모델의 적합 여부를 평가하고, 성능이 기준에 미달할 경우 원인을 찾아 개선 활동을 합니다. 학습된 모델은 시간이 지날수록 예측 성능이 하락하는 특성이 있기 때문에, 지속적으로 모델을 평가하여 성능이 하락한 경우에는 최신 데이터로 모델을 재학습합니다.
데이터 수집(Data Collection)
머신 러닝 알고리즘의 성능에 가장 큰 영향을 주는 단계입니다. 데이터의 질이 떨어지면 알고리즘의 성능도 저하됩니다. 그렇기에 양질의 데이터를 수집하는 것이 중요합니다. 데이터의 특성에 따라 다양한 방법으로 데이터를 취득하는데요. 다음과 같습니다.
- 센서 데이터 : 데이터 수집 장비를 사용해서 취득하게 됩니다.
- 영상 데이터 : DSLR, 휴대폰 카메라 등을 통해서 데이터를 취득하게 됩니다.
- 의료 영상 데이터 : MRI, CT, X- ray 등의 장비를 통해서 데이터를 취득하게 됩니다.
- 설문조사 : 직접 설문이나 매체를 통한 조사 등을 통해서 데이터를 취득하게 됩니다.
- 수기 입력 데이터 : 사람 손으로 입력된 데이터입니다. 오류가 있을 확률이 다른 데이터에 비해서 굉장히 높습니다.
이러한 대규모 데이터 수집과 처리를 전문으로 하는 분야를 데이터 엔지니어링이라고 합니다.
데이터 전처리(Data Preprocessing)
수집한 원자료(raw data)를 가공하여 머신러닝에 사용할 수 있게 하는 과정입니다. 분석을 방해하는 요소를 억제하는 전처리 과정이라고도 합니다. 잡음(noise), 이상치(outliers), 오기/오타 제거, 결측치 등을 제거 해서 전처리를 하게 됩니다. 또한, 자료 분석에 용이하도록 자료의 특성을 변환하는 것도 전처리라고 하는데요. 이러한 전처리의 예로는 특징 추출(feature extraction), 차원 감소(dimensionality reduction), 정규화(normalization), 표준화(standardization) 등이 있습니다. 이러한 데이터의 전처리를 다루는 분야를 특징 공학(feature engineering)이라고도 합니다.
모델 학습(Model Training)
머신 러닝 모델을 학습하여, 원하는 동작을 하도록 하는 과정입니다. 입력과 출력의 형태와 통계적 특성에 따라 최적의 모델을 선택해야해야 합니다. No free Lunch theorem에 따르면 특정한 문제에 최적화된 알고리즘은 다른 문제에서는 그렇지 않으므로, 지속적으로 데이터에 따른 최적의 머신 러닝 알고리즘을 개발해야한다는 것입니다. 각 모델을 학습하기 위해서 초매개변수 최적화 과정이 필요로 합니다. 초매개변수는 학습 과정을 제어하기 위한 매개변수로 모델 학습이 이루어지기 전에 값이 결정되는 매개 변수입니다.
모델 평가(Model Evaluation)
학습 완료된 모델을 테스트 데이터에 대해 평가하는 과정입니다. 테스트 데이터는 모델 학습 과정에 노출되지 않아야 합니다. 데이터 누수를 막는 것이 중요한 단계입니다. 데이터 누수란 모델을 학습하는 데에 실제로는 사용할 수 없는 데이터가 포함된 문제를 의마합니다. 모델이 실제 서비스에 적용 가능한 수준인지 판별하는 단계이기도 한데요. 테스트 입력에 대해 모델의 성능 평가 지표가 적정 수준 이상인지 확인하고, 모델의 성능이 필요 수준에 미치지 못할 경우, 이전 과정으로 돌아가 성능 개선 활동을 수행합니다.
예측(Prediction)
모델을 서비스에 적용하여 새로운 입력에 대해 출력을 예측하는 단계입니다. 모델을 동결(freeze)하여 더 이상 학습이 이루어지지 않습니다. 학습된 모델을 배포(deploy)하여 예측을 위해서만 사용합니다. 주기적으로 모델을 재학습하여 성능을 개선하는 것이 중요합니다. 시장의 데이터는 비정상(non-stationary) 데이터입니다. 지속적으로 변화하기에 예측에 대한 사용자의 피드백을 받아 새로운 훈련 데이터를 확보하는 것이 중요합니다.
'머신러닝' 카테고리의 다른 글
지도학습 모델 - k최근접 이웃 (0) | 2022.08.19 |
---|---|
회귀 모델 - 로지스틱 회귀 모델 (0) | 2022.08.19 |
회귀 모델 - 규제 선형 회귀 모델 (0) | 2022.08.19 |
머신 러닝 - 회귀 분석 (0) | 2022.08.19 |
인공지능, 머신러닝, 딥러닝이란 (0) | 2022.08.18 |
댓글