Machine Learning

어떤 프로젝트?
산업 공학부 대학원 수업 ' 데이터 기반 학습' 수업을 들으면서 진행했던 프로젝트입니다. 파이썬, 텐서플로우, 각 종 머신러닝 기법을 활용하여 금값, 달러값, 경마순위예측, 주식 투자를 하는 코딩을 배우고 작성했습니다.
조별 프로젝트로 주어진 과제로 워크로드가 컸지만, 저는 역량을 강화하고 싶어서 저는 개인이 프로젝트를 진행하였습니다. 이 프로젝트에서는 다른 프로젝트같이 따로 앱이나 윈도우 프로그램을 만든것은 아니지만, 외부 머신니렁 기법을 활용, 라이브러리를 적용해 금융 및 주식 분야에서 수익(모의투자 형태지만)을 창출한것이 유의미 하다고 생각합니다. 이 프로젝트들을 수행했다고 해서 전문가가 된것은 결코 아니지만 프로그래밍으로 할 수 있는 여러 분야 중에서 요즘뜨고 있는 머신러닝 분야에 대한 '개요'는 습득할 수 있었습니다. 따라서 추후 머신러닝 기법이 필요할때 '지도'를 알기 때문에, 무엇이 필요한지 알기 때문에 비교적 빠르게 프로그램을 구현할 수 있을것으로 생각하고 있습니다.

달러 값 예측하기( Neural Networks)
미국달러의 환율을 예측하는 프로젝트 입니다 . 실제 사람 뇌의 뉴런의 구조를 모방한 인공신경망 구조를 활용합니다. 백프로퍼게이션을 이용 오차를 줄이는 방식의 머신러닝 기법입니다. 과거의 환율 데이터로 모델을 학습 시킨 후 input 정보를 넣어주면 달러 환율을 예측합니다. 모델을 돌렸을때 평균적으로 실제 환율과 6원 차이로 예측을 할 수 있었습니다.
해당 프로젝트 PPT 자료:
https://drive.google.com/open?id=0B-S0leaX6oc1cF9iSjVZSm80OUk

금 값 예측하기( Hidden Markov Model)
국제 시장에서의 금 값을 예측하는 프로젝트 입니다. 금 값과 연관된 원자재(브렌트 오일, 은 가격, 달라 환율 등등) 의 가격 정보를 통해서 금 값을 예측합니다. Hidden Markov Model은 어떤 A라는 현상을 발생시키는 B라는 요소 값을 관찰할 수 없을때 B와 연관된 C,D,E등의 요소로 A의 발생을 예측하는 모델이라고 보시면 될것 같습니다. 예를들어, A라는 사람이 밖에 비가 내리는 것을 직접 보고 날씨를 예측하는 것이 아니라, 다른 사람들의 우산이 젖은 것을 보고 비가 내리는 것을 예상하는 맥락과 비슷합니다. 이 프로젝트에서는 달러 환율을 사용하여 금값을 예측하였고 MAE(Mean-Absolute Error)값은 5정도로 나왔습니다.
해당 프로젝트 PPT 자료:
https://drive.google.com/open?id=0B-S0leaX6oc1YUtnWU9jbVFwZnM

한국 경마 경기 쌍복승식으로 순위 맞추기(Support Vector Machine)
한국 경마 경기는 서울 경마공원에서 1주에11번 진행됩니다. 이때 2주동안 22번의 경기에서 어떤 말이 1,2위를 할지 맞추는 프로젝트였습니다. 해당 프로젝트에서 사용된 머신러닝 기법은 Support Vector Machine인데 다차원에서 정보를 클러스터링 시킬 수 있습니다. 경마 경기에서 사용했던 정보들은 예를들어, 출전말의 과거 우승 횟수, 말의 나의, 성별, 말의 몸무게, 기수의 우승 횟수 등 입니다. 따라서 경기 시작 전에 출전하는 말들의 해당 정보를 SVM 에 입력하면 각 출전말들이 몇 순위로 경기를 마감할지 예측을 할 수 있습니다. 가상으로 총 자산금액 500만원이 주어졌을때 2주동안 총 22경기에 각 20만원씩 베팅, 경기를 맞추고 배당금액을 얻어 수익의 정도를 비교하는 식으로 모델의 성능을 평가하였습니다. 결론적으로 돈을 잃지 않는 정도의 수준에서 수익이 발생하였습니다. 예측률은 10~15%정도 였습니다.
해당 프로젝트 PPT 자료:
https://drive.google.com/open?id=0B-S0leaX6oc1QW9SQ2dfVkVpTHM

주식 변동 예측을 통한 투자 전략 구축하기(Reinforcement Learning)
주식 가격을 예측하고 이에 따라 특정 주식에 투자하여 수익을 창출 모델을 구축하는 프로젝트 입니다.Reinforcement Learning 또는 강화 학습 모델은 잘 알려진것처럼 알파고에 적용된 머신러닝 기법입니다. 해당 모델에서는 어떤 정보를 받아들이는 가상의 agent가 있다고 가정합니다. 이때 특정 주식의 과거 주가, 최고가, 최저가, 거래량등의 정보가 주어졌을때 agent가 어떤 행동을하고 그 행동에 대한 보상을 받게 됩니다. 보상의 정도를 보면서 agent는 보상이 더 높은 행동을 취하도록 프로그래밍 되면서 주식 변동을 예측합니다. 이 프로젝트에서는 실제로 모의투자를 했었는데 일주일 동안 1000만원을 시작으로 10일동안 70~80만원의 수익을 올릴 수 있었습니다.
해당 프로젝트 PPT 자료:
https://drive.google.com/open?id=0B-S0leaX6oc1a2h3aDJiODN6Mjg