멀티코어는 프로그래머이자 인공지능 전문가입니다. 프로그래머로서 다양한 분야에서 활동했으며 현재는 기업에서 데이터분석과 강화학습을 활용한 비즈니스 환경 개선 업무를 담당하고 있습니다. 인공지능이 학위를 받은 소수의 전문가만을 위한 영역이 아니라 프로그래머도 충분히 도전할 수 있음을 후배들에게 보여주기 위해 부단히 노력하고 있습니다. "프로그래머를 위한 강화학습"을 집필했습니다.
집필 및 자격사항
개발자 답게 코드로 익히는 강화학습 (2025) / 프리렉
딥페이크 모델 분석을 통한 딥페이크 이미지 분류 개선에 대한 고찰 (2024) / 한국융합보안학회
비트코인 선물 자동매매시스템 집필 (2022) / 프리렉
프로그래머를 위한 강화학습 집필 (2021) / 프리렉
멀티플 DOM 트리를 활용한 브라우저 퍼징기법 연구(2017) / 연세대학교
정보시스템 수석감리원 자격증 취득(2015) / 정보시스템감리협회
컴퓨터시스템응용기술사 (2013) / 한국산업인력공단
기업 및 개인 강의 문의 : multicore.it@gmail.com
講義
受講レビュー
- 強化学習オールインワン:基礎、最新アルゴリズム、実務活用まで
- 強化学習オールインワン:基礎、最新アルゴリズム、実務活用まで
- ビットコインアルゴリズムトレーディングボットの開発
投稿
Q&A
자산배분비율 변경 백테스트와 어떻게 다르죠?
안녕하세요 poiuy1709님. 강의를 수강해주셔서 감사합니다. 그리드 서치(Grid Search)와 강화학습(Reinforcement Learning)은 모두 최적의 자산배분 전략을 찾는 데 사용될 수 있지만, 근본적인 접근 방식과 의사결정 과정에서 큰 차이를 보입니다.그리드 서치 방식그리드 서치는 미리 정해진 특정 기간 동안의 자산배분 비율을 고정해두고, 이 비율들을 조합하여 백테스트를 수행합니다. 예를 들어, 주식 50%, 채권 50%의 비율부터 주식 60%, 채권 40% 등 여러 비율을 시뮬레이션해본 뒤, 특정 지표(예: 수익률, 샤프 비율 등)가 가장 높은 조합을 찾아냅니다.강화학습 방식강화학습은 환경(주식, 채권 시장 등)과 상호작용하며 보상(Reward)을 극대화하는 행동(자산배분 비율 조정)을 학습하는 방식입니다. 여기서 핵심은 다음과 같습니다.동적인 의사결정: 그리드 서치처럼 미리 정해진 고정 비율을 찾는 것이 아니라, 시장 상황의 변화에 따라 실시간으로 최적의 자산배분 비율을 결정합니다. 에이전트(Agent)는 매 리밸런싱 시점마다 현재 시장의 상태(State)를 관찰하고, 과거의 경험을 바탕으로 다음 행동(Action)을 결정합니다.보상 기반 학습: 에이전트는 특정 행동을 취했을 때 얻는 보상을 통해 학습합니다. 예를 들어, 시장 상승기에 주식 비중을 늘리는 행동이 높은 수익률(긍정적 보상)로 이어진다면, 에이전트는 그러한 행동을 반복하게 됩니다. 반대로 손실이 발생하면(부정적 보상), 그러한 행동을 피하는 방향으로 학습이 이루어집니다.장기적 목표: 강화학습은 당장의 수익률뿐만 아니라, 장기적인 누적 보상을 최대화하는 것을 목표로 합니다. 따라서 단기적인 변동성에 휘둘리지 않고, 시장의 장기적인 추세나 경향을 고려하여 리밸런싱 비율을 결정하는 경향이 있습니다.강화학습이 가진 의미말씀하신 대로, 강화학습은 리밸런싱 시기마다 자산 등락 경향을 참고하여 다음 최적의 리밸런싱 비율을 구하는 것이 맞습니다. 예를 들어, 강화학습 모델은 과거 데이터를 통해 시장 하락기에 채권 비중을 늘리고, 상승기에 주식 비중을 늘리는 패턴을 스스로 학습할 수 있습니다.요약하면, 그리드 서치가 과거의 정적인 최적값을 찾는다면, 강화학습은 변화하는 시장 상황에 능동적으로 반응하며 실시간으로 최적의 의사결정을 내리는 방법을 학습합니다. 즉, 강화학습 모델은 단순히 과거의 패턴을 찾는 것을 넘어, 시장의 동적인 변화에 적응하는 자율적인 투자 전략을 만들어낼 수 있다는 점에서 큰 의미를 가집니다.감사합니다.
- 0
- 2
- 20
Q&A
명령프롬프트에서 주피터가 실행이 안 됩니다.
안녕하세요, f10ryu님.강의를 수강해주셔서 진심으로 감사합니다.제공해주신 화면 이미지와 오류 메시지를 살펴보니, 현재 발생하고 있는 문제는 Jupyter Notebook 프로그램이 제대로 설치되지 않았거나, 시스템의 환경 설정에 문제가 있을 가능성이 높습니다.우선, 다시 한번 "섹션5. 개발 환경 설정과 기본 개념 -> 9. 개발 환경 설정하기" 강의를 꼼꼼히 살펴보시면서 개발 환경 설정 단계를 다시 진행해 보시는 것을 권해 드립니다.만약 위 강의 내용을 다시 확인하고 진행하셨음에도 문제가 해결되지 않으신다면, 다음 두 가지 명령어를 명령 프롬프트(터미널)에 각각 입력하신 후 나오는 결과 화면을 저에게 보내주시기 바랍니다. 해당 정보를 통해 보다 정확한 원인을 파악하고 해결 방법을 안내해 드릴 수 있을 것 같습니다.python --versionpip list감사합니다.
- 0
- 1
- 28
Q&A
실습강의 소스코드
안녕하세요 Yoonsang Lee님.강의를 수강해주셔서 감사합니다.소스코드 다음 사이트에서 다운로드 받을 수 있습니다.https://github.com/multicore-it/rl감사합니다.
- 0
- 2
- 35
Q&A
소스코드 없어요
안녕하세요, 정법진님.강의를 수강해주셔서 감사합니다.문의하신 코드는 GitHub(https://github.com/multicore-it/RL2/tree/main/%EA%B8%B0%EB%B3%B8%EC%9D%B4%EB%A1%A0) 에 모두 올라와 있는 것을 확인했습니다.혹시 제가 잘못 이해한 부분이 있다면, 다시 질문해주시면 감사하겠습니다.(사진)
- 0
- 2
- 37
Q&A
강화학습, 머신러닝에 관심 있는 웹 개발자입니다. 수학적 난이도 때문에 실무 활용이 고민됩니다.
안녕하세요. 개foot님.강의를 수강해주셔서 감사합니다.강화학습과 수학의 관계에 대해 질문 주시는 개발자분들이 많아, 실무자 관점에서 효과적인 접근법을 정리해 드립니다.1. 수학적 깊이보다 '개념의 이해'가 중요합니다.수학적 이론을 완벽히 증명하는 것보다, 각 요소가 왜 필요하고 어떻게 동작하는지 직관적으로 이해하는 것이 실무에서는 더 중요합니다.개념과 직관 중심의 학습: 수식 자체에 매몰되기보다, '이 개념이 어떤 문제를 해결하는가?'에 집중하는 것이 효과적입니다.프레임워크 활용: 복잡한 미분이나 행렬 연산은 TensorFlow, PyTorch와 같은 프레임워크가 대부분 자동으로 처리해 줍니다.데이터 시각화 및 해석: 수식의 결과가 만들어 내는 그래프의 모양과 그 의미를 읽어내는 능력이 핵심 역량입니다.실험을 통한 감각 습득: 때로는 이론적 배경이 부족하더라도, 주요 파라미터를 직접 바꿔보며 결과의 차이를 몸으로 체득하는 것이 훌륭한 튜닝 전략이 될 수 있습니다.2. 효과적인 학습 전략 및 접근법수학적 개념이 막힐 때는 다음과 같은 방법으로 접근해 보시는 것을 추천합니다.구조적 이해 선행: 텍스트나 수식보다, 전체 시스템의 구조와 데이터 흐름을 도표나 그림으로 먼저 파악하면 큰 도움이 됩니다.이론과 코드의 병행: 이론을 학습한 직후, 반드시 코드로 직접 구현해 보세요. 눈으로 확인하는 것이 가장 빠른 학습법입니다.3. 학습 성취도를 확인하는 방법 (메타인지)본인의 이해도를 확인하고 싶다면, 아래 3가지 기준을 점검해 보세요.전체 프로세스 구현 능력: '환경 설계 → 에이전트 학습 → 전략 튜닝 → 결과 평가'에 이르는 전 과정을 처음부터 끝까지 혼자 힘으로 구현할 수 있는가?결과 분석 및 설명 능력: 학습 과정에서 나온 성능 그래프를 보고, "왜 특정 구간에서 성능이 오르거나 떨어졌는지" 그 원인을 논리적으로 분석하고 설명할 수 있는가?지식의 응용 및 확장 능력: 배운 강화학습 기술을 현재 업무나 전혀 다른 분야(예: 재고관리, 인력 스케줄링 등)의 문제에 적용할 아이디어를 구체적으로 제시할 수 있는가?위와 같은 방법으로 접근하신다면, 수학에 대한 부담을 덜고 강화학습을 실무에 성공적으로 적용하실 수 있을 것입니다.감사합니다.
- 0
- 1
- 55
Q&A
환경구축에 대해서
안녕하세요 안정필님 강의를 수강해주셔서 감사합니다. 아나콘다에서도 별도의 환경을 만들어서 실행이 가능합니다.감사합니다.
- 0
- 2
- 32
Q&A
실습 프로그램 파일 제공 문의
안녕하세요 woomi.smart.00님.강의를 수강해주셔서 감사합니다.실습 파일은 깃허브에서 제공합니다. https://github.com/multicore-it/RL2감사합니다.
- 0
- 1
- 54
Q&A
강의 첨부파일과 강의 내용의 매칭을 부탁드립니다.
안녕하세요 newsac님 강의와 프로그램은 다음과 같이 매칭됩니다.감사합니다. *데이터 수집하기 get_1m_data.ipynb*기술적 지표 프로그래밍 calc_indicators.ipynb *바이낸스 오픈 API binance_future_api.ipynb *알고리즘 튜닝 기법 bayesian.ipynb *거래전략 및 백테스트-추세추종전략 1.1.backtest_trend.ipynb 1.2.bayesian_trend.ipynb 1.3.gridsearch_trend.ipynb 1.4.tunned_trend.ipynb 1.5.robobytes_trend.py *역추세 매매 알고리즘 trading_counter_backtest.ipynb trading_counter_backtest_gridsearch.ipynb trading_counter_backtest_bayesian.ipynb *MACD&StochRSI 알고리즘 3.1.backtest_macd.ipynb 3.2.bayesian_macd.ipynb 3.3.tunned_macd.ipynb 3.4.robobytes_macd.py *볼린저밴드 알고리즘 4.1.backtest_bb.ipynb 4.2.bayesian_bb.ipynb 4.3.tunned_bb.ipynb 4.4.robobytes_bb.py *미사용 코드 2.1.backtest_rev.ipynb 2.2.bayesian_rev.ipynb 2.3.tunned_rev.ipynb 2.4.robobytes_rev.py
- 0
- 1
- 83
Q&A
데이터 수집하기 코드가 강의자료 어디에 있나요?
sogang.jason님 말씀 듣고, 해당 코드를 테스트해봤습니다.정상적으로 실행되는 것을 확인했습니다.강의가 만들어지고, 바이낸스 API에 많은 변화가 있었습니다.그래서 지속적으로 코드를 개정해서 zip 파일에 올려놨습니다.따라서 강의 내용과 첨부한 코드 중 일부가 다를 수 있습니다. 계속 실행이 안되신다면 파이썬 버전(3.7.7)을 확인해보시면 좋겠습니다.좀 더 구체적인 디버깅을 위해서 윈도우 커멘드 창에 "pip list" 명령을 실행해서 결과를 보내주세요.multicore.it@gmail.com감사합니다.
- 0
- 4
- 135
Q&A
데이터 수집하기 코드가 강의자료 어디에 있나요?
안녕하세요 sogang.jason님.강의를 수강해주셔서 감사합니다.프로그램 이름은 강의명에서 유추할 수 있다고 생각해서 별도의 설명을 넣지 않았습니다.sogang.jason님의 소중한 의견을 개정판 강의에 반영하도록 하겠습니다.데이터수집하기: get_1m_data.ipynb기술적 지표 프로그래밍: calc_indicators.ipynb바이낸스 오픈 API: binance_future_api.ipynb감사합니다.
- 0
- 4
- 135