수학, 과학 등의 분야에서 어떤 문제를 해결하기 위해 정해진 '절차'대로 수행하도록 만든 체계.
머신러닝에서 문제를 풀 때 회귀
또는 분류
의 방식으로 풀 수 있다. (내가 선택)
문제를 풀기 위해서는 먼저 입력값input과 출력값output을 정의해야 한다.
출력값이 '나이'처럼 연속적인 값일 경우 회귀regression 방식으로 푼다.
머신러닝에서는 소수점floating point을 많이 사용한다.
ex
사람의 얼굴 사진을 보고 몇 살일지 예측하는 문제
input은 얼굴 사진, output은 예측한 나이가 된다.
비연속적인 속성일 때 쓰인다.
ex
시험 전날 공부한 시간으로 Pass or Fail이나 성적을 예측하는 문제
성적 - 이진 분류 (Binary Classification)
이수 Pass | 0 |
미이수 Fail | 1 |
성적 - 다중 분류 (Multi-label Classification)
A | 0 |
B | 1 |
C | 2 |
D | 3 |
E | 4 |
나이도 Class로 바꿀 수 있다 : 분류 문제로 풀 수 있다.
10~19 | 10대 |
20~29 | 20대 |
문제에 따라, 회귀나 분류 어느 방식으로 풀어도 상관 없을 수 있다.
문제를 정의할 때 input-output을 정의한 후 output에 따라 문제 접근하면 된다.
데이터셋 : input
사과 사진 + output
'사과'라 명명된 label들
labeling, annotation : 정답을 표시해주는 작업 (노가다)
예를 들어, 음악 장르를 분류할 때
input
수백만 개의 음원 -> output
팝, 댄스, 락, 클래식.. 분류
(machine이 알아서 비슷한 것끼리 묶도록 한다.)
주어진 데이터 없이 실행과 오류를 반복하며 학습하는 방법. 머신러닝의 꽃.
(게임, 실시간 처리.. ex
알파고)
강화학습의 개념
예를 들어 게임의 규칙을 따로 입력하지 않고 주체(Agent)
가 게임 환경
내 현재 상태
에서 높은 보상
을 얻는 방법을 찾아가며 행동
하는 학습 방법. 행동을 위한 목록(방향키, 버튼 등)은 사전에 정의돼야 한다.
이것을 지도학습의 분류Classification로 학습시키기에는 경우의 수가 많고 이에 해당하는 데이터셋이 없다. 모든 상황에 대해 어떤 행동을 해야 하는지 입력해야 하기 때문에 엄청난 데이터가 필요하다.
최근 딥러닝의 등장으로 강화학습에 신경망을 적용하면서 바둑, 자율주행차 등 복잡한 문제에 적용할 수 있게 되었다.
cf
행동심리학
데이터가 없거나, 있어도 정답이 없을 경우
각각의 Action에 대해 서로 다른 Reward를 받으며 학습하는 것.