Reinforcement Learning - jaeaehkim/trading_system_beta GitHub Wiki
ํ์ต์ ๋ถ๋ฅ

- Machine Learning (๊ธฐ๊ณํ์ต)
- ๊ธฐ๊ณ์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฐฐ์ฐ๊ฒ ํ๋ ๊ฒ
- Supervised Learning(์ง๋ํ์ต)
- ํ๋ จ ๋ฐ์ดํฐ(Training Data)๋ก๋ถํฐ ํ๋์ ํจ์๋ฅผ ์ ์ถํด๋ด๊ธฐ ์ํ ๊ธฐ๊ณ ํ์ต์ ํ ๋ฐฉ๋ฒ
- ํ๋์ ํจ์๋ฅผ ์ ์ถํด๋ด๊ธฐ ์ํด ์ ๋ต์ง(Label)๊ฐ ์กด์ฌํด์ผ ํจ.
- ํจ์์ ์ ํจ์ฑ์ ๊ฒ์ฆํ๊ธฐ ์ํด ํ
์คํธ ๋ฐ์ดํฐ(Test Data)๊ฐ ์กด์ฌํ๋ ๊ฒ์ด ๊ด์ต์ .
- ํ๋ จ ๋ฐ์ดํฐ๋ Raw Input์ด ๋ ์๋ ์๊ณ Raw Input์ ๊ฐ๊ณตํ ๋ฐ์ดํฐ -> Feature ๋ฐ์ดํฐ๋ก ๊ตฌ์ฑํ ์๋ ์์
- ์ ๊ฒฝ๋ง ํ์ต(or ๋ฅ๋ฌ๋)๊ณผ ๊ธฐ์กด์ ํต๊ณ์ ๋จธ์ ๋ฌ๋(Logistic, Decision Tree, Random Forest, SVM etc)์ ๋ณธ์ง์ ์ธ ์ฐจ์ด๋ Layer๋ฅผ ์์์ ๋ค์ธต์ ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด ๋ ๋์ ์ธ ํจํด์ ๋ฐ๊ฒฌํ ์ ์๋๋ ์ฌ๋ถ
- ํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก๋ Raw Input๋ง์ผ๋ก๋ feature๋ฅผ ์๋์ผ๋ก ์ถ์ถํ๋ ํ์ต ๋ฐฉ์์ด๋ผ๊ณ ๋ ๋งํ๋ ์ด๋ ์๋ฐํ๋ ์ค๊ณ์ ์ฐจ์ด์ ๊ฐ๊น์
- Unsupervised Learning(๋น์ง๋ํ์ต)
- ํ๋ จ ๋ฐ์ดํฐ๊น์ง ์ง๋ํ์ต๊ณผ ๋์ผํ๋ ์ ๋ต์ง(Label)์ด ์์ด ํ์ตํ๋ ๋ฐฉ๋ฒ๋ก
- ์ฃผ๋ก, ๋ฐ์ดํฐ๊ฐ ์ด๋ป๊ฒ ๊ตฌ์ฑ๋์ด ์๋ ์ง(ํน์ง,๊ตฌ์กฐ)์ ๊ดํ ๋ฌธ์ ๋ฅผ ํ
- Reinforcement Learning(๊ฐํํ์ต)
- ์์ฐจ์ ์์ฌ๊ฒฐ์ ๋ฌธ์ ์์ ๋์ ๋ณด์์ ์ต๋ํ ํ๊ธฐ ์ํด ์ํ์ฐฉ์ค๋ฅผ ํตํด ํ๋์ ๊ต์ ํ๋ ํ์ต ๊ณผ์
- ์์ฐจ์ ์์ฌ๊ฒฐ์ ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ ์ ์ ๋ก ํ๊ธฐ ๋๋ฌธ์ 'ํํธ'์๋ ์ ๋ง๋๋ค.
- ํนํ, ์ ์ ๊ฐ ์์ฐจ์ ์์ฌ๊ฒฐ์ ์ด๊ธฐ ๋๋ฌธ์ non iid์ฌ๋ ์๊ด์๋ค. ML์ iid์ฌ์ผ ํ๊ธฐ ๋๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ ๋ณต์กํ ์ ์ฐจ๊ฐ ํ์ DataStructures
๊ฐํํ์ต์ ๊ตฌ์กฐ

