[머신러닝] 지도 학습, 비지도 학습, 강화 학습 이란?

지도 학습, 비지도 학습, 강화 학습 이란?


머신러닝 알고리즘의 세가지 종류

머신러닝 알고리즘은 지도 학습, 비지도 학습, 강화 학습으로 나눌 수 있다.
이 세가지 학습의 개념과 차이점을 알아보자.



지도 학습(supervised learning)

지도 학습은 입력 데이터타깃 데이터를 전달하여 모델을 훈련한 후 새로운 데이터를 예측하는데 활용하는 학습이다.
타깃 데이터입력 데이터에 대한 정답이다. 예를 들어 입력 데이터가 포도라면 타깃 데이터는 grapes, 바나나라면 banana 라고 데이터에 대한 명시적인 정답을 정해 주는 거다. 모델을 훈련 시키고 새로운 데이터가 나타나 어떤 데이터인지 예측 할 때 타깃 데이터를 기준으로 분류한다.




위에 그림으로 예시 들어보자.
1. InputAnnotations가 각각 입력 데이터타깃 데이터다.
즉 포도 그림들은 입력 데이터이며 정답으로 사용될 타깃 데이터These are grapes라는 문장이다. 입력 데이터와 타깃 데이터로 Model(모델)을 훈련 시킨다.

2. Model을 훈련 시킨 후 새로운 데이터predition(예측)하면 포도 그림 = grapes 이므로 새로운 데이터는 it's Grapes 라고 예측 할 수 있다.

즉 지도 학습은 훈련한 모델 기반으로 새로운 데이터가 나타났을 때 어떤 데이터로 분류 되는지 예측 하는데 사용된다.



비지도 학습(unsupervised learning)

비지도 학습은 지도 학습과 다르게 타깃 데이터가 없고 입력 데이터만 있으므로 새로운 데이터를 예측 하는 것이 아닌 무작위로 입력된 데이터들 중의 숨겨진 특징(Feature)이나 구조를 발견할 때 사용된다.





위에 그림으로 예시를 들어보자.
Input으로 여러 과일이 들어왔다. 모델을 비지도 학습으로 훈련 시키면 각각의 특징을 기반으로 세가지 부류로 묶어서 output으로 나온다. (노란색 = 오렌지, 초록색 = 아보카도, 빨간색 = 사과)



강화 학습(reinforcement learning)

강화 학습은 지도 학습, 비지도 학습과는 다른 종류의 학습 알고리즘이다.
지도 학습, 비지도 학습 알고리즘은 입력 데이터나 타깃 데이터가 주어진 정적인 상태(static environment)에서 학습을 한다. 
하지만 강화 학습은 주어지는 데이터가 없으며 주어진 환경에 대해 어떤 행동(action)을 하고 결과로 부터 보상(reward)를 얻으면서 학습한다.




순서 대로 보자 에이전트(Agent)가 어떠한 행동(action)을 주어진 환경(Environment)에서 한다. 이때 현재 상태(state)에서 최대한 높은 보상(reward)을 받을 수 있는 방법을 찾아가며 학습한다. 이 순서를 장기간 반복하여 데이터를 수집하며 개선해 나간다. 
강화 학습 알고리즘을 적용한 사례 중 대표적인 것이 알파고(AlphaGo)다.




지도 학습, 비지도 학습, 강화 학습 알고리즘

각각 지도 학습, 비지도 학습, 강화 학습을 대표하는 알고리즘이다.
전부는 아니지만 머신러닝을 공부할 때 배우는 알고리즘들이다.





참조





댓글

이 블로그의 인기 게시물

[Arduino] 아두이노 초음파 센서(HC-SR04) 사용하기

[Arduino] 아두이노 조이스틱 사용하기

[자연 환경] 농약의 장단점 농약이 환경과 인간에게 미치는 영향