RNN (Recurrent Neural Networks)

์ฐฝ์Šˆยท2025๋…„ 4์›” 5์ผ

Deep Learning

๋ชฉ๋ก ๋ณด๊ธฐ
7/16
post-thumbnail

Document Classification

๐ŸŽฌ IMDB ์˜ํ™” ๋ฆฌ๋ทฐ ๊ฐ์ • ๋ถ„๋ฅ˜ (Sentiment Classification)

  • IMDB ๋ฐ์ดํ„ฐ์…‹์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์˜ํ™” ๋ฆฌ๋ทฐ์™€ ํ‰์ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์„ฑ๋œ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์…‹์ด๋‹ค.
  • ๊ฐ ๋ฆฌ๋ทฐ๋Š” ๊ฐ์ • ๋ ˆ์ด๋ธ”(sentiment label) ์ด ์ง€์ •๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ธ์ •(positive) ๋˜๋Š” ๋ถ€์ •(negative) ์œผ๋กœ ๋‚˜๋‰œ๋‹ค.
  • ์ด ๋ฌธ์ œ๋Š” ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP) ๋ถ„์•ผ์˜ ์ „ํ˜•์ ์ธ ํ…์ŠคํŠธ ๋ถ„๋ฅ˜ ๋ฌธ์ œ๋กœ, ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆซ์ž ๊ธฐ๋ฐ˜์˜ feature๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์ด ํ•ต์‹ฌ์ด๋‹ค.

๋ถ€์ • ๋ฆฌ๋ทฐ ์˜ˆ์‹œ:
"The plot was predictable and the acting was wooden."

๊ธ์ • ๋ฆฌ๋ทฐ ์˜ˆ์‹œ:
"Absolutely loved it. The performances were powerful and moving."


๐Ÿ‘œ Bag-of-Words ๋ชจ๋ธ (ํ…์ŠคํŠธ๋ฅผ ์ˆซ์ž๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•)

  • ๋ฌธ์„œ๋งˆ๋‹ค ๊ธธ์ด๋Š” ๋‹ค๋ฅด๊ณ , ๋‹จ์–ด์˜ ์ˆœ์„œ๋„ ์กด์žฌํ•˜์ง€๋งŒ BoW๋Š” ๋‹จ์–ด์˜ ์กด์žฌ ์—ฌ๋ถ€๋งŒ์„ ๊ณ ๋ คํ•œ๋‹ค.
  • ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋‹จ์–ด 10,000๊ฐœ๋ฅผ ์‚ฌ์ „(dictionary)์œผ๋กœ ์„ ํƒ
  • ๊ฐ ๋ฌธ์„œ๋Š” ๊ธธ์ด 10,000์˜ ์ด์ง„ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ โ†’ ๋‹จ์–ด๊ฐ€ ๋“ฑ์žฅํ•˜๋ฉด ํ•ด๋‹น ์œ„์น˜์— 1 ์•„๋‹ˆ๋ฉด 0
  • ๊ฒฐ๊ณผ์ ์œผ๋กœ, ๋ฌธ์„œ ์ˆ˜๊ฐ€ 25,000์ด๋ฏ€๋กœ 25,000 x 10,000 ํฌ๊ธฐ์˜ ํฌ์†Œ ํ–‰๋ ฌ(sparse matrix) ์ƒ์„ฑ (์‹ค์ œ๋กœ๋Š” 1.3%๋งŒ 0์ด ์•„๋‹˜)

BoW๋Š” ๋ฌธ์„œ๋ฅผ ๋‹จ์–ด๋“ค์˜ ์ง‘ํ•ฉ์œผ๋กœ๋งŒ ์š”์•ฝํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฌธ๋งฅ ์ •๋ณด๋Š” ๋ฐ˜์˜๋˜์ง€ ์•Š๋Š”๋‹ค.
โ†’ ๋‹จ์–ด์˜ ์ˆœ์„œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, "not good"๊ณผ "good"์€ ๋™์ผํ•œ ๊ธ์ •์ ์ธ ์˜๋ฏธ๋กœ ํ•ด์„๋  ์ˆ˜ ์žˆ๋‹ค.

  • Uni-gram: ๋‹จ์–ด ํ•˜๋‚˜ ๋‹จ์œ„ (๊ธฐ๋ณธ BoW ๋ชจ๋ธ)
  • Bi-gram: ์—ฐ์†๋œ ๋‹จ์–ด ์Œ ๊ณ ๋ ค (์˜ˆ: "not good")
  • m-gram: m๊ฐœ์˜ ์—ฐ์†๋œ ๋‹จ์–ด ์กฐํ•ฉ

๐Ÿ†š Lasso ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€ vs. ์ด์ง„ ๋ถ„๋ฅ˜ ์‹ ๊ฒฝ๋ง

Lasso Logistic Regression (glmnet ์‚ฌ์šฉ)
two-hidden layers Neural Network (๊ฐ ์ธต์—๋Š” ReLU ์œ ๋‹› 16๊ฐœ์”ฉ ์กด์žฌ)

๐Ÿ–‡๏ธ ๊ณตํ†ต์ 

  • ํ•™์Šต ์ •ํ™•๋„(training accuracy)๋Š” ๋‘ ๋ชจ๋ธ ๋ชจ๋‘ ํ•™์Šต์ด ์ง„ํ–‰๋จ์— ๋”ฐ๋ผ ๋‹จ์กฐ ์ฆ๊ฐ€(monotonic increase)ํ•œ๋‹ค.
  • ํ•˜์ง€๋งŒ ๊ฒ€์ฆ ์˜ค๋ฅ˜(validation error)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ ์ ˆํ•œ ๋ชจ๋ธ์„ ์„ ํƒํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.
    ๊ณผ์ ํ•ฉ(overfitting)์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด validation set์˜ ์„ฑ๋Šฅ์ด ๋” ์ค‘์š”ํ•จ.

