머신러닝 알고리즘은 크게

지도 학습(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) 기법을 사용하였습니다.

이것이 알파고가 수많은 대국 시뮬레이션을 하는 이유입니다(추후 자세한 내용을 포스팅하겠습니다)

 

 

https://alphasquare.co.kr/home/stock/stockinfo?code=005930

 

알파스퀘어(AlphaSquare) - 스마트한 당신의 주식투자

주식정보 | 종목발굴 | 전략공유 등 알파스퀘어만의 ‘All In One’ 스마트 주식투자 플랫폼

www.alphasquare.co.kr

 


머신러닝(ML)

 

"Field of study that gives computers the ability to learn without being explicitly programmed”
-Arthur Samuel (1959)-

Arthur Samuel은 1959년 논문에서 최초로 머신러닝을 정의 하신 분 입니다.

머신러닝이란 한마디로 말하면

인간이 기계로 하여금 스스로 '학습' 할 수 있도록 프로그램화(코딩)를 하는 것입니다.

 

 

기계가 주어진 데이터를 스스로 학습해서

데이터간의 잠재적인 매커니즘을 밝혀내고

어떠한 패턴을 찾아내어

새로운 데이터에 대한 최적의 예측을 제공합니다.

 

다들 인간과 기계의 세기의 대결이라고 불리우는 이세돌 - 알파고간의 대국 기억나시나요?

 

알파고는 수많은 경험적 데이터들을 기반으로 스스로 학습하고

스스로 바둑을 두며 익혀 경우의 수가 무한한 바둑대결에서

세계적인 이세돌 선수를 상대로 4:1로 승리 하였습니다.

 

머신러닝은 실생활에서도 찾아볼 수 있습니다.

대표적으로 마케팅 분야에서 주로 사용되고 있습니다.

개별 소비자들의 소비패턴을 학습하여 개인 맞춤형 제품을 찾아주는 등

그 적용은 마케팅을 넘어 무한합니다.

삼성 갤럭시에 내장된 '빅스비', 스마트홈, 음성 인식, 자율주행자동차 등

많은 제품들에 적용된 인공지능(AI)과 머신러닝은 4차산업혁명에서 가장 핫한 주제입니다.

 

 

여기서 잠깐!

 

 

머신러닝이 주식투자에도 활용될 수 있습니다.

실제로 미국에서는 수 년 전부터 로보어드바이져가 도입되었습니다.

로보어드바이져(robo-advisor)는 로봇(robot)과 투자전문가(advisor)의 합성어로 즉,

로봇이 고도화된 알고리즘으로 자동으로 개인의 자산을 관리해주는 서비스 입니다.

 

이처럼, 주식투자에서도 머신러닝의 바람이 불고 있습니다.

수 많은 축적된 데이터를 기반으로 주가와 많은 변수들간의 상관관계를 학습하여

인간 대신 투자를 하는 방식입니다.

물론,

머신러닝을 기반으로 투자 포트폴리오를 구성한다고

해도 수익률이 저조하거나 마이너스 수익률을 기록할 수도 있습니다.

 

하지만 수 많은 경험적 데이터들을 기반으로 투자를 하기에

안정적인 수익률을 얻을 수학적 확률이 더 높겠죠?

그 외에도 자동화로 인해 인간의 수고를 덜 수도 있고

인간의 감정을 배제하여 더욱더 원칙에 맞는 투자를 할 수 있습니다.

실제로 제임스 시몬스의 '르네상스 테크놀로지'라는

알고리즘 트레이딩 회사는 위와 같은 투자방식으로 유명합니다.

 

얼마나 수익률이 좋으면 르네상스 테크놀로지의 창립자이자 CEO인

제임스 시몬스의 연봉이 무려 한화 2조에 달한다고 합니다.

 

 

 

 

https://alphasquare.co.kr/home/stock/stockinfo?code=005930

 

알파스퀘어(AlphaSquare) - 스마트한 당신의 주식투자

주식정보 | 종목발굴 | 전략공유 등 알파스퀘어만의 ‘All In One’ 스마트 주식투자 플랫폼

www.alphasquare.co.kr

 

+ Recent posts