본문 바로가기
통계/머신러닝

[머신 러닝] 1. 소개

by 부자 꽁냥이 2020. 11. 27.

 

이번 포스팅에서는 머신러닝이 무엇인지 생각하고 적어보았다.

 

-- 목차 --

1. 머신러닝이란?

2. 머신러닝의 종류

3. 통계학 vs 머신러닝


   1. 머신러닝이란?

머신러닝은 데이터로부터 패턴을 인식하고 이를 바탕으로 스스로 의사 결정할 수 있는 알고리즘을 개발하는 학문 분야이다.


   2. 머신러닝의 종류

2-1. 지도 학습(Supervised Learning)

- 지도 학습 -

성별과 몸무게를 이용하여 그 사람의 키를 예측하는 것, 해당 메일의 텍스트를 파악하여 스팸인지 아닌지 예측하는 것과 같이 주어진 데이터를 이용하여 예측하고 싶은 변수가 있다고 하자. 

 

여기서 예측하고 싶은 변수를 $y$라하고 $y$에 영향을 주리라고 생각하는 데이터를 $X$라 하자. 쉽게 말하면, $X$와 $y$는 각각 입력값과 그에 해당하는 출력 값이다.

 

지도 학습은 주어진 입력값에 대하여 신뢰성 있는 출력 값을 출력하는 함수를 현재 가지고 있는 데이터(학습 데이터라고 한다)로부터 학습하는 과정이다. 수식을 이용하여 표현하면 현재 가지고 있는 학습데이터 $(X, y)$로부터 $y = f(X)$를 만족하는 여러 함수 $f$중에서 가장 최적(최적이라는 말은 주어진 Task가 무엇이냐에 따라서 달라진다)의 $f$를 찾는 과정이라고 할 수 있다. 

 

지도 학습이라는 단어는 출력 변수 $y$가 최적 함수 $f$를 찾도록 지도해주는 역할을 한다고 해서 지도 학습이라고 한다(최소제곱법을 이용하여 회귀모형을 구할 때 반응 변수 y의 역할을 생각해보자).

 

- 지도 학습의 종류 -

출력 변수가 연속형이면 지도 학습을 회귀(Regression)라고 하고 범주형인 경우 분류(Classification)라고 한다(출력 변수가 이산형인 경우에는 상황에 따라 회귀가 될 수도 있고 분류가 될 수 있다. 예를 들면 출력 변수가 발생 횟수인 경우에는 회귀로 간주할 수 있고 주사위 눈의 경우는 분류로 간주할 수 있다).

 

회귀의 경우 선형 회귀 모형(Linear Regression Model)과 일반화 선형 모형(Generalized Linear Model)이 있으며 분류는 로지스틱 모형, 선형 판별 분석(Linear Discriminant Analysis), 서포트 벡터 머신(Support Vector Machine) 등이 있다.

2-2. 자율 학습(Unsupervised Learning)

- 자율 학습 -

지도 학습에서와 같이 데이터의 구조가 입력 변수와 그에 대응하는 출력 변수로 이루어져 있는 경우가 있지만 입력과 출력 관계가 아닌 데이터만 있는 경우도 있다. 즉, 관심의 대상이 되는 변수(출력 변수)가 없는 데이터이다(달리 말하면 모든 데이터가 관심의 대상이 되는 데이터라고도 할 수 있겠다).

 

자율 학습은 이러한 데이터가 주어진 경우에 데이터의 패턴, 구조 파악을 목표로 하는 학습과정이다. 자율 학습이라고 말하는 이유는 지도 학습에서와 같이 정해진 목표가 있는 것이 아니라 분석자 자율적으로 데이터의 패턴을 파악해야 하기 때문인 것 같다. 그냥 분석자에게 데이터 던져놓고 알아서 의미 있는 데이터 속의 유의미한 지식이 무엇인지 알아내라는 것이다.

 

- 자율 학습 종류 -

자율 학습에는 데이터의 구조를 파악하는 것을 목적으로 하는 군집 분석(Cluster Analysis), 데이터 분포의 구조를 파악하는 밀도 함수 추정(Density Function Estimation)이 있다. 군집 분석에는 K-means Clustering, Gaussian Mixture Model 등이 있고 밀도 함수 추정에는 Kernel Density Estimation이 있다.

 