๐Ÿ–‡๏ธ Lasso ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€

  • ๊ฐ„๋‹จํ•œ ์„ ํ˜• ๋ชจ๋ธ์ด์ง€๋งŒ ์„ฑ๋Šฅ์€ ์‹ ๊ฒฝ๋ง ๋ชป์ง€์•Š๋‹ค.
  • ํŠนํžˆ BoW์˜ ํฌ์†Œ ํ–‰๋ ฌ(sparse matrix)์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, glmnet ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•ด ๋งค์šฐ ํšจ์œจ์ ์œผ๋กœ ํ•™์Šต ๊ฐ€๋Šฅํ•˜๋‹ค.
  • ์ด ๋ชจ๋ธ์€ ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๋ฅผ ์ค„์ด๊ณ (feature selection), ํ•ด์„ ๊ฐ€๋Šฅ์„ฑ๋„ ๋†’๋‹ค.

๐Ÿ–‡๏ธ ์ด์ง„ ๋ถ„๋ฅ˜ ์‹ ๊ฒฝ๋ง

  • ๋น„์„ ํ˜• ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€ ๋ชจ๋ธ๋กœ ๋ณผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, Softmax ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํด๋ž˜์Šค ํ™•๋ฅ ์„ ์ถœ๋ ฅํ•œ๋‹ค.
  • ์ถœ๋ ฅ ํ™•๋ฅ  ๊ณ„์‚ฐ ๋ฐฉ์‹ (2-class case):
logโกP(Y=0โˆฃX)P(Y=1โˆฃX)=ฮฒ10โˆ’ฮฒ00+โˆ‘โ„“=1K2(ฮฒ1โ„“โˆ’ฮฒ0โ„“)Aโ„“\log \frac{P(Y=0 \mid X)}{P(Y=1 \mid X)} = \beta_{10} - \beta_{00} + \sum_{\ell=1}^{K^2} (\beta_{1\ell} - \beta_{0\ell}) A_\ell
  • ์—ฌ๊ธฐ์„œ ๐ดโ„“ ์€ ์€๋‹‰์ธต์˜ ํ™œ์„ฑํ™” ๊ฐ’๋“ค์ด๋‹ค.
  • ํ‘œํ˜„๋ ฅ์€ ๋†’์ง€๋งŒ, ์ด ์˜ˆ์ œ์—์„œ๋Š” ๋‹จ์ˆœํ•œ Lasso ๋ชจ๋ธ๊ณผ ๋น„์Šทํ•œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์ค€๋‹ค.

โ€ผ๏ธ ๋ณต์žกํ•œ ์‹ ๊ฒฝ๋ง ๋ชจ๋ธ์ด ํ•ญ์ƒ ๋” ๋‚˜์€ ๊ฑด ์•„๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋‹จ์ˆœํ•˜๊ณ  ํฌ์†Œํ•  ๋•Œ๋Š”,
Lasso ๊ฐ™์€ ์„ ํ˜• ๋ชจ๋ธ๋„ ์ถฉ๋ถ„ํžˆ ์ข‹์€ ์„ฑ๋Šฅ์„ ๋‚ผ ์ˆ˜ ์žˆ๋‹ค.


Recurrent Neural Networks (RNN)

โœ… ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ ๋ชจ๋ธ, RNN

ํ˜„์‹ค ์„ธ๊ณ„์˜ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋Š” ์‹œํ€€์Šค(sequence) ํ˜•ํƒœ๋กœ ์กด์žฌํ•œ๋‹ค. ์ด ์‹œํ€€์Šค ๊ตฌ์กฐ๋Š” ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜์—ดํ•œ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ˆœ์„œ ์ž์ฒด๊ฐ€ ์˜๋ฏธ๋ฅผ ๊ฐ–๋Š”๋‹ค.

๐Ÿ–‡๏ธ ์‹œํ€€์Šค ๋ฐ์ดํ„ฐ์˜ ์˜ˆ์‹œ

  • ๋ฌธ์„œ: ๋‹จ์–ด๋“ค์ด ์ˆœ์ฐจ์ ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ์ˆœ์„œ์— ๋”ฐ๋ผ ์˜๋ฏธ๊ฐ€ ๋‹ฌ๋ผ์ง
  • ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ: ๋‚ ์”จ, ์ฃผ์‹ ์ง€์ˆ˜, ์„ผ์„œ ๋ฐ์ดํ„ฐ ๋“ฑ ์‹œ๊ฐ„ ํ๋ฆ„์— ๋”ฐ๋ผ ๊ธฐ๋ก
  • ์Œ์„ฑ/์Œ์•…: ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ณ€ํ™”ํ•˜๋Š” ์—ฐ์† ์‹ ํ˜ธ
  • ํ•„๊ธฐ์ฒด: ์†๊ธ€์”จ๋Š” ๊ธ€์ž ์ˆœ์„œ์™€ ์„ ์˜ ํ๋ฆ„์ด ์ค‘์š” (์˜ˆ: ์˜์‚ฌ ์ฒ˜๋ฐฉ์ „)

์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ๋ชจ๋ธ์ด ๋ฐ”๋กœ RNN (Recurrent Neural Network) ์ด๋‹ค.

๐Ÿ–‡๏ธ RNN์˜ ํ•ต์‹ฌ ์•„์ด๋””์–ด

  • ์‹œํ€€์Šค์˜ ์ด์ „ ์ •๋ณด๋ฅผ ๊ธฐ์–ตํ•˜๋ฉด์„œ ๋‹ค์Œ ์ถœ๋ ฅ์„ ์˜ˆ์ธก

  • ์ž…๋ ฅ X={X1,X2,โ€ฆ,XL}X = \{ X_1, X_2, \dots, X_L \}๋Š” ๋ฒกํ„ฐ๋“ค์˜ ์ˆœ์„œ๋กœ ๊ตฌ์„ฑ๋จ
    (์˜ˆ: IMDB ๋ฆฌ๋ทฐ์—์„œ๋Š” XlX_l์ด ํ•œ ๋‹จ์–ด, ์ „์ฒด XX๋Š” ํ•˜๋‚˜์˜ ๋ฆฌ๋ทฐ ๋ฌธ์„œ๋ฅผ ์˜๋ฏธ)

  • ์ถœ๋ ฅ YY๋Š” ๋ณดํ†ต ๋‹จ์ผ ๊ฐ’ (์˜ˆ: ๊ฐ์ • ๋ ˆ์ด๋ธ”) ํ˜น์€ ๋‹ค์ค‘ ํด๋ž˜์Šค(one-hot ๋ฒกํ„ฐ)

