본문 바로가기

파이썬으로 퀀트 프로그램 만들기 project/강화학습

(3)
강화학습으로 비트코인 차트 학습시키기 저번 포스트에서 예고했듯이 snake game ai에 이용했던 강화학습 알고리즘을 비트코인 차트에 적용시켜 보겠습니다. # game.py 비트코인 차트 환경이 game 환경이 될 것입니다. 본격적인 설명에 앞서 먼저 말씀드릴게 있습니다. snake game과 비트코인 차트 학습은 다른 점이 있습니다. snake game은 특정상황에서 해야할 행동에 대한 보상이 바로 정해집니다. 그리고 그 보상이 모델을 옳은 방향으로 학습시켜줍니다. 또한 발생되는 환경의 경우의 수가 그렇게 많지 않습니다. 그러나 차트는 그렇지 않습니다. 셀 수없이 많은 경우의 수가 있습니다. 제가 사용하는 한정된 차트 데이터는 overfitting을 유발할 수 있으므로 차트 데이터를 두 가지로 나눠줄 필요가 있습니다. 하나는 학습 데이터..
강화학습으로 snake game 학습시키기_2 해당 블로그는 유튜브 "freeCodeCampe.org" 님의 https://youtu.be/L8ypSXwyBds?si=GTo6sJqoXQU25LM6 영상을 참고했습니다. 관련 코드는 https://github.com/patrickloeber/snake-ai-pytorch 를 참고해 주세요. # 필요 라이브러리 다운 이번 포스팅에서는 강화학습에 필요한 라이브러리를 다운해보겠습니다. 터미널에서 pip install pygame을 통해 pygame을 다운로드하여주세요. 그리고 강화학습에 필요한 pytorch를 다운로드받아 주겠습니다. https://pytorch.org/get-started/locally/ 해당 파이토치 다운 사이트로 가서 본인에게 맞는 os를 선택한 후 pip, python, cpu을 선택..
강화학습으로 snake game 학습시키기_1 해당 블로그는 유튜브 "freeCodeCampe.org" 님의 https://youtu.be/L8ypSXwyBds?si=GTo6sJqoXQU25LM6 영상을 참고했습니다. 관련 코드는 https://github.com/patrickloeber/snake-ai-pytorch 를 참고해주세요. 저는 기존 매매 알고리즘으로는 좋은 수익률의 매매 알고리즘이 찾기에는 한계가 있다는 것을 깨닫고 강화학습을 매매 알고리즘에 적용 해야겠다고 마음 먹었습니다. 그러기 위해서는 간단한 게임에 강화학습을 적용시켜본 후, 강화학습의 개념을 먼저 익혀보도록 하겠습니다. 이번 포스팅에서는 강화학습의 개념들을 먼저 소개시켜 드리겠습니다. 강화학습을 적용 시켜 볼 그 게임은 snake 게임 입니다. # 게임 설명 사용자가 방향키로 ..