by CodeJin19
1 min read

Categories

Tags

머신러닝 기초

머신러닝 알고리즘

지난 포스트에서 머신러닝 알고리즘을 지도 학습과 비지도 학습 그리고 강화 학습으로 나뉜다고 언급만 했는데 이를 간단히 정리해보자면

  • 지도 학습

    • 데이터에 레이블이 존재한다

    • 입력 변수를 입력 받아 목표 변수로 변환하는 규칙 (함수) 를 학습하는 알고리즘이다

  • 비지도 학습

    • 데이터에 레이블이 없다

    • 대표적으로 데이터의 숨은 패턴과 군집을 찾는다

  • 강화 학습

    • 현재 상태에서 어떤 행동을 하는 것이 최적인지 학습한다

    • 쉬운 예로 게임 인공지능을 만드는 머신러닝 알고리즘이다


널리 알려진 지도 학습 알고리즘으로는 다음과 같은 것들이 있다.

  • 신경망 (Neural Networks)

  • 선형 회귀 (Linear Regression)

  • 로지스틱 회귀 (Logistic Regression)

  • 서포트 벡터 머신 (Support Vector Machines, SVMs)

  • 의사 결정 트리 (Decision Trees)


다음으로 대략적인 머신러닝 순서도를 보자.

  1. 입력

  2. 데이터 전처리

  3. 탐색적 데이터 분석

  4. 모델 구축

  5. 출력


입력

입력 데이터는 이미지 형식이거나, 스프레드시트와 같은 테이블 형식이다


데이터 전처리

  • 데이터셋 병합

    • 데이터 소수가 다수인 경우 하나의 데이터셋으로 병합해야 한다


  • 범주형 변수의 인코딩

    • 요일, 월 등의 변수가 있다면 이를 정수형으로 인코딩해야 한다


  • 데이터 스케일링 및 정규화

    • 특정 데이터값이 예외적으로 큰 경우, 데이터 스케일링 및 정규화 작업이 필요하다


  • 결측값1 보간

    • 결측값은 버리거나, 다른 데이터값의 평균으로 넣는 등의 보간법이 있다


  • 데이터셋 분할

    • 데이터셋을 학습용과 테스트용으로 분할해서 학습용 데이터만 학습에 사용해야 한다


모델 구축

  • 모델 선정

    • 위에 언급한 다양한 머신러닝 알고리즘 중 하나를 선택해야 한다


  • 초매개변수 튜닝

  • 모델 훈련

  • 모델 평가


  1. 결측값이란 값이 없는 값으로 쉽게 NULL이라고 생각하면 되겠다