ํ•˜์ง€๋งŒ ๋” ๋ณต์žกํ•œ ๊ฒฝ์šฐ์—๋Š” ์ถœ๋ ฅ๋„ ์‹œํ€€์Šค๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค:

  • ์˜ˆ: ๊ธฐ๊ณ„ ๋ฒˆ์—ญ (์ž…๋ ฅ: ์˜์–ด ๋ฌธ์žฅ, ์ถœ๋ ฅ: ๊ฐ™์€ ๋ฌธ์žฅ์˜ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ)

  • ์ด ๊ฒฝ์šฐ, RNN์€ ์ž…๋ ฅ ์‹œํ€€์Šค๋ฅผ ์ฒ˜๋ฆฌํ•ด ๋ฌธ๋งฅ์„ ์š”์•ฝํ•˜๊ณ , ๊ทธ ์š”์•ฝ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ถœ๋ ฅ ์‹œํ€€์Šค๋ฅผ ์ƒ์„ฑ

RNN์€ ์ˆœ์„œ๋ฅผ ์ธ์‹ํ•˜๋Š” ์‹ ๊ฒฝ๋ง์ด๋‹ค.
๊ณผ๊ฑฐ ์ •๋ณด๋ฅผ ์ถ•์ ํ•ด ํ˜„์žฌ์˜ ๊ฒฐ์ •์„ ๋•๊ณ , ํ•„์š”์— ๋”ฐ๋ผ ์ถœ๋ ฅ๋„ ์‹œํ€€์Šค๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.


โœ… ๊ธฐ๋ณธ RNN ๊ตฌ์กฐ

RNN(Recurrent Neural Network)์˜ ํ•ต์‹ฌ์€ ์ž…๋ ฅ ์‹œํ€€์Šค๋ฅผ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ํ•˜๋‚˜์”ฉ ์ฒ˜๋ฆฌํ•˜๋ฉฐ, ๊ณผ๊ฑฐ ์ •๋ณด๋ฅผ ๋ˆ„์ ํ•˜๋Š” ๊ตฌ์กฐ์ด๋‹ค.

๐Ÿ–‡๏ธ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ

  • ์ž…๋ ฅ ์‹œํ€€์Šค:

    X={X1,X2,โ€ฆ,XL}X = \{ X_1, X_2, \dots, X_L \}

    ์—ฌ๊ธฐ์„œ LL์€ ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜์ฒ˜๋Ÿผ ์‹œํ€€์Šค ๊ธธ์ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

  • ์ถœ๋ ฅ:
    ๋ณดํ†ต ํ•˜๋‚˜์˜ ๋‹จ์ˆœํ•œ ์ถœ๋ ฅ YY (์˜ˆ: ๊ฐ์ • ๋ถ„๋ฅ˜, ๋‹ค์Œ ๋‹จ์–ด ์˜ˆ์ธก ๋“ฑ)์„ ์ƒ์„ฑ

๐Ÿ–‡๏ธ ์€๋‹‰์ธต (Hidden States)

  • ๊ฐ ์‹œ์  ll์—์„œ์˜ ์€๋‹‰์ƒํƒœ AlA_l์€ ๋‹ค์Œ์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๋Š”๋‹ค:

    • ํ˜„์žฌ ์ž…๋ ฅ XlX_l
    • ์ง์ „ ์€๋‹‰ ์ƒํƒœ Alโˆ’1A_{l-1}
  • ์ฆ‰, ์€๋‹‰ ์ƒํƒœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐ๋œ๋‹ค.

    Al=f(WXl+UAlโˆ’1+B)A_l = f(W X_l + U A_{l-1} + B)
    • W,U,BW,U,B๋Š” ๊ฐ๊ฐ ์ž…๋ ฅ ๊ฐ€์ค‘์น˜, ์ด์ „ ์ƒํƒœ ๊ฐ€์ค‘์น˜, ํŽธํ–ฅ
    • ๋ชจ๋“  ์‹œ์ ์—์„œ ๊ฐ™์€ ๊ฐ€์ค‘์น˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— "recurrent"๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค
    • ff๋Š” tanh ๋˜๋Š” ReLU ๊ฐ™์€ ๋น„์„ ํ˜• ํ™œ์„ฑํ™” ํ•จ์ˆ˜
  • ๊ฐ ์€๋‹‰ ์ƒํƒœ AlA_l๋Š” ๋˜ ํ•˜๋‚˜์˜ ์ถœ๋ ฅ OlO_l์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค (ํ•„์š”์— ๋”ฐ๋ผ)

RNN์€ ํ•˜๋‚˜์˜ ์ž…๋ ฅ๋งŒ ๋ณด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ด์ „์˜ ๋ชจ๋“  ์ž…๋ ฅ๋“ค์„ ๊ธฐ์–ตํ•œ ์ƒํƒœ์—์„œ ๋‹ค์Œ ์ถœ๋ ฅ์„ ๊ฒฐ์ •ํ•œ๋‹ค.
์ด๊ฒŒ ๋ฐ”๋กœ ๋‹จ์ˆœํ•œ Feedforward ์‹ ๊ฒฝ๋ง๊ณผ์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์ด๋‹ค.


โ“ RNN ์ž‘๋™ ๋ฐฉ์‹ _in Detail

๐Ÿ–‡๏ธ ์ž…๋ ฅ๊ณผ ์€๋‹‰ ์ƒํƒœ

  • ํ•˜๋‚˜์˜ ์‹œ์  ll์—์„œ ์ž…๋ ฅ ๋ฒกํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑ๋œ๋‹ค:

    Xl=(Xl1,Xl2,โ€ฆ,Xlp)(์˜ˆ:ย ๋‹จ์–ด์˜ย one-hotย ์ธ์ฝ”๋”ฉ,ย p=10,000)X_l = (X_{l1}, X_{l2}, \dots, X_{lp}) \quad \text{(์˜ˆ: ๋‹จ์–ด์˜ one-hot ์ธ์ฝ”๋”ฉ, } p = 10{,}000\text{)}
  • ์€๋‹‰ ์ƒํƒœ ๋ฒกํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

    Al=(Al1,Al2,โ€ฆ,AlK)(์€๋‹‰ย ์œ ๋‹›ย ๊ฐœ์ˆ˜:ย K)A_l = (A_{l1}, A_{l2}, \dots, A_{lK}) \quad \text{(์€๋‹‰ ์œ ๋‹› ๊ฐœ์ˆ˜: } K \text{)}