- Architecture
- Agent : ๊ฐํํ์ต์ ์ฃผ์ฒด
- Environment : Agent๋ฅผ ์ ์ธํ ๋ชจ๋ ์์
- Flow : Agent๋ action์ ํ๊ณ action์ ๋ํ ๋ฐ์์ Environment์์ ์ ๊ณตํจ. State & Reward๋ฅผ Agent๋ ์๋ต ๋ฐ์. ํด๋น Loop๋ฅผ ์ผ์ ์ฃผ๊ธฐ(time step)๋ก ๋ฐ๋ณตํจ. ์ด๋ฐ trial & error๋ฅผ ๋ฐ๋ณตํ์ฌ ์ ๋ต์ง(Label, ์ด๋ป๊ฒ)๊ฐ ์์ด ์ต์ ์ action์ ํ ์ ์๋ Agent๊ฐ ๋ ๋๊น์ง ๋ฐ๋ณต.
- Reward ๊ฐ๋
๊ณผ ์ง๋ํ์ต์ Label ๋ฐ์ดํฐ ๊ฐ๋
์ ๊ตฌ๋ณ๋จ.
- vs ์ง๋ํ์ต
- ๋ณด์(Reward) ๊ฐ๋
์์ฒด๊ฐ sparse(ํฌ์) & delay(์ง์ฐ) ๋ ์ ์๋ค๋ ๊ฒ ์์ฒด์์ ์ง๋ํ์ต์ Label ๋ฐ์ดํฐ๋ฅผ ํตํ ํ์ต๊ณผ ๋ณธ์ง์ ์ผ๋ก ๋ค๋ฅด๊ฒ ๋ง๋ฆ.
- ์ง๋ํ์ต์์ ํ๋ จ๋ฐ์ดํฐ์ Label ๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ๋ฅผ '์ง์ & ๋ฐ๋ก' ํจ์๋ก ํํํ๊ธฐ ๋๋ฌธ
- ๊ฐํํ์ต์์ action์ ์๊ฐ์ ํ๋ฆ์ ๋ฐ๋ฅธ ๊ณ ๋ ค ์์ฒด๋ ํ์ต์ ๋์ ์์ ๋ค์ด๊ฐ๋ค๊ณ ๋ณผ ์ ์์
- Quant ๊ด์
-
- ์ง๋ํ์ต์ ํตํด ์ฌ๋ฌ ์ ์ฒ๋ฆฌ ์์
(for iid)์ ํ๋ ๊ณผ์ ๊ณผ ๋ฆฌ์์น๋ฅผ ํตํ feature ์์ฑํ๋ Factory๋ฅผ ๋ง๋๋ ํํธ ์์คํ
-
- ๊ฐํํ์ต์ ํตํด feature(์ฌ์ ์ง์) ์์ด ์ฒ ์ ํ trial & error๋ฅผ ํตํ ๋ค์์ agent๋ฅผ ๋ณด์ ํ ํํธ ์์คํ
- ๋ฌด์กฐ๊ฑด ํ์ชฝ์ด ์ข๋ค๊ณ ๋งํ ์ ์๊ณ ์๋ก๊ฐ ๊ตฌ์กฐ์ ์ผ๋ก ๋ค๋ฅด๊ธฐ์ ๋ค๋ฅธ ํจํด์ ์ฐพ์๋ผ ๊ฐ๋ฅ์ฑ์ ๋๋ค๊ณ ๋ณด๊ธฐ ๋๋ฌธ์ ํํธ ์์คํ
์์ฒด๋ Ensembleํ์ฌ์ผ ํจ.
MDP (Markov Decision Process)
MP (Markov Process)

