머신러닝 기초
머신러닝 알고리즘
지난 포스트에서 머신러닝 알고리즘을 지도 학습과 비지도 학습 그리고 강화 학습으로 나뉜다고 언급만 했는데 이를 간단히 정리해보자면
-
지도 학습
-
데이터에 레이블이 존재한다
-
입력 변수를 입력 받아 목표 변수로 변환하는 규칙 (함수) 를 학습하는 알고리즘이다
-
-
비지도 학습
-
데이터에 레이블이 없다
-
대표적으로 데이터의 숨은 패턴과 군집을 찾는다
-
-
강화 학습
-
현재 상태에서 어떤 행동을 하는 것이 최적인지 학습한다
-
쉬운 예로 게임 인공지능을 만드는 머신러닝 알고리즘이다
-
널리 알려진 지도 학습 알고리즘으로는 다음과 같은 것들이 있다.
-
신경망 (Neural Networks)
-
선형 회귀 (Linear Regression)
-
로지스틱 회귀 (Logistic Regression)
-
서포트 벡터 머신 (Support Vector Machines, SVMs)
-
의사 결정 트리 (Decision Trees)
다음으로 대략적인 머신러닝 순서도를 보자.
-
입력
-
데이터 전처리
-
탐색적 데이터 분석
-
모델 구축
-
출력
입력
입력 데이터는 이미지 형식이거나, 스프레드시트와 같은 테이블 형식이다
데이터 전처리
-
데이터셋 병합
- 데이터 소수가 다수인 경우 하나의 데이터셋으로 병합해야 한다
-
범주형 변수의 인코딩
- 요일, 월 등의 변수가 있다면 이를 정수형으로 인코딩해야 한다
-
데이터 스케일링 및 정규화
- 특정 데이터값이 예외적으로 큰 경우, 데이터 스케일링 및 정규화 작업이 필요하다
-
결측값1 보간
- 결측값은 버리거나, 다른 데이터값의 평균으로 넣는 등의 보간법이 있다
-
데이터셋 분할
- 데이터셋을 학습용과 테스트용으로 분할해서 학습용 데이터만 학습에 사용해야 한다
모델 구축
-
모델 선정
- 위에 언급한 다양한 머신러닝 알고리즘 중 하나를 선택해야 한다
-
초매개변수 튜닝
-
모델 훈련
-
모델 평가
-
결측값이란 값이 없는 값으로 쉽게 NULL이라고 생각하면 되겠다 ↩