๐Ÿ–‡๏ธ ์€๋‹‰ ์œ ๋‹› ๊ณ„์‚ฐ

  • ์€๋‹‰์ธต์˜ ๊ฐ ์œ ๋‹› kk์— ๋Œ€ํ•œ ๊ณ„์‚ฐ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:

    Alk=g(wk0+โˆ‘j=1pwkjXlj+โˆ‘s=1KuksAlโˆ’1,s)A_{lk} = g\left( w_{k0} + \sum_{j=1}^{p} w_{kj} X_{lj} + \sum_{s=1}^{K} u_{ks} A_{l-1, s} \right)
    • gg: ํ™œ์„ฑํ™” ํ•จ์ˆ˜ (๋ณดํ†ต tanh ๋˜๋Š” ReLU)
    • wkjw_{kj}: ์ž…๋ ฅ์ธต ๊ฐ€์ค‘์น˜ โ†’ WW๋Š” Kร—(p+1)K ร— (p+1) ํฌ๊ธฐ์˜ ํ–‰๋ ฌ
    • uksu_{ks}: ์ด์ „ ์€๋‹‰ ์ƒํƒœ๋กœ๋ถ€ํ„ฐ์˜ ๊ฐ€์ค‘์น˜ โ†’ UU๋Š” Kร—KK ร— K ํ–‰๋ ฌ
    • wk0w_{k0}: ๋ฐ”์ด์–ด์Šค(bias) ํ•ญ

ํ˜„์žฌ ์ž…๋ ฅ XlX_l๊ณผ ๋ฐ”๋กœ ์ง์ „ ์€๋‹‰ ์ƒํƒœ Alโˆ’1A_{l-1}๋ฅผ ํ•ฉ์ณ์„œ ์ƒˆ๋กœ์šด ์€๋‹‰ ์ƒํƒœ AlA_l์„ ๋งŒ๋“ ๋‹ค.

๐Ÿ–‡๏ธ ์ถœ๋ ฅ ๊ณ„์‚ฐ

  • ์ถœ๋ ฅ๊ฐ’ OlO_l์€ ์€๋‹‰ ์ƒํƒœ์˜ ์„ ํ˜• ๊ฒฐํ•ฉ์œผ๋กœ ๊ณ„์‚ฐ๋œ๋‹ค:
    Ol=ฮฒ0+โˆ‘k=1KฮฒkAlkO_l = \beta_0 + \sum_{k=1}^{K} \beta_k A_{lk}
    • ์—ฌ๊ธฐ์„œฮฒ0,ฮฒ1,โ€ฆ,ฮฒK\beta_0, \beta_1, \dots, \beta_K๋Š” ์ถœ๋ ฅ์ธต์˜ ๊ฐ€์ค‘์น˜
    • ์ „์ฒด ฮฒ\beta๋Š” K+1K + 1์ฐจ ๋ฒกํ„ฐ
  • ์‹ค์ œ๋กœ๋Š” ๋งˆ์ง€๋ง‰ ์ง€์  LL์—์„œ์˜ ์ถœ๋ ฅ OLO_L๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. (โ†’ ์ „์ฒด ๋ฌธ์„œ๋ฅผ ์ฝ์€ ํ›„ ๊ฐ์ •์„ ๋ถ„๋ฅ˜)

๐Ÿ–‡๏ธ ์†์‹คํ•จ์ˆ˜ (Loss)

  • nn๊ฐœ์˜ ์‹œํ€€์Šค-์ •๋‹ต ์Œ์ด ์žˆ์„ ๋•Œ, ํ‰๊ท  ์ œ๊ณฑ ์˜ค์ฐจ (Squared Error Loss) ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค:
    โˆ‘i=1n(yiโˆ’OiL)2=โˆ‘i=1n[yiโˆ’(ฮฒ0+โˆ‘k=1Kฮฒkโ‹…g(wk0+โˆ‘j=1pwkjxiLj+โˆ‘s=1Kuksai,Lโˆ’1,s))]2\sum_{i=1}^{n} (y_i - O_{iL})^2 = \sum_{i=1}^{n} \left[ y_i - \left( \beta_0 + \sum_{k=1}^{K} \beta_k \cdot g\left( w_{k0} + \sum_{j=1}^{p} w_{kj} x_{iLj} + \sum_{s=1}^{K} u_{ks} a_{i, L-1, s} \right) \right) \right]^2

์ฆ‰, ๋งˆ์ง€๋ง‰ ์€๋‹‰ ์ƒํƒœ ALAL๊นŒ์ง€ ์ˆœ์ฐจ์ ์œผ๋กœ ์ •๋ณด๋ฅผ ํ†ตํ•ฉํ•œ ํ›„, ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถœ๋ ฅ OLOL์„ ๋งŒ๋“ค๊ณ ,
๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ์‹ค์ œ ์ •๋‹ต yy์™€ ์–ผ๋งˆ๋‚˜ ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜๊ฒŒ ๋œ๋‹ค.


โ‰๏ธ ํ…์ŠคํŠธ๋ฅผ RNN์— ๋„ฃ๋Š” ๋ฒ•: ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ ์‚ฌ์šฉํ•˜๊ธฐ

๋ฌธ์„œ๋‚˜ ๋ฌธ์žฅ์€ ๋‹จ์–ด๋“ค์˜ ์‹œํ€€์Šค๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
RNN์— ์ด๋Ÿฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ์ˆซ์ž ๋ฒกํ„ฐ ํ˜•ํƒœ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค.

๐Ÿ–‡๏ธ ๋ฌธ์„œ ๊ธธ์ด ๋งž์ถ”๊ธฐ

  • ๋ฌธ์„œ๋งˆ๋‹ค ๋‹จ์–ด ๊ฐœ์ˆ˜๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์—, ์ผ์ •ํ•œ ๊ธธ์ด LL๋กœ ๋งž์ถฐ์ฃผ๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.
    • ๋„ˆ๋ฌด ๊ธด ๋ฌธ์„œ๋Š” ์ž๋ฅด๊ณ (truncate)
    • ๋„ˆ๋ฌด ์งง์€ ๋ฌธ์„œ๋Š” 0์œผ๋กœ ์ฑ„์šด๋‹ค(pad)