- MP = (S,P)์ด๊ณ initial state -> terminal state ๊น์ง์ Process์์ P(transition prob matrix)์ ์์ P(transition prob)์ ์ํด์ state ๊ฐ ์ด๋์ด ๊ฒฐ์ ๋๋ค.
Markov Property
- "๋ฏธ๋๋ ์ค๋ก์ง ํ์ฌ ์ํ์ ์ํด ๊ฒฐ์ ๋๋ค"๋ ๋์ ์ ์ ์ํด MP๊ฐ ์ ์๋๋ค.
- ๋ค๋ง, Markov Property๋ ๋ ๊ฐ์ง ๋ฐฉํฅ์ผ๋ก ํ์ฅ๋ ์ ์๋ค. ํ์ฅ์ ํตํด ๋ค์ํ variant version์ด ํ์ํ ์ ์๋ค.
- t์์ ๊ณผ t+1์์ ์ ์ ๋ณด๊ฐ ๊ผญ State์ผ ํ์๋ ์๋ค. (Reward, Action์ผ๋ก๋ ํ์ฅ ๊ฐ๋ฅ > MRP,MDP)
- ๊ผญ t+1๊ณผ t์์ ๊ฐ์ ๊ด๊ณ์ผ ํ์๊ฐ ์๋ค. (t+1 <- (t,t-1,t-2))
MRP (Markov Reward Process)


- MRP = (S,P,R,gamma) ์ด๊ณ S,P์ ์ ์๋ MP์ ๋์ผ
- **R(Reward Function)**์ ์ด๋ค ์ํ S_t์ ๋๋ฌํ์ ๋ ๋ฐ๋ ๋ณด์์ ์๋ฏธํ๊ณ ์ด๋ค ์ํ๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ random variable์ด๊ธฐ์ Expectation์ ํ์ฉํด ํํ๋จ.
- gamma ๋ decay factor์ด๊ณ 0~1์ ๊ฐ์ ๊ฐ์ง๋ค.
- why? 1) ๋ฐ์ฐ์ ๋ฐฉ์งํ๋ ์ํ์ ํธ๋ฆฌ์ฑ, 2) ์๊ฐ ์ ํธ ๋ชจ๋ธ๋ง, 3) ๋ฏธ๋ ๊ฐ์น์ ๋ถํ์ค์ฑ ํฌ์ฌ
- ๊ฐํํ์ต ํ๋ก์ธ์ค๋ฅผ episode๋ผ๊ณ ๋ถ๋ฅด๋ฉฐ ์ด๋ s0, R0, s1, R1 ... sT, RT ๊น์ง์ ์ฌ์ ์ ์๋ฏธํ๋ค. ์ด๋ ์์์ ์์ T์์ ์์ผ๋ก ๋ฐ๋ ๋ณด์์ ํฉ์ ์๋ฏธ์ ์ผ๋ก ์ค์ํ๊ธฐ์ ์ํ์ ์ผ๋ก ๋ค์๊ณผ ๊ฐ์ด ํํํ๋ค. Return G_t๋ก ์ ์ํ๊ณ ์์์ผ๋ก t+1~N์์ ๊น์ง์ sum of gamma*reward๋ผ๊ณ ๋งํ ์ ์๋ค.
- T์์ ์์์ ์ํ๊ฐ ๊ฐ๋ ๊ฐ์น(value)๋ฅผ ์ด๋ป๊ฒ ์ ๋ํ ํ ๊ฒ์ธ๊ฐ? ์ ๋ํ๋ ํํ๋ฅผ **์ํ๊ฐ์นํจ์(state-value function)**๋ก ์ ์ํ๊ณ ์ด๋ St=s์ผ ๋์ Return์ ๊ธฐ๋๊ฐ์ผ๋ก ํํํ๋ค. s๋ถํฐ ์ด๋ค sampling์ ํ์ฌ ์ด๋ค episode๊ฐ ๊ตฌ์ฑ๋๋๋์ ๋ฐ๋ผ return์ ๊ฐ์ด ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์.
MDP (Markov Decision Process)



