머신러닝을 배우고, 주식예측을 해보기 위한 개인 프로젝트
프로젝트 특징
- 이 프로젝트는 지극히 개인적인 작업의 결과물이며 다른 누구와의 공유를 위해 작성되지 않았습니다.
- 이 프로젝트의 open은 개인 포트폴리오를 위한 것입니다.
- 이 프로젝트는 여기 포함되어 있는 소스코드 뿐만 아니라 DB 테이블과 데이터, 각종 binary file들이 있어야 올바르게 작동되므로, 이 소스코드만 다운로드 받아서는 실행할 수 없습니다.
- 이 프로젝트는 2018년 6월부터 2달여간 진행하였습니다. 한번 머신러닝을 돌리는데 보통 12시간 이상 걸려서, 실제 구현 시간은 그 보다 적을 것입니다.
- 이 프로젝트는 대부분 자바코드로 구현되어 있습니다.
- 머신러닝을 배우기 위해 "Deep Learning from Scratch" 책에 있는 파이썬코드를 Java로 구현해보았습니다.
- java colt library로 matrix 연산이 가능합니다.
- java code로 matrix 연산을 구현 했습니다.
- 인텔 CPU의 SIMD명령어 집합인 AVX를 이용하여 어셉블리로 matrix 연산을 구현하여 사용하였습니다.
- 이렇게 따로 matrix연산 라이브러리를 구현한 것은 기존 라이브러리들이 너무 느리고, 사용하기 어려워서 입니다.
- 데이터는 지난 10년간 종합주가지수(코스피)와 달러,엔,유로,위안화 환율정보 입니다.
- 여러가지 자료와 논문을 참고하여 batch normalization을 직접 구현했습니다.
- 다양한 combination의 하이퍼파라미터를 주입하여 충분하게 머신러닝을 돌려보았습니다.
- 그 결과.....
문의사항이 있으시면 : high_volt@hanmail.net으로 문의주세요. 감사합니다.