๐Ÿ–‡๏ธ ๋‹จ์–ด ํ‘œํ˜„: ์›-ํ•ซ ์ธ์ฝ”๋”ฉ์˜ ํ•œ๊ณ„

  • ๊ฐ ๋‹จ์–ด WlW_l๋Š” ์›-ํ•ซ ๋ฒกํ„ฐ XlX_l๋กœ ํ‘œํ˜„๋œ๋‹ค.
    • ๊ธธ์ด: 10,000 (์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ๋‹จ์–ด 1๋งŒ ๊ฐœ ๊ธฐ์ค€)
    • ํ•ด๋‹น ๋‹จ์–ด ์œ„์น˜๋งŒ 1์ด๊ณ , ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ 0
  • โ†’ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋งค์šฐ ํฌ์†Œํ•œ(sparse) ๋ฒกํ„ฐ๊ฐ€ ๋œ๋‹ค.
    • ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์ด 0์ด๋ผ์„œ ๊ณ„์‚ฐ ๋น„ํšจ์œจ์ ์ด๊ณ , ์˜๋ฏธ ์ •๋ณด๋„ ์—†์Œ

๐Ÿ–‡๏ธ ์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์˜ ๋“ฑ์žฅ

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด, ์šฐ๋ฆฌ๋Š” ๋ฏธ๋ฆฌ ํ•™์Šต๋œ ๋‹จ์–ด ์ž„๋ฒ ๋”ฉ(embedding) ์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • ์›-ํ•ซ ๋ฒกํ„ฐ๋ฅผ ๊ณง๋ฐ”๋กœ ์“ฐ์ง€ ์•Š๊ณ , ์ž„๋ฒ ๋”ฉ ํ–‰๋ ฌ EE ์— ๋งคํ•‘ํ•œ๋‹ค.
  • ์ด ํ–‰๋ ฌ์€ ๋งค์šฐ ํฐ ๋ง๋ญ‰์น˜(corpus) ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉฐ, ๋‹จ์–ด ๊ฐ„์˜ ์˜๋ฏธ์  ๊ด€๊ณ„๋ฅผ ์ž˜ ๋ฐ˜์˜ํ•˜๋„๋ก ํ•™์Šต๋˜์—ˆ๋‹ค.

๐Ÿ–‡๏ธ PCA์™€์˜ ์—ฐ๊ฒฐ

์ด๋Ÿฌํ•œ ์ž„๋ฒ ๋”ฉ ํ–‰๋ ฌ์€ ๋•Œ๋•Œ๋กœ PCA(Principal Component Analysis, ์ฃผ์„ฑ๋ถ„ ๋ถ„์„) ๋ฅผ ์‘์šฉํ•œ ๋ฐฉ์‹์œผ๋กœ ์ƒ์„ฑ๋˜๊ธฐ๋„ ํ•œ๋‹ค.

  • PCA๋Š” ๊ณ ์ฐจ์› ๋ฐ์ดํ„ฐ๋ฅผ ์ €์ฐจ์› ๊ณต๊ฐ„์— ์˜๋ฏธ ์žˆ๊ฒŒ ์••์ถ•ํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.
  • ๋‹จ์–ด ๊ฐ„์˜ ๊ณต๋™ ๋“ฑ์žฅ ํŒจํ„ด(co-occurrence) ์„ ๋ถ„์„ํ•˜์—ฌ, ๊ณ ์ฐจ์›์˜ ๋‹จ์–ด ๊ณต๊ฐ„์„ ์˜๋ฏธ ๊ธฐ๋ฐ˜์˜ ์ €์ฐจ์› ๊ณต๊ฐ„์œผ๋กœ ์ค„์—ฌ์ค€๋‹ค.
    ex) 10,000์ฐจ์›์ด๋˜ ์›-ํ•ซ ๋ฒกํ„ฐ๊ฐ€ ์‹ค์ˆ˜(real number) ๋ฒกํ„ฐ๋กœ ์ˆ˜๋ฐฑ ์ฐจ์›(m โ‰ช 10,000) ์ •๋„๋กœ ์ค„์–ด๋“ ๋‹ค (๋ณดํ†ต m=100โˆผ300m=100โˆผ300)

์›Œ๋“œ ์ž„๋ฒ ๋”ฉ์€ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์ด๊ณ  ์˜๋ฏธ ์žˆ๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด ์ฃผ๋ฉฐ, PCA์™€ ๊ฐ™์€ ์ฐจ์› ์ถ•์†Œ ๊ธฐ๋ฒ•์˜ ์•„์ด๋””์–ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค๋Š” ์ ์—์„œ ๋‹จ์ˆœํ•œ ์ธ์ฝ”๋”ฉ ๊ทธ ์ด์ƒ์„ ์ œ๊ณตํ•œ๋‹ค.


๐ŸŽž๏ธ RNN์—์„œ LSTM์œผ๋กœ: ์„ฑ๋Šฅ์˜ ์ง„ํ™”

๊ธฐ์กด์˜ ๊ธฐ๋ณธ RNN ๊ตฌ์กฐ๋กœ IMDB ์˜ํ™” ๋ฆฌ๋ทฐ ๊ฐ์ • ๋ถ„๋ฅ˜๋ฅผ ํ•™์Šตํ•œ ๊ฒฐ๊ณผ๋Š”โ€ฆ

์ •ํ™•๋„: 76%

๋งŽ์€ ๊ณต์„ ๋“ค์˜€์ง€๋งŒ ๊ธฐ๋Œ€์— ๋ชป ๋ฏธ์น˜๋Š” ์„ฑ๋Šฅ์ด์—ˆ๋‹ค. ๊ทธ ์ด์œ ๋Š”?

  • ๊ธฐ๋ณธ RNN์€ ์žฅ๊ธฐ ์˜์กด์„ฑ ๋ฌธ์ œ(long-term dependency) ๋ฅผ ์ž˜ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•จ
  • ๊ณผ๊ฑฐ ์ •๋ณด๊ฐ€ ์‹œ๊ฐ„์ด ํ๋ฅด๋ฉฐ ๊ธฐ์šธ๊ธฐ ์†Œ์‹ค(gradient vanishing)๋กœ ์ธํ•ด ์‚ฌ๋ผ์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ

๐Ÿ–‡๏ธ LSTM ๋“ฑ์žฅ

