Page 14 -
P. 14
1.1.2 머신 러닝 워크플로
지금까지 머신 러닝이 무엇인지 알아보았다. 그러면 머신 러닝은 어떻게 구현해야 할까? 간단히
말해, 머신 러닝도 다른 프로그램과 마찬가지로 데이터를 입력받고 예측 결과를 출력한다. 물론
머신 러닝을 구현하려면 중요한 중간 과정을 여럿 거쳐야 한다. 그림 1-3은 머신 러닝 프로그램의
워크플로를 요약한 것이다.
그림 1-3 머신 러닝 워크플로
입력 데이터 전처리 탐색적 데이터 모델 구축 출력
분석
데이터베이스 병합
모델 선정
범주형 변수 인코딩
데이터 초매개변수 튜닝
소스 1
데이터 스케일링 및 정규화
모델 훈련
데이터 데이터 예측 결과
결측값 보간
소스 2 시각화
모델 평가
데이터셋 분할
머신 러닝 워크플로의 입력은 당연히 데이터다. 데이터는 다양한 소스에 다양한 형식으로 저장된
다. 예를 들어 컴퓨터 비전 분야의 머신 러닝 입력 데이터는 대체로 이미지 형식이다. 그 외 다른
머신 러닝 워크플로는 대부분 스프레드시트 같은 테이블 형식 데이터를 입력으로 사용한다. 머신
러닝 프로젝트를 진행하다 보면, 머신 러닝 모델을 만들기 전에 먼저 데이터 수집 작업에 많은 노
력을 들여야 할 때가 많다. 책에서는 입력 데이터가 이미 주어지고 오직 머신 러닝 모델에 집중하
는 상황을 가정한다.
다음으로 데이터 전처리를 수행한다. 원본 데이터는 대체로 정리되지 않고 오류도 많아서 머신 러
닝 알고리즘에 그대로 사용할 수 없다. 따라서 모델에 적용하기 전에 반드시 전처리를 거쳐야 한
다. 또한, 데이터를 여러 데이터 소스에서 가져와야 한다면 단일 데이터셋으로 병합해야 한다.
게다가 머신 러닝 모델을 만들려면 데이터셋을 오직 숫자로만 구성해야 한다. 원본 데이터에 범
주형(categorical) 변수(예: 성별, 국가, 요일)가 있다면 숫자형 변수로 인코딩(encoding)해야 한다
(1.4.3.1절에서 더 자세히 설명한다). 머신 러닝 알고리즘 중 일부는 데이터 스케일링과 정규화가
필요하다. 특정 변수의 값이 다른 변수에 비해 너무 크면 알고리즘이 이 변수에 지나치게 치중할
가능성이 있다.
26
신경망교과서_07.indd 26 2020-05-19 오전 9:04:30