개발일기

[머신러닝] 지도학습/비지도학습/강화학습 본문

오늘의 공부일기/머신러닝, 딥러닝 공부일기

[머신러닝] 지도학습/비지도학습/강화학습

츄98 2023. 5. 17. 09:31

머신러닝은 크게 지도학습, 비지도학습, 강화학습으로 나눌 수 있습니다.

 

출처: https://www.researchgate.net/figure/Supervised-learning-and-unsupervised-learning-Supervised-learning-uses-annotation_fig1_329533120

1. 지도학습: 정답을 알려주면서 학습시키는 방법

회귀와 분류 문제가 대표적인 지도 학습에 속한다. 지도 학습은 기계에게 입력값과 출력값을 전부 보여주면서 학습시키는 방식으로, 정답을 잘 맞추었는지 아닌지를 쉽게 파악할 수 있다. 대신 정답(출력값)이 없으면 이 방법으로 학습시킬 수 없다.

 

라벨링(Annotations): 입력값에 정답을 하나씩 입력해주는 작업

 

2. 비지도학습: 정답을 알려주지 않고 군집화(Clustering)하는 방법

비지도 학습은 그룹핑 알고리즘(Grouping algorithm)의 성격을 띤다.

 

데이터에 입력값과 출력값 둘 다 존재한다면 지도 학습으로 문제를 풀 수 있지만, 출력값에 해당하는 데이터가 없을 때 비지도 학습 방법을 사용한다. 비지도 학습 방법은 라벨(Label 또는 Class)이 없는 데이터를 가지고 문제를 풀어야 할 때 효과적이다.

 

비지도학습 종류

 

3. 강화학습: 주어진 데이터없이 실행과 오류를 반복하면서 학습하는 방법 (알파고를 탄생시킨 머신러닝 방법!!)

 

분류할 수 있는 데이터가 존재하지 않거나, 데이터가 있어도 정답이 따로 정해져 있지 않을 때,

자신이 한 행동에 대해 보상(Reward)를 받으며 학습하는 것을 말한다. 행동심리학에서 나온 이론!

 

강화 학습(Reinforcement learning)은 이전부터 존재했던 학습법이지만 실생활에 적용할 만큼의 결과를 내지 못했다.

하지만 딥러닝의 등장 이후 강화 학습에 신경망을 적용하면서부터 바둑이나 자율주행차와 같은 복잡한 문제에 적용할 수 있게 되었다.

 

- 강화학습의 개념

  • 에이전트
  • 환경
  • 상태
  • 행동
  • 보상

이 개념을 게임을 예로 들어 보자.

강화학습은 게임의 규칙을 따로 입력하지 않고 자신(Agent)이 게임 환경(Environment)에서 현재 상태(State)에서 높은 점수(Reward)를 얻는 방법을 찾아가며 행동(Action)하는 학습 방법으로, 특정 학습 횟수를 초과하면 높은 점수(Reward)를 획득할 수 있는 전략이 형성되게 된다. 단, 행동(Action)을 위한 행동 목록(방향키, 버튼)등은 사전에 정의가 되어야 한다.