Yet Never Lose Faith

- Good to Great , Jim Collins

How To Preprocess Image Data 자세히보기

Deep Learning/[Books] Do it! 정직하게 코딩하며 배우는 딥러닝 입문

3. 머신러닝 학습방식 3가지 (지도학습, 비지도학습, 강화학습)

Kellyyyy 2020. 6. 11. 08:00

지난 포스팅에서는 머신러닝이 도대체 뭔지!!

머신러닝의 정의에 대해서 알아보았다.

 

2020/06/01 - [Deep Learning/[Books] Do it! 정직하게 코딩하며 배우는 딥러닝 입문] - 1. 인공지능, 머신러닝, 딥러닝 기초개념 다지기

 

또한 머신러닝을 공부하는데 필요한 머신러닝 필수용어 5가지를 정리했다.

 

2020/06/04 - [Deep Learning/[Books] Do it! 정직하게 코딩하며 배우는 딥러닝 입문] - 2. 머신러닝 필수용어 5가지 (모델, 학습, 훈련, 입력, 타깃)

 

머신러닝 즉, 기계학습은 말그대로 컴퓨터(기계)를 학습시키는 기술이다.

여기서 학습은 스스로 데이터의 규칙을 찾아내도록 하는 기술을 의미한다. 

 

그런데 우리가 공부할 때에도 여러 방법이 있듯,

머신러닝 학습에도 여러가지 방식이 있다.

 

또한 구현하려는 상황에 적합한 학습방식을 사용해야 효과적인 모델을 만들 수 있다. 

그래서 이번 포스팅에서는 머신러닝 학습방식에 대해서 다루려고 한다.

 


 

머신러닝에서 학습방식은 크게 3가지로 분류할 수 있다.

 

지도학습(supervised learning),

비지도학습(unsupervised learning),

강화학습(reinforcement learning)이다.

 

 

나는 주로 지도학습방식에 대해서 공부하기 때문에,

지도학습에 대해서 중점적으로 포스팅한다.

 


 

| 1. 지도학습

 

지도학습은 정답을 알려주고 학습시키는 방식이다.

좀 더 머신러닝스러운 용어(머신러닝 필수용어 5가지 뿌시기!)로 표현하면,

머신러닝 모델에게 입력값과 타깃을 제공하면서 훈련시키는 방식을 의미한다.

 

예를 들어보자.

 

당신은 프로그래머이고,

강수여부를 예측하는 머신러닝 모델을 만들려고 한다.

 

머신러닝을 위한 훈련데이터를 구하기 위해

기상청에 접속하여 지난 1년간의 온도, 습도, 구름 양 데이터

그 날의 강수여부 데이터를 다운로드 받았다.

 

온도 습도 구름 양 강수여부
20˚c 50% 적다 비가 온다
23˚c 30% 많다 비가 오지 않는다
12˚c 70% 조금 많다 비가 온다
...      
21˚c 30% 적다 비가 오지 않는다

 

이 데이터를 구했다면 당신은 지도학습 방식으로 머신러닝 모델을 만들 수 있다.

강수여부를 예측하는 모델이 맞춰야 할 정답강수여부 데이터를 제공할 수 있기 때문이다.

 

강수여부를 예측하는 모델의 정답(타깃) : 강수여부

 

머신러닝 모델에게 위와 같은 훈련데이터를 제공하면,

모델은 주어진 입력값으로 타깃값을 만들 수 있는 규칙을 찾아낸다.

 

그리고 그 규칙을 이용해서 다른 입력에 대한 예측값을 만든 후,

실제 정답과의 차이를 구한다.

이때, 이 차이가 크다면 규칙을 수정한다.

 

여기서 아주 중요한 손실함수라는 개념이 등장한다.

손실함수는 모델의 규칙을 수정하는 기준이 되는 함수로,

손실함수 =  정답 - 예측값으로 정의한다.

 

지도학습 방식에서는 훈련데이터에 정답이 있기 때문에 손실함수라는 개념이 존재할 수 있다.

 

만약 실제 정답이 비가온다(=1)인데, 0.8이라는 예측값을 냈다면

손실함수에 대입했을 때 0.2라는 값이 나올 것이다.

 

그럼 머신러닝 모델은 0.2 정도의 차이를 없애는 방향으로 규칙을 수정한다.

 

지도학습 방식을 사용하는 주제는 주로 날씨 예측이나 스팸이메일 분류처럼

정답 데이터를 명확히 구할 수 있는 분야에서 활용한다.

 

사실 지도학습 방식은 모델을 만드는 것 보다 훈련데이터를 만드는 일이 더 어렵다고 한다.

잘못된 입력과 타깃을 훈련데이터에 포함시키면 잘못된 모델이 만들어질 수도 있고,

데이터의 개수가 너무 적으면 모델을 충분히 훈련시킬 수 없기 때문이다.

 

 

| 2. 비지도학습

 

 

비지도학습은 타깃이 없는 훈련데이터를 사용해 모델을 학습시키는 방식이다.

예를 들어보면 기업이 고객의 소비성향에 따라 그룹을 지정하는 상황을 생각할 수 있다.

 

몇개의 그룹이 생길지, 어떤 그룹이 생길지 모르기 때문에 타깃이 없는 상황이다.

대표적으로 군집화가 있다.

 

타깃이 없기 때문에 모델의 훈련결과를 평가하기 어렵다는 특징이 있다.

 

 

| 3. 강화학습

 

 

강화학습은 정답을 제공한다는 점에서 지도학습과 유사하지만,

보상을 제공한다는 점이 차이점이다.

 

강화학습에는 에이전트라는 개념이 있다.

에이전트는 가상의 캐릭터(?)라고 생각하면 된다.

 

에이전트는 특정 상황에서 행동을 수행하고,

수행에 대한 결과가 정답과 유사하면 보상을 받는다.

 

에이전트의 목표는 최대한 많은 보상을 받는 것이라서

주어진 환경에서 아주 많은 행동을 수행하고,

높은 보상을 받는 수행을 반복하는 방식으로 학습한다.

 

강화학습은 주로 게임분야에서 자주 사용하는데

인공지능 테트리스나 딥마인드의 알파고가 대표적이다.

 


 

이렇게 머신러닝의 학습방식 3가지를 알아보았다.

마지막으로 정리한 후에 포스팅을 마치겠다.

 

머신러닝을 사용하는 분야의 특성에 따라 적절한 학습방식을 사용해야 효율적인 모델을 만들 수 있는데,

머신러닝 학습방식은 크게 3가지로 분류한다.

 

 

학습방식 지도학습 비지도학습 강화학습
정의 정답을 주며 학습시킴. 정답을 주지 않고 학습시킴 정답을 주며 학습시킴
+
학습과정에서 보상을 제공
활용분야 예시 날씨예측, 스팸이메일 분류 등 군집화 등 게임 분야 (알파고)