๋ณด๋‹ค ๋ฐœ์ „๋œ RNN ๊ตฌ์กฐ์ธ LSTM (Long Short-Term Memory) ๋„คํŠธ์›Œํฌ๋ฅผ ์ ์šฉํ•œ๋‹ค.

  • ๊ธฐ์กด ์€๋‹‰ ์ƒํƒœ Alโˆ’1A_{l-1}๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์žฅ๊ธฐ ๊ธฐ์–ต์„ ์œ„ํ•œ ๋ณ„๋„์˜ ๊ฒฝ๋กœ(long-term memory) ๋„ ์ถ”๊ฐ€๋จ
  • LSTM์€ ์ •๋ณด๊ฐ€ ์–ธ์ œ ์ €์žฅ๋˜๊ณ , ๋ฒ„๋ ค์ง€๊ณ , ์ถœ๋ ฅ๋ ์ง€๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ฒŒ์ดํŠธ(gate) ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•จ

LSTM์€ ์ค‘์š”ํ•œ ์ •๋ณด๋Š” ์˜ค๋ž˜ ๊ธฐ์–ตํ•˜๊ณ , ๋ถˆํ•„์š”ํ•œ ์ •๋ณด๋Š” ๋นจ๋ฆฌ ์ง€์›Œ์„œ, ๋” ๋˜‘๋˜‘ํ•˜๊ฒŒ ๋ฌธ๋งฅ์„ ์œ ์ง€ํ•œ๋‹ค!

๐Ÿ–‡๏ธ LSTM ์„ฑ๋Šฅ

์ •ํ™•๋„: 87%

  • ๊ธฐ์กด RNN(76%)์— ๋น„ํ•ด ํ›จ์”ฌ ์ข‹๊ณ , ์‹ฌ์ง€์–ด Lasso ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€(glmnet) ๋ชจ๋ธ(88%)๊ณผ ๊ฑฐ์˜ ๋น„์Šทํ•œ ์ˆ˜์ค€์ด๋‹ค.

IMDB ๋ฐ์ดํ„ฐ๋Š” ์˜ค๋žซ๋™์•ˆ ์‹ ๊ฒฝ๋ง ๊ตฌ์กฐ ์„ฑ๋Šฅ์„ ๋น„๊ตํ•˜๋Š” ๋ฒค์น˜๋งˆํฌ๋กœ ์‚ฌ์šฉ๋˜์–ด ์™”๋‹ค.
2020๋…„ ๊ธฐ์ค€์œผ๋กœ๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ชจ๋ธ์ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋‹ค:

SOTA ์ •ํ™•๋„: ์•ฝ 95%


Time Series Forecasting

๐Ÿ–‡๏ธ ์‹œ๊ณ„์—ด ์˜ˆ์ธก: ๋‰ด์š• ์ฆ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ์‹ค์ „ ์˜ˆ์ œ

๋ฐ์ดํ„ฐ์…‹ ์†Œ๊ฐœ: NYSE (New York Stock Exchange)

  • ๊ธฐ๊ฐ„: 1962๋…„ 12์›” 3์ผ ~ 1986๋…„ 12์›” 31์ผ
  • ์ด 6,051๊ฐœ์˜ ๊ฑฐ๋ž˜์ผ ๋ฐ์ดํ„ฐ
  • ํ•˜๋ฃจ ๋‹จ์œ„๋กœ ๊ธฐ๋ก๋œ 3๊ฐ€์ง€ ์‹œ๊ณ„์—ด ๋ณ€์ˆ˜:
  1. Log ๊ฑฐ๋ž˜๋Ÿ‰ (Log Trading Volume)
    • ๋‹น์ผ ๊ฑฐ๋ž˜๋Ÿ‰์„ ์ตœ๊ทผ 100์ผ ํ‰๊ท  ๊ฑฐ๋ž˜๋Ÿ‰๊ณผ ๋น„๊ตํ•œ ๋น„์œจ
    • ๋กœ๊ทธ ์Šค์ผ€์ผ๋กœ ํ‘œํ˜„
  2. ๋‹ค์šฐ์กด์Šค ์ˆ˜์ต๋ฅ  (Dow Jones Return)
    • ๋‘ ์—ฐ์†๋œ ๊ฑฐ๋ž˜์ผ์˜ ์ง€์ˆ˜ ๋กœ๊ทธ ์ฐจ์ด
    • ์ˆ˜์ต๋ฅ ์˜ ์ผ๊ฐ„ ๋ณ€ํ™”๋Ÿ‰
  3. Log ๋ณ€๋™์„ฑ (Log Volatility)
  • ๋‹น์ผ ๊ฐ€๊ฒฉ ๋ณ€๋™ํญ์˜ ์ ˆ๋Œ“๊ฐ’ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ณ„์‚ฐ
  • ๋กœ๊ทธ ์Šค์ผ€์ผ ์‚ฌ์šฉ

๐Ÿ–‡๏ธ ๋ฌธ์ œ ์ •์˜

๋ชฉํ‘œ: ๋‹ค์Œ ๋‚ ์˜ Log ๊ฑฐ๋ž˜๋Ÿ‰์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ

  • ์ž…๋ ฅ:

    • ์˜ค๋Š˜๊นŒ์ง€์˜ Log ๊ฑฐ๋ž˜๋Ÿ‰ ์‹œํ€€์Šค
    • ์˜ค๋Š˜๊นŒ์ง€์˜ ๋‹ค์šฐ์กด์Šค ์ˆ˜์ต๋ฅ 
    • ์˜ค๋Š˜๊นŒ์ง€์˜ Log ๋ณ€๋™์„ฑ
  • ์ถœ๋ ฅ:

    • ๋‚ด์ผ์˜ ๊ฑฐ๋ž˜๋Ÿ‰ (log scale) ์˜ˆ์ธก๊ฐ’

๐Ÿ–‡๏ธ ์ด ์˜ˆ์ œ์˜ ํŠน์ง•

  • ๋‹จ์–ด ์‹œํ€€์Šค ๋Œ€์‹  ์ˆ˜์น˜ํ˜• ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ
  • ๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฏธ๋ž˜๋ฅผ ์„ค๋ช…ํ•œ๋‹ค๋Š” ์‹œ๊ณ„์—ด์˜ ๊ธฐ๋ณธ ๊ฐ€์ •์— ๊ธฐ๋ฐ˜
  • RNN, LSTM ๊ฐ™์€ ๋ชจ๋ธ์„ ์ ์šฉํ•ด, ์‹œ๊ฐ„์— ๋”ฐ๋ฅธ ํŒจํ„ด์„ ํ•™์Šตํ•  ์ˆ˜ ์žˆ์Œ

