프로젝트/코드프레소 체험단

파이썬으로 시작하는 머신러닝 - 머신러닝의 주요 프로세스

KimCookieYa 2022. 1. 9. 17:28

머신러닝의 주요 프로세스

문제 정의, 데이터 수집, 데이터 전처리, 특징 추출, 모델 학습, 모델 검증

 이 과정을 통해 머신러닝을 활용할 수 있다.

 

1. 문제 정의 단계

해결하려는 문제를 명확하게 정의하고, 문제 해결을 위한 알고리즘을 선정하는 단계.

해결할 문제(데이터의 특성)에 따라 적절한 알고리즘을 선정하는 것이 중요.

 

2. 데이터 수집 단계

학습/검증에 사용할 데이터를 수집하는 단계.

데이터는 학습된 모델의 품질을 결정하는 가장 중요한 요소.

충분히 큰/많은, 대표성을 가지는, 고품질의 데이터

 

* 학습 데이터와 검증 데이터는 달라야 한다.

 

데이터 셋 분할(Hold-out cross validation 홀드아웃 교차검증). 데이터를 트레이닝과 배리데이션(validation), 테스팅(testing)용으로 각각 분류한다.

    트레이닝: 머신러닝 모델의 학습에 사용되는 데이터셋

    배리데이션: 학습된 머신러닝 모델의 성능을 평가하는데 사용되는 데이터셋. 모델 개선의 지표가 됨.

    테스팅: 학습 및 개선된 머신러닝 모델을 최종 평가하는 데이터 셋

 

3. 데이터 전처리 단계 *가장 오래 걸리고 어려운 작업. 도메인에 대한 전문지식, 데이터에 대한 이해가 매우 중요함.

데이터의 품질을 결정하는 중요한 단계, 데이터를 정제하는 과정. 다양한 기법이 존재.

지도학습의 경우, 데이터 라벨링 작업

이미지, 음성 등과 같은 비정형 데이터의 경우 다양한 전처리 작업이 선행됨.

사진의 경우 크기 조정, 밝기 조정, 중요한 부분 잘라내기 등

음성의 경우 노이즈 제거 작업, 단위 시간 별로 분할하기 등

자연어의 경우 오타 수정 등

 

 

 

4. 특징 추출 단계

Feature란? 모델에 학습시킬 데이터의 특성. 독립변수들을 지칭. 특성, 속성 등으로 불림

Class란? 모델을 통해 판단 또는 예측하고자 하는 정답값으로 종속변수를 지칭. 라벨 타겟 정답 결정 등으로 불림.

 

특징 추출(feature engineering) 데이터에 대한 도메인 지식을 활용하여 특징을 만들어내는 과정

feature selection 특징선택

feature extraction 특징추출

feature learning 특징학습

특징 추출은 모델의 성능에 미치는 영향이 매우 큼. 데이터에 대한 이해가 높아야함. 시간이 많이 듬.

 

5. 학습과 검증 단계

전처리/추출 작업이 완료된 학습 데이터 셋을 입력으로, 모델이 최적화될때까지 학습이 반복됨.

 

얼마나 반복할 것인가?/모델이 최적화 되고있음을 어떻게 판단할 것인가? 학습과 동시에 현재 상태의 모델 평가(베리데이션 데이터를 사용)

 

이후 검증. 테스트 데이터를 이용해 모델을 검증. 더 학습시킬 것인지 종료할 것인지 선택.

문제의 특성에 따라 다양한 검증 지표들이 존재함.