- MDP = (S,A,P,R,gamma) MRP์ decision ๊ฐ๋
(by action, policy)์ด ์ถ๊ฐ๋์์.
- ์ด์ ์ s->s'์ ์ด๋์ด transition state probability์ ์ํด์๋ง state๊ฐ ๋ณํ๋ค๋ฉด action์ ํตํด์ state๊ฐ ๋ณํ๋ ๊ฒ์ ์ํฅ์ ์ฃผ๋ ํ๋ฅ ์ ๊ณผ์ ์ด ํ๋ ๋ ์ถ๊ฐ๋จ
- policy function(pi function)๋ ๊ฐ ์ํ s์ ๋ฐ๋ผ ์ด๋ค action a๋ฅผ ์ ํํ ํ๋ฅ ์ ์๋ฏธํจ
- MDPํ์์์ state-value function์ s->s' transition ํ ๋ pi์ ๋ฐ๋ผ ์์ง์ธ๋ค๋ ์ ์ ์ ์ธํ๊ณ ๋ ์์์ ์ผ๋ก ๋์ผํ๋ค.
- (state-)action value function์ '๊ฐ ์ํ์์์ ์ก์
์ ํ๊ฐ'ํ๊ธฐ ์ํจ. ์ด๋ action๋ง ๋ฐ๋ก ํ๊ฐ๋ ๋ถ๊ฐ๋ฅํจ.
- V_pi_(s)๋ s์์ pi๊ฐ ์ก์
์ ์ ํํ๊ณ q_pi_(s,a)๋ s์์ ๊ฐ์ ๋ก a๋ฅผ ์ ํํ ์ํ๋ฅผ ์๋ฏธํ๋ค. ์ผ์ข
์ A_t=a ์กฐ๊ฑด๋ถ ์ํ.
For What
- Prediction : pi๊ฐ ์ฃผ์ด์ก์ ๋ ๊ฐ ์ํ์ value๋ฅผ ํ๊ฐํ๋ ๋ฌธ์
- Control : ์ต์ ์ ์ฑ
pi_star๋ฅผ ์ฐพ๋ ๋ฌธ์
Bellman Equation (MDP)
Bellman Expectation Equation
- G_t์ ์ ์์ ๋ฐ๋ผ ์ฌ๊ท์ ์ผ๋ก ํํํ๋ฉด ์์ ์์์ด ๋์ถ๋จ.