์ž์—ฐ์–ด ์ฒ˜๋ฆฌ์—์„œ ๋ฌธ์žฅ์ด ์ž…๋ ฅ์ด์—ˆ๋‹ค๋ฉด,
์‹œ๊ณ„์—ด ๋ฌธ์ œ์—์„œ๋Š” ์ˆซ์ž ํ๋ฆ„ ์ž์ฒด๊ฐ€ ๋ชจ๋ธ์˜ ์ž…๋ ฅ์ด ๋œ๋‹ค!

[๊ณผ๊ฑฐ๋กœ ๊ฐˆ์ˆ˜๋ก Correlation์ด ๋–จ์–ด์ง€๋Š” ๊ตฌ์กฐ]

์‹œ์ฐจ ll์—์„œ์˜ ์ž๊ธฐ์‚ฌ์˜ค๊ฐ„์€ ll์ผ ๊ฐ„๊ฒฉ์„ ๋‘” ๊ฐ’ ์Œ (vt,vtโˆ’l)(v_t, v_{t-l}) ์‚ฌ์ด์˜ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
์ด๋Ÿฌํ•œ ์œ ์˜๋ฏธํ•œ ์ž๊ธฐ์ƒ๊ด€์€ ๊ณผ๊ฑฐ ๊ฐ’๋“ค์ด ๋ฏธ๋ž˜ ์˜ˆ์ธก์— ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์‹ ๋ขฐ๋ฅผ ์ค€๋‹ค.
์ด ์˜ˆ์ธก ๋ฌธ์ œ์˜ ํฅ๋ฏธ๋กœ์šด ์ ์€, ์˜ˆ์ธกํ•˜๋ ค๋Š” ๊ฐ’ vtv_t ์ž์ฒด๊ฐ€ ๊ณผ๊ฑฐ ์‹œ์ ์—์„œ๋Š” ์ž…๋ ฅ ํŠน์„ฑ์œผ๋กœ๋„ ์‚ฌ์šฉ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.


RNN Forecaster

๐Ÿ•ฐ๏ธ ๋‹จ์ผ ์‹œ๊ณ„์—ด๋กœ RNN ํ•™์Šต์‹œํ‚ค๊ธฐ

IMDB์ฒ˜๋Ÿผ ์ˆ˜๋งŒ ๊ฐœ์˜ ๋ฆฌ๋ทฐ๊ฐ€ ์žˆ๋Š” ๊ฒŒ ์•„๋‹ˆ๋ผ, ํ•˜๋‚˜์˜ ๊ธด ์‹œ๊ณ„์—ด๋งŒ ์žˆ์„ ๋• RNN์„ ์–ด๋–ป๊ฒŒ ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ์„๊นŒ?

๐Ÿ–‡๏ธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: ๋ฏธ๋‹ˆ ์‹œํ€€์Šค ์ถ”์ถœ

  • ์ „์ฒด ์‹œ๊ณ„์—ด์—์„œ ์งง์€ ๊ตฌ๊ฐ„์˜ ์‹œํ€€์Šค(micro-series) ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ž˜๋ผ๋‚ธ๋‹ค.
  • ๊ฐ ์‹œํ€€์Šค์˜ ๊ธธ์ด LL์„ lag๋ผ๊ณ  ๋ถ€๋ฅด๋ฉฐ, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ž…๋ ฅ ์‹œํ€€์Šค๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค:
    X1=[vtโˆ’Lrtโˆ’Lztโˆ’L],X2=[vtโˆ’L+1rtโˆ’L+1ztโˆ’L+1],โ€ฆ,XL=[vtโˆ’1rtโˆ’1ztโˆ’1]X_1 = \begin{bmatrix} v_{t-L} \\ r_{t-L} \\ z_{t-L} \end{bmatrix}, \quad X_2 = \begin{bmatrix} v_{t-L+1} \\ r_{t-L+1} \\ z_{t-L+1} \end{bmatrix}, \quad \dots, \quad X_L = \begin{bmatrix} v_{t-1} \\ r_{t-1} \\ z_{t-1} \end{bmatrix}
    • vv: ๋กœ๊ทธ ๊ฑฐ๋ž˜๋Ÿ‰
    • rr: ๋‹ค์šฐ์กด์Šค ์ˆ˜์ต๋ฅ 
    • zz: ๋กœ๊ทธ ๋ณ€๋™์„ฑ
  • ์˜ˆ์ธก ๋Œ€์ƒ Y=vtY = v_t๋Š” ๋‹ค์Œ ๋‚ ์˜ ๊ฑฐ๋ž˜๋Ÿ‰

๐Ÿ–‡๏ธ ๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ

  • ์ „์ฒด TT = 6,051์ผ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ , L=5L=5๋ผ๋ฉด ์ด 6,046๊ฐœ์˜ (X, Y) ์Œ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
    • 4,281๊ฐœ โ†’ ํ•™์Šต์šฉ(train)
    • 1,770๊ฐœ โ†’ ํ…Œ์ŠคํŠธ์šฉ(test)

๐Ÿ–‡๏ธ RNN ์„ค์ •

์šฐ๋ฆฌ๋Š” lag step๋งˆ๋‹ค ์€๋‹‰ ์œ ๋‹› 12๊ฐœ๋ฅผ ๊ฐ–๋Š” RNN์„ ๊ตฌ์„ฑํ•ด ํ•™์Šต์„ ์ง„ํ–‰ํ–ˆ๋‹ค.

ํ•˜๋‚˜์˜ ์‹œ๊ณ„์—ด์ด๋ผ๋„ ์ž˜๊ฒŒ ์ชผ๊ฐœ๋ฉด,
์ˆ˜์ฒœ ๊ฐœ์˜ ํ›ˆ๋ จ ์ƒ˜ํ”Œ์„ ๋งŒ๋“ค์–ด RNN์„ ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค!

