머신러닝 알고리즘은 크게 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning) 세가지 분류로 나눌 수 있습니다.
차례차례 알아 보겠습니다.
1. 지도 학습(Supervised Learning)
지도 학습은 말 그대로 정답을 알려 주며 학습 시키는 것을 말합니다. 입력값(Input data), 즉 벡터형식의 입력값에 대한 Label(Y값)을 붙여 주고 계속 학습을 시켜나가는 것 입니다.
예를 들어, 공부 시간에 따른 점수 분포에 대한 데이터가 있다고 생각 해봅시다. 우리는 이제 공부 시간 데이터(Input Data)를 컴퓨터에 입력 시켜 주고 동시에 이에 대응하는 점수 데이터(Y값)을 입력할 수 있습니다. 이 데이터들은 하나의 선형 모델을 만들 것 이고 우리는 다른 공부 시간에 대한 점수도 예측할 수 있게 되는 것입니다.
위 예제를 파이썬을 통해 그래프로 나타낸 것 입니다. 위의 Original의 데이터들이 입력값으로 들어가 학습하게 되고 회귀모델(빨간선)을 만들어 내 실제 Y값이 아닌 시간만 알고 있는 X값으로 구성된 TestSet를 통해 정확도를 계산하게 됩니다.
머신러닝이 크게 세가지로 나뉜 것 처럼 지도 학습도 문제의 형식에 따라 두가지로 나뉠 수 있습니다. 바로 회귀(Regression)과 분류(Classification)입니다. 위의 예제처럼 연속적이며 기대되는 특정 결과값의 수치를 예측할 경우 회귀 문제라고 합니다. 이와 다르게 연속성을 띄지 않고 '참/거짓'과 같이 두가지로 결과값을 분류하는 경우를 이진분류(Binary Classification), '성적 등급(A/B/C/D/F)'과 같이 그 이상의 결과값으로 분류하는 경우를 다중분류(Multi-Classification)라고 합니다.
(Regression에는 Linear, Logistic이 있고, Classification에는 Naive Bayes, SVM, Random Decision Forests가 있습니다. 이중에 중요한 몇가지는 추후 컨텐츠에 다룰 예정입니다.)
2. 비지도 학습(Unsupervised Learning)
비지도 학습은 위에서 본 지도 학습과 달리 Input data(X값)에 대한 Label(Y값)이 없는 경우(Labeling이 되어있지 않다고 합니다)를 말합니다. 주로 입력하는 변수들 사이의 관계를 이용해서 군집화를 하고, 데이터로부터 변수가 가질 수 있는 모든 값의 밀도(확률)를 추정 하는 것에 목표를 두고 있습니다.
실생활에서 비지도 학습을 사용하는 예를 찾아보면, 관심 아이템 및 구매 내역 특성에 따라 소비자를 분류하여 다른 아이템을 소개해줄수도 있고 자신이 관심있거나 좋은 평을 남겼던 영화에 따라 비슷한 유형의 영화를 소개시켜주는 등의 다양한 분야에서 사용됩니다.
위와 같이 x와 y에 대한 데이터를 분포해놓았을 때 유사성, 관련성이 있는 데이터들 끼리 군집을 이룹니다. 이 군집을 통해 구조를 만들고 분류 하는 것이 목표입니다.
3. 강화 학습(Reinforcement Learning)
강화 학습이란 상과 벌이란 보상(Reward)를 통해 상을 최대화하고 벌을 최소화 하는 방향으로 행위를 강화하는 학습 방법입니다.
강화 학습 모델은 위에 그림에서 볼 수 있듯이 행동 집합(Action), 환경 상태 집합(State), 보상 집합(Reward)로 구성되어 있습니다. 행동을 하는 주체(Agent)가 t 시점의 상태에서 행동(Action)을 하면 환경(Environment)로 부터 새로운 상태(St+1)와 새로운 보상(Rt+1)을 얻게 됩니다. 여기서 '보상(Reward)'이 강화 학습의 핵심입니다. Agent는 계속된 시행착오를 통하여 누적된 보상을 최대화 할 수 있는 정책(Policy)를 개발하게 됩니다. 중요한 점은 즉시 보상보다 보상의 총합을 최대화 하는 방향으로 학습한다는 것입니다!
대표적으로 여러분들이 많이 들어 보았던 '알파고'에서 이 강화 학습 알고리즘을 사용하였습니다. 알파고는 정책망(Policy Network)이라고 불리는 신경망이 다음번 돌의 위치를 지정하고 가치망(Value Network)이라고 불리는 다른 신경망이 승자를 예측하는 심층 신경망(Deep Neural Network)으로 이루어져 있습니다. 또한 수많은 시뮬레이션 작업을 통해 행동가치가 높은 지점을 추려내는 몬테카를로 트리 탐색(Monte Carlo tree search, MCTS) 기법을 사용하였습니다. 이것이 알파고가 수많은 대국 시뮬레이션을 하는 이유입니다(추후 자세한 내용을 포스팅하겠습니다)
지금까지 머신러닝의 세가지 분류(지도 학습, 비지도 학습, 강화 학습)에 대해 간단히 알아보았습니다. 이후 주식시장에 더욱 관련 있는 지도 학습에 대해 차례차례 포스팅하도록 하겠습니다. 저희 앤트하우스와 함께 머신러닝의 기초를 단단히 잡아 봅시다:)
[머신러닝/딥러닝 시리즈]
#1 Introduction
http://blog.alphasquare.co.kr/221098813480
차세대 주식투자 플랫폼, 알파스퀘어에서 스마트한 주식투자를 경험해보세요!