- ์์ ์์์ ํ์ฌ ์ํ์ ๋ค์ ์ํ value๋ฅผ expectation์ ํตํด์ ์ฐ๊ฒฐํ ์์ธ ๋ฐ๋ฉด ์์ ์์ ์ค์ ๊ณ์ฐํ๋ ๊ณผ์ ์ ์์ํ
- v_pi_(s) [s์ value]๋ฅผ 1-time-step์์ action a๋ฅผ ์คํํ๊ธฐ ์ ์ ๋ถํดํด๋ณด๋ฉด s์์ a๋ฅผ ์คํํ ํ๋ฅ ๊ณผ s์์ a๋ฅผ ์คํํ๋ ๊ฒ์ value์ ๊ณฑ์ผ๋ก ํํ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ time-step์ ์ ์ฉํ๊ธฐ ์ํด ์งํฉ A์ ๋ํด sum
- q_pi_(s) [s์์ a๋ฅผ ์คํํ๋ ๊ฒ์ value]๋ action a๋ฅผ ํตํด์ ์ป๋ ๋ณด์๊ณผ s์์ a๋ฅผ ํตํด s'๊ฐ ํ๋ฅ ๊ณผ s'์ value๋ฅผ ๊ณฑํ ๊ฒ์ ์ดํ ๋ชจ๋ ์ํ์ ์ ์ฉํ sum์ผ๋ก ํํํ ์ ์๋ค.
- ์์ ์์์ ํตํด ์๋ก ๊ต์ฐจํ์ฌ ๋์
ํ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ ๋๋๋ค.
- ์์ ์์ผ๋ก ํตํด r_s, P_ss'๋ฅผ ์๋ฉด ์ง์ ์ ์ผ๋ก ๊ณ์ฐํ ์ ์์์ ๋ณด์ฌ์ค๋ค.
- matrix form์ผ๋ก ํํํ ์์
Bellman Optimal Equation
- ๋ค๋ฅธ ์ ์ฑ
์ ๋ฐ๋ฅผ ๋ ๋ณด๋ค optimal policy pi star๋ฅผ ๋ฐ๋ฅผ ๋ ์ป๋ ๋ณด์์ ์ด ํฉ์ด ๊ฐ์ฅ ํฌ๋ค๋ ๊ฒ์ ์๋ฏธํ๋ค.
- optimal policy์ ๊ด๋ จํด์๋ partial ordering์ ๊ฐ๋
์ผ๋ก ์๊ฐํด์ผ ํจ.
- ์ฌ๊ธฐ์ ๋ํด ๋ค์๊ณผ ๊ฐ์ ์ ๋ฆฌ๊ฐ ์ฆ๋ช
๋์ด ์์ผ๋ฏ๋ก optimal policy๋ฅผ ์ฐพ๋ ๊ฒ์ ์ฆ๋ช
ํ๋ ๊ฒ์ ์ ๋
ํ ์ ์์.
- policy function์ optimalํ ๊ฒ์ผ๋ก ์ ํด์ก๊ธฐ์ deterministic ํด์ง.
- Bellman Expectation Equation์ pi๋ฅผ ์์ 1 ๊ฐ์ผ๋ก ๊ณ ์ ๋๋ฉด์ ์์ ๊ฐ์ ์์ด ์ ๋๋จ. q์
์ฅ์์ ๋ฌ๋ผ์ง๋ ๊ฒ์ ์์. ์ด๋ฏธ a๊ฐ ๊ฒฐ์ ๋ ์ํ์์์ ์์ด๊ธฐ ๋๋ฌธ์.
- v_(s)๋ ์ ์ ์ฒด์ max a๋ฅผ ์ทจํ๋ค. ์ ์ ์ฒด๊ฐ a์ dependecy๊ฐ ์๊ธฐ ๋๋ฌธ์. q_(s,a)์ ๊ฒฝ์ฐ๋ action a์ ๊ด๋ จํ ๊ฒ์ ์ด๋ฏธ ๊ฒฐ์ ๋ ๊ฒ๋ค์ด๊ณ ๋ค์ ์คํ
์์์ action a'์ ๊ดํด์๋ง max a๋ฅผ ์ทจํ๋ค.
For What
- Bellman Expectation Equation์ ์ ์ฑ
pi๊ฐ ์ฃผ์ด์ ธ ์๊ณ pi๋ฅผ ํํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๊ณ , Bellman Optimal Equation์ ์ต์ ์ value๋ฅผ ์ฐพ๊ณ ์ถ์ ๋ ์ฌ์ฉํจ
- MDP ๋ฌธ์
- model-free :r^a_s์ P^a_ss`๋ฅผ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ experience๋ฅผ ํตํด ํด๊ฒฐ
- model-based : r^a_s์ P^a_ss`๋ฅผ ๋ชจ๋ ์๋ ๊ฒฝ์ฐ
Model-Based (Planning)
Model-Free Prediction
Model-Free Control
Basic of Deep RL
DAVID SILVER, UCL Course on RL