2-3. 강화 학습

먼저 합리적인 의사결정을 내릴 수 있는 에이전트(Agent)가 존재한다고 가정하자. 사람, 기업 또는 기계와 같이 의사결정을 할 수 있다면 무엇이든 에이전트가 될 수 있다. 그리고 에이전트는 매 시점마다 자신의 상태(State)와 자신이 취할 수 있는 행동(Action)을 가지고 있다. 

 

이때 에이전트 상태의 집합(환경이라고 한다)을 $S$, 행동 집합을 $A$라고 하면 에이전트는 매 $t$ 시점마다 자신의 상태 $s_t\in S$와 이 상태에서 취할 수 있는 행동 $a\in A(s_t)\subset A$이 있는 것이다($A(s_t)$라는 표현이 낯설 수 있는데 이는 $s_t$에 대한 함수라기보다는 상태에따라 행동 집합 $A$가 달라진다는 뜻이다). 그리고 상태에 따른 행동이 있다면 어떤 함수 $\pi : S \rightarrow A$가 있어서 $\pi(s_t)=a$라고 생각할 수 있다. 이 때 $\pi$를 정책(Policy)이라고 한다. 마지막으로 $t$시점에서 행동 $a$를 취했다면 다음 시점의 새로운 상태 $s_{t+1}$로 변하며 보상 $r_{t+1}$을 받게 된다. 

 

이제 강화 학습을 정의할 수 있다. 강화 학습은 에이전트가 누적 보상 $R=\sum_{t=1}^nr_t$을 최대화하는 정책 $\pi$를 학습하는 과정이다.

 

강화 학습은 보상을 최대화하는 정책을 찾는 것이므로 일종의 가이드라인이 있다는 점에서 자율 학습과는 다르다. 그렇다면 강화 학습은 지도 학습과 무엇이 다를까? 언뜻 보면 입력과 출력 데이터를 각각 상태와 행동으로 본다면 데이터의 구조는 비슷해 보인다. 하지만 강화 학습에는 시점과 보상이라는 구성요소가 더 있다. 그리고 강화 학습은 에이전트가 새로운 데이터(다음 시점의 상태와 행동 그리고 보상)를 만들어내지만 지도 학습은 데이터를 이용하는 것이지 만들어내는 과정은 아니라는 점에서도 차이가 있다.

 

반응형

   3. 통계학 vs 머신러닝

머신러닝은 통계학의 지식을 필요로 한다(예: 확률분포, 최대 우도 추정(Maximum Likelihood Estimation)). 또한 통계학 수업, 머신러닝 수업에서도 회귀 모형을 배운다. 그렇다면 궁금증이 생길 수 있다.

 

통계학과 머신러닝의 차이는 무엇일까? 

머신러닝의 정의는 앞서 살펴보았으니 통계학의 정의를 알아볼 필요가 있다. 통계학은 관심에 대상이 되는 모집단의 특성을 파악하기 위하여 모집단으로부터 샘플 데이터 수집, 정리, 분석 그리고 결과 해석에 이르는 과정을 말한다. 즉 데이터를 이용하여 분석을 해야 한다는 점은 통계학이나 머신러닝이나 똑같다.

  하지만 모형에 대하여 중점을 두는 곳이 다르다. 회귀 모형을 예로 들면 통계학은 회귀 계수의 검정 또는 신뢰구간을 이용하여 회귀계수가 유의미한지를 확인하는 것이 목표라면 머신러닝은 예측을 잘하도록 회귀 모형을 만드는 데 중점을 둔다. 다시 말하면 통계학은 모형 속에 포함된 파라미터 추정량의 성질을 탐구하고, 추정량의 신뢰구간을 구하는 것에 중점을 두는 반면 머신러닝은 모형 정확도에 중점을 둔다(사실 머신러닝 분야는 추정량의 신뢰성 부분은 관심을 아예 두지 않고 예측만 잘되면 장땡인 듯하다).


참고자료

케빈 머피 - 머신 러닝

강화 학습 - 위키백과

강화 학습과 지도 학습의 차이


댓글


맨 위로