머신 러닝 퀵 가이드

로봇(시스템) 트레이딩을 연구하기 위해서는 인공지능에 대한 이해도 필요하니 꾸준히 인공지능 관련 내용도 보완할 예정이다.

인공지능은 조금 막연하고 머신러닝이라는 이름 최근에는 딥러닝이라는 이름으로 구체화되고 있다. 머신러닝을 간단히 정의하면 아래와 같다 (카네기멜론 대학교 톰 미첼 교수 정의)

태스크 T에 대하여 경험 E를 학습하여 성능 P만큼 개선

머신러닝을 적용하기 위한 태스크가 있어야 하며 머신러닝이 학습하기 용이한 경험이 있어야 한다. 또한 학습 결과 성능이나 태스크를 수행할 수 있어야 한다. 범용적인 인공지능 구현이 어려운 이유는 태스크T가 명확하지 않고 경험 E도 확보하기 어렵고 성능 P도 측정되기 어렵기 때문이다. 대신 주식으로 설명하면 명확하다. 주식 예측이나 더 나아가 매매 등이 태스크에 해당되며 경험은 각종 챠트나 지표가 될 것이다. 그것들을 활용해서 낼 수 있는 수익률이 성능이 될 것이다. 태스크가 명확하고 과거 데이터로 경험도 충분히 줄 수 있다. 문제는 성능을 낼 수 있는 알고리즘을 찾는 것이 로봇 트레이딩 프로젝트의 목표인 셈이다.

머신러닝(인공지능) 시스템(머신)에게 기대할 수 있는 역할은 크게 몇 가지고 구성된다. 분류(classification), 군집(clustering), 강화학습(reinforcement learning), 진화(evolution) 등이 그것들이다.

분류는 머신에게 분류를 어떻게 해라 라는 정답이 데이터마다 주어져 학습이 이루어진다. 지도학습(supervised learning)이라 한다. 학습하기에는 귀찮은 알고리즘인 셈이다. 그리고 편향-분산 딜레마(bias-variance dilemma)를 고려해야 한다. 편향되거나 분산된 학습 데이터가 시스템 성능에 영향을 미친다는 의미이다. 다행이 여러 데이터 셋이 인터넷이 공개되어 있다. 대표적인 알고리즘은 신경망, SVM, kNN 등이 있다.

군집은 머신에게 분류 대상을 주어지지 않는다. 다만 데이터의 군집 정도를 파악해서 적절히 나누어준다. 비지도 학습(unsupervised learning)에 해당한다. 대표적인 알고리즘은 k-means, SOM, DBSCAN 등이 있다.

강화학습은 구글이 인수한 딥마인드(DeepMind.com)의 전문 분야이다. 최근 이세돌을 이긴 알파고도 강화학습 중에서 Q-러닝 이론을 딥러닝의 핵심 이론 중 하나인 컨볼루션 네트워크에 적용한 딥큐네트워크(DQN) 알고리즘을 바탕으로 개발되었다. 강아지에게 계속 먹이를 주면서 종을 울리면 나중에는 먹이 없이도 종만 울려도 침을 흘린다는 것이 강화학습의 대표적인 예로 종종 거론된다. 강화학습도 일종의 지도학습이지만 데이터마다 주어지는 것인 아니며 행위의 결과로 환경에 대한 적응 여부에 따라 보상을 주는 것이 다르다.

진화는 유전자알고리즘(GA)이 대표적이며, 학습하고자 하는 규칙을 유전자에 담아 유전자를 진화시켜 머신을 학습하는 방법이다.

로봇 트레이딩에서 사용할 수 있는 알고리즘은 무엇일까? 경우에 따라서는 분류나 군집, 강화학습 때로는 진화를 사용할 수 있다. 실제로 각각의 알고리즘으로 구현된 논문들과 사례들도 있는 것으로 알고 있다.

(혹시 수익률 좋은 로봇트레이딩 알고리즘 관련 자료 있으신 분 댓글 부탁 드립니다. ^^;)

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중