티스토리 뷰

인공지능

머신러닝의 기본 절차

Bennett Kim 2018. 5. 22. 17:52

안녕하세요? 오늘은 머신러닝에 들어가기 앞서 머신러닝의 큰 그림을 잡는데 사용 될 기본 프로세스에 대해 설명하겠습니다.


머신러닝은 크게 4가지 단계로 프로세스가 구성됩니다.


1. 사용할 데이터를 분석합니다.

: 제가 생각하기에 데이터는 머신러닝에 있어서 큰 역할을 차지합니다. 좋은 데이터가 많으면 많을수록 모델의 알고리즘에 문제가 없다면 같은 모델이라도 성능에서 월등히 차이가 나기 때문입니다. 그렇지만 데이터를 모으고 정제하는 작업은 비용과 시간이 많이 드는 작업입니다. (그 이유로 많은 Open source로 공개된 모델을 보시면 거의 대부분 학습에 사용된 데이터는 제공하지 않습니다.)

 

2. 적합한 모델을 선택합니다.

: 적합하다는 것은 인풋과 아웃풋에 따라 결정됩니다. 이런 상황이 주어졌다고 가정합니다. A라는 모델은 B와 C 기능을 가졌고 모델의 정확도는 B: 78%, C: 56%라고 합시다.(B와 C는 서로 독립적인 기능입니다.) 그런데 A'라는 모델은 오로지 B 만을 출력할 수 있는데 정확도가 87%라면 고민없이 A'를 선택해야 합니다. 좀 더 들어가서 이 모델 또한 Customization을 거쳐 성능 향상을 기대 해 볼 수 있습니다.


3. 훈련 데이터로 모델을 훈련시킵니다.

: 데이터로 모델을 학습시키기에 앞서 하이퍼 파라미터를 경절해야합니다. 최적의 하이퍼 파라미터를 선택하는 데에는 정답은 없습니다. 하이퍼 파라미터를 선택하기 위해 Grid search, Randomized search 등등 다양한 방법이 있습니다. 


4. 마지막으로 테스트 데이터로 이 모델의 성능을 측정합니다.

: 훈련을 마쳤다면 이제 테스트 데이터로 이 모델의 일반성을 확인합니다. 만약 훈련 데이터에 지나치게 과대적합(overfitting) 되어 있다면 모델을 수정하거나 데이터를 더 많이 보충하고 노이즈가 있다면 제거해야 합니다. 


오늘은 간략한 프로세스를 살펴보았는데요. 사실 이렇게 간단히 4단계로 나누었지만 각각의 단계마다 상당한 시간과 노력, 비용이 필요합니다. 


다음에는 이 전체적인 process에 각각의 세부적 sub process 또한 살펴보도록 하겠습니다. 


감사합니다.

댓글