머신러닝이란?

주어진 데이터를 분석하여 일반적인 규칙이나 새로운 지식을 기계 스스로가 자동으로 추출하기 위한 접근 방법

왜 필요할까?

데이터의 다양한 변형을 다루기 위해서

딥러닝이란?

  • 심층 학습
  • 심층 신경망 기반의 머신러닝 분야

머신러닝의 처리 과정

  • 학습 단계 : 학습 데이터 집합의 분석을 통해 원하는 입,출력의 관계를 알려주는 매핑 함수를 찾는 과정
  • 추론 단계 : 학습을 통해 찾은 매핑 함수를 실제 데이터("테스트 데이터")에 적용하여 결과를 얻는 과정

머신러닝 개발 과정

  1. 문제 파악
  2. 충분한 데이터 수집 및 이해
  3. 데이터 준비(전처리) 및 특징 추출
  4. 모델 수립 및 분석
  5. 모델 평가 (모델이 충분하지 않다면 1~5번중에 알맞은 단계로 다시 회귀)
  6. 배포

머신러닝의 핵심

  • 데이터 준비(전처리) 및 특징 추출
  • 모델 수립 및 분석

머신러닝의 기본 요소

데이터와 데이터 분포

  • 데이터 표현 방법 : n차원의 벡터 (열벡터)
  • 데이터 집합의 분포 특성
    • 해당 공간상에서 점들이 분포된 모양
    • 2차원 데이터 집합의 산점도(scatter plot)
      • 가우시안 분포

용어

  • flatten : 벡터를 열벡터로 변환하는 행위

특징 추출

  • 사영(projection)에 의한 특징 추출

성능 평가

  • 학습 시스템
    • 데이터로부터 학습을 통해 추출하고자 하는 정보를 표현하는 시스템
    • 입,출력 매핑 형태의 함수로 정의
    • 학습
      • 데이터를 이용하여 함수 f를 찾는 것
      • 학습 시스템의 매개변수 Θ를 찾는것
    • 학습의 궁극적 목표: 앞으로 주어질 새로운 데이터에 대한 성능을 최대화하는 것

오차함수를 이용한 성능 평가 기준

  • 학습 오차 : 학습에 사용된 데이터(학습 데이터) 집합에 대해 계산된 오차
  • 테스트 오차 : 학습에 사용되지 않은 새로운 데이터(테스트 데이터) 집합에 대해 계산된 오차
  • 일반화 오차
    • 관찰될 수 있는 모든 데이터 분포 전체에 대해 정의되는 오차
    • 실제 계산이 불가능해서 테스트 오차로 대신하여 평가

일반화 오차의 추정

  • 교차검증법 : 제한된 데이터 집합을 이용하여 일반화 오차에 좀 더 근접한 오차값을 얻어 내기 위한 방법

머신러닝에서의 주제

  • 데이터 분석
    • 분류(classification)
    • 회귀(regression)
    • 군집화(clustering)
  • 데이터 표현
    • 특징추출(feature extraction)

분류(classification)

  • 입력 데이터가 어떤 부류에 속하는지를 자동으로 판단하는 문제 (얼굴인식, 생체인식, 숫자인식)
  • 학습 목표 : 분류 오차를 최소화하는 최적의 결정경계 g(x;Θ) = 0를 찾는 것
  • 성능 평가 척도
    • 분류율(%) = 분류 성공 데이터 개수 / 전체 데이터 개수 X 100
    • 분류오차(%) = 분류 실패 데이터 개수 / 전체 데이터 개수 X 100

회귀(regression)

  • 입력변수와 출력변수 사이의 매핑 관계를 분석 (시게열 예측, 시장 예측, 환율 예측, 주가 예측)
  • 회귀 오차를 최소화하는 최적의 회귀함수 y = f(x;0)를 찾는 것
  • 회귀 오차는 곧 제곱 오차이다.

군집화(clustering)

  • 데이터 집합을 서로 비슷한 몇 개의 그룹(cluster)으로 묶는 문제. 분류 문제와 달리 클래스 정보가 주어지지 않음 (데이터 그룹화, 영상 분할)
  • 최적의 클러스터의 집합을 찾는 것
  • 클러스터 내의 분산은 최소화, 클러스터 간의 분산은 최대화

특징추출(feature extraction)

  • 원래 데이터로부터 데이터 분석에 적용하기 좋은 특징을 찾아내는 문제 (영상 데이터의 차원 축소, 데이터 시각화)

머신러닝의 유형

지도학습 (분류, 회귀)

학습할 때 시스템이 출력해야 할 목표 출력값(교사)을 함께 제공

비지도학습 (군집화)

학습할 때 목표 출력값에 대한 정보가 없음

준지도학습

지도학습 + 비지도학습 -> 클래스 레이블링 비용을 줄이려는 목적

클래스 레이블링이란?

지도학습에 필요한 목표 출력값을 구하는 행위

강화학습 (딥러닝에서 많이 쓰임)

  • 출력값에 대한 교사 신호가 보상형태로 제공
  • 교사 신호는 정확한 값이 아니고, 즉시 주어지지 않음

학습 시스템 관련 개념

과다적합(overfitting)

학습 시스템이 학습 데이터에 대해서만 지나치게 적합한 형태로 결정경계가 형성되는 현상

  • 원인 : 학습 데이터의 확률적 잡음과 학습 데이터 개수의 부족
  • 영향 : 일반화 성능 저하 초래
  • 학습 시스템의 복잡도를 조정하는 방법
  • 충분한 학습 데이터 사용
  • 조기 종료 방법
  • 정규항을 가진 오차함수 사용
  • 모델 선택 방법
Last Updated: