머신러닝의 세가지 종류
1.머신러닝의 세가지 종류
1-1. 지도학습으로 미래 예측
지도 학습의 주요 목적 : 훈련된 데이터에서 모델을 학습하여 본 적 없는 미래 데이터에 대해 예측을 만드는 것
여기서 지도(supervised)
는 희망하는 출력 신호(레이블)
가 있는 일련의 샘플을 의미.
ex ) 스팸 이메일 필터링 : 훈련된 모델은 새로운 이메일이 두개의 범주 중 어디에 속하는지 예측 합니다.
스팸 이메일 필터링 처럼 범주(클래스 레이블)
이 있는 지도 학습을 분류(Classification)
이라고 합니다.
지도학습의 또다른 종류는 연속적인 값을 출력하는 회귀(regression)
입니다.
1-1-1. 분류 : 클래스 레이블 예측
지도 학습의 하위 카테고리입니다.
과거의 관측을 기반으로 새로운 샘플의 범주형 클래스 레이블을 예측하는 것이 목적입니다.
클래스 레이블은 이산적(discrete)
이고 순서가 없어 샘플이 속한 그룹으로 이해할 수 있습니다.
앞서 얘기한 스팸메일 감지는 전형적인 이진분류(binary classification)
작업의 예 입니다.
두개 이상의 클래스 레이블을 가진 예측 분류 모델을 다중분류(multiclass classification)
이라고 합니다.
전형적인 예로 손글씨 인식이 있습니다.
1-1-2. 회귀 : 연속적인 출력 값 예측
회귀는 예측변수(predicator variable 또는 설명변수)
, 입력(input)
와 연속적인 반응 변수(repsponse variable)
(또는 출력(outcome)
, 타겟(target)
)가 주어졌을 때 출력 값을 예측하는 두 변수 사이의 관계를 찾습니다.
예를 들어 학생들의 수학 SAT 점수를 예측한다고 가정했을때, 시험 공부에 투자한 시간과 최종 점수사이에
관계가 있다면 두 값으로 훈련 데이터를 만들고 모델을 학습 할 수 있습니다. 이 모델은 시험에 응시하려는
학생들이 공부한 시간을 이용하여 시험 점수를 예측합니다.
위 그림은 선형 회귀(linear regression)
의 개념을 나타 냅니다. 입력 x 와 타겟 y가 주어지면 샘플과 직선 사이 거리가 최소가 되는 직선을 그을 수 있습니다. 일반적으로 평균 제곱 거리를 사용합니다.
이렇게 데이터에서 학습한 직선의 기울기
와 절편(intercept)
을 사용하여 새로운 데이터의 출력값을 예측합니다.
1-2. 강화 학습
강화 학습은 환경과 상호 작용하여 시스템(에이전트(agent))
의 성능을 향상하는 것이 목적이다.
환경의 현재 상태 정보는 보상(reward)
신호를 포함하기 때문에 강화학습을 지도 학습과 관련된 분야로 생각 할 수 있다.
강화 학습은 보상 함수로 얼마나 행동이 좋은지를 측정한 값이다.
대표적인 예는 체스게임.
- 에이전트(agent): 학습하는 시스템, 상태를 관찰하고 행동을 선택, 목표지향
- 환경(environment): 에이전트를 제외한 나머지
- 상태(state): 상황 정보
- 행동(action): 현재 상태에서 에이전트가 하는 것
- 보상(reward): 행동의 좋고 나쁨을 알림, 부정적인 보상을 벌점(penalty)이라 하기도 함.
- 정책(policy): 최상의 전략, 학습을 거치면서 끊임없이 변화 강화 학습은 다음과 같은 방식으로 진행됩니다.
- 에이전트는 환경에서 자신의 상태를 관찰
- 정책에 따라 행동을 선택
- 선택한 행동을 환경에서 실행
- 환경으로부터 다음 상태와 보상을 받음
- 보상을 최대화하는 방향으로 정책을 수정(학습단계)
- 최적의 정책을 찾을 때까지 위 과정을 반복
1-3. 비지도 학습
비지도 학습은 레이블되지 않거나 구조를 알 수 없는 데이터를 다룹니다. 비지도 학습 기법을 사용하면 알려진 출력 값이나 보상 함수의 도움을 받지 않고 의미 있는 정보를 추출하기 위해 데이터구조를 탐색 할 수 있습니다.
1-3-1. 군집
군집(clustering)
은 사전 정보 없이 쌓여 있는 그룹 정보를 의미 있는 서브그룹(subgroup)
또는 클러스터(cluster)
로 조직하는 탐색적 데이터 분석 기법이다.
아래의 그림은 군집이 어떻게 레이블 되지 않은 데이터를 특성 dim1과 dim2의 유사도를 기반으로 세개의 개별적인 그룹으로 조직화 하는지 보여줍니다.
1-3-2. 차원 축소
고차원의 데이터를 다루어야 하는 경우는 흔합니다. 즉, 하나의 관측 샘플에 많은 측정 지표가 있습니다.
이로인해 머신러닝 알고리즘의 계산 성능과 저장 공간의 한계에 맞닥뜨릴 수 있습니다.
비지도 차원 축소는 잡음(noise)
데이터를 제거하기 위해 특성 전처리 단계에서 종종 적용하는 방법 입니다.
차원 축소는 관련 있는 정보를 대부분 유지하면서 더 작은 차원의 부분공간(subspace)
로 데이터를 압축 합니다.
데이터 시각화에도 유용하며, 예를들어 고차원의 특성을 1차원 또는 2차원, 3차원 특성 공간을 투영하여 산점도나, 히스토그램을 시각화 합니다.
이상으로 머신러닝의 세가지 종류에 대해서 알아 보았습니다.