앞서 우리는 머신러닝에 많은 다양한 problem class들이 있다고 배웠습니다. 그것들은 각각 어떤 데이터의 종류들이 제공되고 어떤 결정들이 그 데이터로부터 나올 수 있는지가 각각 다릅니다. 5개의 표준 problem class들이 아래 설명되어 있습니다.
이번 글에서는, 분류(classification)과 회귀(regression, 지도 학습의 두가지 예제)에 대해서 초점을 맞출 것이며, 강화학습과 sequence learning에 대해서도 계속 살펴볼 것입니다.
지도 학습의 가장 핵심 아이디어는 학습 체계가 주어진 input에 대해 그것들에 연관된 어떤 특정한 output이 도출된다는 점입니다. 지도 학습을 output이 어떤 작은 유한한 세트(분류)로 부터 도출되는가 혹은 크고 유한하거나 연속적인 세트(regression)로 부터 도출되는가에 따라 지도학습을 분류할 수 있습니다.
학습 데이터 D_n이 어떤 페어의 셋 (이 때 {(x(1), y(1)),...(x(n), y(n))}이고 각각 x(i)는 분류된 object이고 일반적으로 d-dimension 벡터의 값, 그리고 y(i)를 구체적인 값의 세트라고 합니다. 이 때 y를 종종 'target value'라고 부릅니다.
classification 문제는 이분법적인(binarh) 혹은 two-class,(만약 y(i)가 둘중 한 값만 가지면) 아니면 multi-class 라고 합니다.
분류 문제의 궁극적인 목표는, 새로운 input x(n+1)이 주어질 때, y(n+1)을 예측하는 것입니다.
분류 문제는 지도 학습의 한가지 종류입니다, 이상적인 output (혹은 class) y(i)가 학습된 각각의 예시 x(i)로 부터 명시되기 때문입니다.
Regression은 classification과 비슷하지만, y(i)가 R^k (연속적인 실수집합)에 속한다는 점이 다릅니다.
비지도학습은 input-output 페어의 세트에 기반한 학습 function 을 포함하지 않습니다. 대신에, 주어진 데이터 셋에서 일반적으로 어떤 패턴 혹은 구조를 찾습니다.
x(1), ... x(n) 과 같은 예제가 주어졌을 때, 분포 Pr(X) 이고, 확률 Pr(x(n+1))을 예측하는 것이 목표일 때, 밀도 예측은 종종 전체적인 지도 학습을 위한 학습 방법의 "subroutine"의 역할을 하기도 합니다.
x(1), ... x(n) 과 같은 예제가 주어졌을 때, 목표는 파티셔닝 혹은 클러스터링 즉 비슷한 예제들끼리 어떤 그룹으로 묶을 수 있는 것을 찾는 것을 의미합니다. 정확히 어떤 기준이 사용될 것인지 (예를들어, 클러스터 내의 요소간의 평균 거리의 최소화 그리고 클러스터 간 요소내에서의 평균 거리를 최대화)와 샘플간의 비슷함의 정의에 따라 다양한 목표가 있습니다. 다른 방법은 "soft" 클러스터링이 있습니다. 이는 어떤 샘플은 한 클러스터 내에서 0.9 멤버십을 할당받고, 다른것들은 0.1을 할당받는 것을 말합니다. 클러스터링은 종종 density estimation의 단계로 쓰이며 종종 데이터내의 유용한 구조를 발견할 때 사용됩니다.
내용 심화 필요
강화 학습에서, 목표는 어떤 특별한 input에 대해 output value y가 가장 적합하다고 명시하는 그런 직접적인 supervision signal없이 input x에 대해 output y에 대한 매핑을 학습하는 것입니다. 이 때, priori라고 불리는 어떤 명시된 학습 세트는 존재하지 않습니다. 대신에, 학습 문제는 아래와 같은 세팅에 따라, 환경과 서로 상호작용하는 agent로써 인식됩니다:
agent는 현재 상태 x(0)를 관찰합니다.
y(0)라는 action을 선택합니다
x(0)과 아마도 y(0)에 따라서 보상 r(0)를 받게 됩니다.
확률론적인 환경 변화에 따른 새로운 상태, x(0)과 y(0)에 의존한 분포와 함께 x(1)이 등장합니다.
agent는 현재 상태 x(1)를 관찰합니다.
...
목표는 궁극적으로 policy P를 찾는 것이며 이때 x를 y에 (상태와 액션) 과 같은 reward R이 최대화 될 숭 ㅣㅆ는 어떤 장기적인 sum 혹은 평균값을 찾는 것입니다.