ํ…Œ์ŠคํŠธ ๊ธฐ๊ฐ„ ๋™์•ˆ์˜ ์˜ˆ์ธก ๊ฒฐ๊ณผ์™€ ์‹ค์ œ ๊ฐ’์„ ๋น„๊ตํ•ด๋ณธ ๊ฒฐ๊ณผ, RNN์ด ๊ฝค ๊ดœ์ฐฎ์€ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์คฌ๋‹ค.

  • RNN์˜ ๊ฒฐ์ • ๊ณ„์ˆ˜ R2R^2 : R2=0.42R^2 = 0.42 โ†’ ์ „์ฒด ๋ณ€๋™์„ฑ ์ค‘ ์•ฝ 42%๋ฅผ ์„ค๋ช…ํ•จ
  • ์–ด์ œ์˜ ๊ฑฐ๋ž˜๋Ÿ‰ ๊ฐ’์„ ์˜ค๋Š˜์˜ ์˜ˆ์ธก๊ฐ’์œผ๋กœ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋‹จ์ˆœ ๋ชจ๋ธ: R2=0.18R^2=0.18

๋‹จ์ˆœํ•œ ํ•˜๋ฃจ ์ „ ๊ฐ’์—๋งŒ ์˜์กดํ•˜๋Š” ์˜ˆ์ธก๋ณด๋‹ค๋Š”,
RNN์ด ๊ณผ๊ฑฐ ํŒจํ„ด์„ ํ•™์Šตํ•ด์„œ ๋” ์ •ํ™•ํ•œ ์˜ˆ์ธก์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค


์ž๊ธฐํšŒ๊ท€ ์˜ˆ์ธก๊ธฐ (Autoregression Forecaster)

RNN forecaster๋Š” ์ „ํ†ต์ ์ธ AR (AutoRegrestion) ๋ชจ๋ธ๊ณผ ๊ตฌ์กฐ์ ์œผ๋กœ ๋น„์Šทํ•˜๋‹ค.

y=[vL+1vL+2vL+3โ‹ฎvT]M=[1vLvLโˆ’1โ‹ฏv11vL+1vLโ‹ฏv21vL+2vL+1โ‹ฏv3โ‹ฎโ‹ฎโ‹ฎโ‹ฑโ‹ฎ1vTโˆ’1vTโˆ’2โ‹ฏvTโˆ’L]y = \begin{bmatrix} v_{L+1} \\ v_{L+2} \\ v_{L+3} \\ \vdots \\ v_T \end{bmatrix} M = \begin{bmatrix} 1 & v_L & v_{L-1} & \cdots & v_1 \\ 1 & v_{L+1} & v_L & \cdots & v_2 \\ 1 & v_{L+2} & v_{L+1} & \cdots & v_3 \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & v_{T-1} & v_{T-2} & \cdots & v_{T-L} \end{bmatrix}

์ด ํ–‰๋ ฌ MM์— ๋Œ€ํ•ด OLS (์ตœ์†Œ์ œ๊ณฑ) ํšŒ๊ท€๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์˜ˆ์ธก์‹์„ ์–ป๋Š”๋‹ค:

v^t=ฮฒ^0+ฮฒ^1vtโˆ’1+ฮฒ^2vtโˆ’2+โ‹ฏ+ฮฒ^Lvtโˆ’L\hat{v}_t = \hat{\beta}_0 + \hat{\beta}_1 v_{t-1} + \hat{\beta}_2 v_{t-2} + \cdots + \hat{\beta}_L v_{t-L}

โ†’ ์ด ๋ชจ๋ธ์€ ์ฐจ์ˆ˜ LL์˜ ์ž๊ธฐํšŒ๊ท€ ๋ชจ๋ธ, ์ฆ‰ AR(LL) ๋กœ ๋ถˆ๋ฆฐ๋‹ค.

ํ™•์žฅ: ๋‹ค๋ณ€๋Ÿ‰ ์ž๊ธฐํšŒ๊ท€

NYSE ๋ฐ์ดํ„ฐ์—์„œ๋Š” ๋‹ค์šฐ์กด์Šค ์ˆ˜์ต๋ฅ ๊ณผ ๋กœ๊ทธ ๋ณ€๋™์„ฑ๋„ ์˜ˆ์ธก์— ์‚ฌ์šฉ ๊ฐ€๋Šฅ
๊ฐ๊ฐ์˜ ์ง€ํ‘œ์— ๋Œ€ํ•ด LL๊ฐœ์˜ ์‹œ์ฐจ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋ฉด, ์ด 3L+13L+1๊ฐœ์˜ ์ž…๋ ฅ ํŠน์„ฑ (3๊ฐœ ๋ณ€์ˆ˜ ร— L ์‹œ์ฐจ + ์ƒ์ˆ˜ํ•ญ)

์ „ํ†ต์ ์ธ AR ๋ชจ๋ธ์€ ์„ ํ˜• ํšŒ๊ท€ ๊ธฐ๋ฐ˜์ด์ง€๋งŒ,
RNN์€ ๊ฐ™์€ ์ž…๋ ฅ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋„ ๋น„์„ ํ˜• ๊ด€๊ณ„๋ฅผ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐํ•จ์ด ์žฅ์ ์ด๋‹ค.


๐Ÿ“Œ ๋ชจ๋ธ๋ณ„ R2R^2 ๋น„๊ต

๋ชจ๋ธ( R^2 )ํŒŒ๋ผ๋ฏธํ„ฐ ์ˆ˜๋น„๊ณ 
AR(5) (์„ ํ˜• ํšŒ๊ท€)0.4116๊ฐœ๊ธฐ์ค€ ๋ชจ๋ธ
RNN (L=5, K=12)0.42205๊ฐœ๋น„์„ ํ˜• ๊ตฌ์กฐ, ๋” ๋งŽ์€ ํŒŒ๋ผ๋ฏธํ„ฐ
AR(5) + Neural Net0.42-์„ ํ˜• ํšŒ๊ท€ ๋Œ€์‹  ๋น„์„ ํ˜• ๋ชจ๋ธ๋กœ ๋Œ€์ฒด
+ ์š”์ผ ์ •๋ณด(day_of_week) ํฌํ•จ0.46์ฆ๊ฐ€๋จ์›”์š”์ผยท๊ธˆ์š”์ผ ๊ฑฐ๋ž˜๋Ÿ‰ ํŠน์„ฑ ๋ฐ˜์˜

3D Tensor: (#Samples, #Time Steps, #Features)

0๊ฐœ์˜ ๋Œ“๊ธ€