※머신러닝의 목적
무엇(X)으로 무엇(Y)를 예측하고 싶다!
이때, 데이터는 주로 행렬, 배열 등의 형태로 되어있다.
머신러닝의 목적을 간단하게 수식으로 표현을 한다면
Y = F(X)
이다.
X : 우리가 가지고 있는 데이터를 의미하며, 입력변수 / 독립변수 / Feature이라고 부른다.
Y : 우리가 예측하고 싶은 데이터를 의미하며, 출력변수 / 종속변수 / 반응변수라고 부른다.
F : X를 통해서 Y를 예측할 수 있도록 입력변수와 출력변수간 관계를 의미한다.
머신러닝은 주어진 데이터를 통해 입력변수와 출력변수 간 관계를 만드는 함수 F를 만드는 것이라고 볼 수 있다.
※머신러닝이 필요한 이유
데이터의 양이 기하급수적으로 늘어나고 있는 상황에서 모든 분야의 모집단을 전수조사한다는 것은 거의 불가능하고, 가능하더라도 큰 비용이 든다.
이러한 상황에서 최선의 방법은 표본집단(우리가 현재 가지고 있는 데이터)으로부터 모집단을 예측할 수 있도록 통계의 '추정'이라는 개념을 사용하는 것이다.
※ 머신러닝의 분류
1. 지도학습
Y = F(X)에 대하여 입력변수 X와 출력변수 Y의 관계에 대하여 모델링하는 것으로 '예측' 과 '분류'로 나뉘어진다.
- 예측 : 입력변수 X에 대해서 연속형 변수(예를 들어 키, 몸무게 등을 예측하는 경우) Y를 예측
- 분류 : 입력변수 X에 대해서 연속형 변수(예를 들어 등급 등을 나누는 경우) Y를 예측
2. 비지도학습
출력변수 Y가 존재하지 않고, 입력변수 X간의 관계를 모델링 하는 것.
- 군집분석 : 유사한 데이터끼리 그룹화
- PCA : 독립변수들의 차원을 축소
▲지도학습의 분류와 비지도학습의 군집분석이 유사하다고 생각을 할 수 있다.
지도학습의 분류는 예를들어 소고기 등급을 예측을 하는 것에 대입을 한다면, 소고기 등급이 정해져 있고, 다른 여러 변수(X)들에 따라서 각각의 변수들이 등급에 미치는 영향을 분석하여 등급을 예측하는 것이라면,
비지도학습의 군집분석은 등급처럼 라벨링 된 데이터가 존재하지 않고, X의 데이터만 보고, 비슷한 그룹끼리 묶는 것이다.
조금 더 간단하게 이야기하자면, 분류는 이미 정해져 있는 기준에 따라서 해당 데이터가 그 기준에 따라 어디에 들어갈지를 예측하는 것이라면, 군집분석은 정해져 있는 기준이 없고, 데이터들의 특성을 스스로 판단하여 유사하다고 판단되는 것들끼리 묶는 것.
실생활에서는 라벨링 된 데이터보다 라벨링 되지 않은 데이터들이 월등히 많기 때문에, 최근 들어 비지도학습의 중요성이 커지고 있다.
3. 강화학습
Agent라는 문제 상황에서 행동하는 주체가 수많은 시뮬레이션을 통해서 현재의 선택이 미래의 보상을 최대로 만들어주도록 학습하는 것을 강화학습이라고 한다.
이 때, 현재 상태를 나타내는 것은 State(S), 행동을 취할 수 있는 선택지는 Action(A), 행동 중 하나를 했을 때 따라오는 이들을 Reward(R)이라고 한다. 각 상황에서 Agent가 어떤 행동을 취할지에 대해서 판단하는 방식을 Policy라고 한다.
각각의 Agent는 현재의 최대보상만을 따라가는 것이 아니라, 최종적으로 가장 큰 보상을 가질 수 있도록 행동해야하는 데, 이것을 예측 판단할 때 쓰이는 것을 가치함수이다.
대부분 강화학습은, 변수가 많이 존재하는 여러 게임에서 (스타크래프트, 바둑, 배틀그라운드 등) 많이 사용되는 기법이다.
강화학습에 대해서 더 자세하게 알아보고 싶다면
http://www.secmem.org/blog/2019/12/15/RL-key-concepts/를 가볼 것을 추천한다.
최근댓글