머신러닝이란?
주어진 데이터를 분석하여 일반적인 규칙이나 새로운 지식을 기계 스스로가 자동으로 추출하기 위한 접근 방법
왜 필요할까?
데이터의 다양한 변형을 다루기 위해서
딥러닝이란?
- 심층 학습
- 심층 신경망 기반의 머신러닝 분야
머신러닝의 처리 과정
- 학습 단계 : 학습 데이터 집합의 분석을 통해 원하는 입,출력의 관계를 알려주는 매핑 함수를 찾는 과정
- 추론 단계 : 학습을 통해 찾은 매핑 함수를 실제 데이터("테스트 데이터")에 적용하여 결과를 얻는 과정
머신러닝 개발 과정
- 문제 파악
- 충분한 데이터 수집 및 이해
- 데이터 준비(전처리) 및 특징 추출
- 모델 수립 및 분석
- 모델 평가 (모델이 충분하지 않다면 1~5번중에 알맞은 단계로 다시 회귀)
- 배포
머신러닝의 핵심
- 데이터 준비(전처리) 및 특징 추출
- 모델 수립 및 분석
머신러닝의 기본 요소
데이터와 데이터 분포
- 데이터 표현 방법 : 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)
학습 시스템이 학습 데이터에 대해서만 지나치게 적합한 형태로 결정경계가 형성되는 현상
- 원인 : 학습 데이터의 확률적 잡음과 학습 데이터 개수의 부족
- 영향 : 일반화 성능 저하 초래
- 학습 시스템의 복잡도를 조정하는 방법
- 충분한 학습 데이터 사용
- 조기 종료 방법
- 정규항을 가진 오차함수 사용
- 모델 선택 방법