Graph 06 - ์ถ”์ฒœ ์‹œ์Šคํ…œ

BoostCamp AI Tech

Graph

Recommender System

Content-based Recommender System

๋‚ด์šฉ๊ธฐ๋ฐ˜ ์ถ”์ฒœ์‹œ์Šคํ…œ

Collaborative Filtering Recommender System

ํ˜‘์—…ํ•„ํ„ฐ๋ง๊ธฐ๋ฐ˜ ์ถ”์ฒœ์‹œ์Šคํ…œ

Netflix Challenge

Latent Factor Model

์ž ์žฌ์ธ์ˆ˜ ๋ชจํ˜•

02/25/2021


๋ณธ ์ •๋ฆฌ ๋‚ด์šฉ์€ Naver BoostCamp AI Tech์˜ edwith์—์„œ ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์‚ฌ์‹ค๊ณผ ๋‹ค๋ฅธ ๋ถ€๋ถ„์ด ์žˆ๊ฑฐ๋‚˜, ์ˆ˜์ •์ด ํ•„์š”ํ•œ ์‚ฌํ•ญ์€ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.


์ถ”์ฒœ์‹œ์Šคํ…œ ๊ธฐ์ดˆ

์•„๋งˆ์กด ๊ณ ๊ฐ ๋งž์ถค ์ƒํ’ˆ / ๋„ทํ”Œ๋ฆญ์Šค ์˜ํ™” ์ถ”์ฒœ / ์œ ํŠœ๋ธŒ ์˜์ƒ ์ถ”์ฒœ / ํŽ˜์ด์Šค๋ถ ์นœ๊ตฌ ์ถ”์ฒœ ๋“ฑ

์ถ”์ฒœ ์‹œ์Šคํ…œ์€ ์‚ฌ์šฉ์ž ๊ฐ๊ฐ์ด ๊ตฌ๋งค/์„ ํ˜ธํ• ๋งŒํ•œ ์ƒํ’ˆ์„ ์ถ”์ฒœํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋‹ค.

์‚ฌ์šฉ์ž๋ณ„ ๊ตฌ๋งค๊ธฐ๋ก์€ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ๋ฐ, ๋‘๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

  • ์•”์‹œ์ (Implicit) ์„ ํ˜ธ - ex)๊ตฌ๋งค ๊ธฐ๋ก
  • ๋ช…์‹œ์ (Explicit) ์„ ํ˜ธ - ex)ํ‰์ 

recommend

์ถ”์ฒœ ์‹œ์Šคํ…œ์˜ ํ•ต์‹ฌ์€ ์‚ฌ์šฉ์ž๋ณ„ ๊ตฌ๋งค๋ฅผ ์˜ˆ์ธกํ•˜๊ฑฐ๋‚˜, ์„ ํ˜ธ๋ฅผ ์ถ”์ •ํ•˜๋Š” ๊ฒƒ์ธ๋ฐ, ๊ทธ๋ž˜ํ”„ ๊ด€์ ์—์„œ ์ด๋ฅผ ํ’€์—ˆ์„ ๋•Œ "๋ฏธ๋ž˜์˜ ๊ฐ„์„ ์„ ์˜ˆ์ธกํ•˜๋Š” ๋ฌธ์ œ"ํ˜น์€ "๋ˆ„๋ฝ๋œ ๊ฐ„์„ ์˜ ๊ฐ€์ค‘์น˜(์„ ํ˜ธ)๋ฅผ ์ถ”์ •ํ•˜๋Š” ๋ฌธ์ œ"๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚ด์šฉ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ์‹œ์Šคํ…œ

๋‚ด์šฉ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ์‹œ์Šคํ…œ์€ ๊ฐ ์‚ฌ์šฉ์ž๊ฐ€ ๊ตฌ๋งค/๋งŒ์กฑํ–ˆ๋˜ ์ƒํ’ˆ๊ณผ ์œ ์‚ฌํ•œ ๊ฒƒ์„ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

  • ๋™์ผํ•œ ์žฅ๋ฅด์˜ ์˜ํ™”
  • ๋™์ผํ•œ ๊ฐ๋…์˜ ์˜ํ™” ํ˜น์€ ๋™์ผ ๋ฐฐ์šฐ๊ฐ€ ์ถœ์—ฐํ•œ ์˜ํ™”
  • ๋™์ผํ•œ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ์ƒํ’ˆ
  • ๋™๊ฐ‘์˜ ๊ฐ™์€ ํ•™๊ต๋ฅผ ์กธ์—…ํ•œ ์‚ฌ๋žŒ

์›๋ฆฌ

  1. ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ–ˆ๋˜ ์ƒํ’ˆ๋“ค์˜ ์ƒํ’ˆ ํ”„๋กœํ•„(Item Profile)์„ ์ˆ˜์ง‘ํ•œ๋‹ค.
    • ์ƒํ’ˆ ํ”„๋กœํ•„์ด๋ž€, ํ•ด๋‹น ์ƒํ’ˆ์˜ ํŠน์„ฑ์„ ๋‚˜์—ดํ•œ ๋ฒกํ„ฐ์ด๋‹ค.
    • ์˜ํ™”์˜ ๊ฒฝ์šฐ ๊ฐ๋…/์žฅ๋ฅด/๋ฐฐ์šฐ ๋“ฑ์˜ ์›-ํ•ซ ์ธ์ฝ”๋”ฉ์ด ์ƒํ’ˆ ํ”„๋กœํ•„๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.
  2. ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธํ•œ ์ƒํ’ˆ ํ”„๋กœํ•„์˜ ์„ ํ˜ธ๋„๋ฅผ ๊ฐ€์ค‘ํ‰๊ท ํ•˜์—ฌ ์‚ฌ์šฉ์ž ํ”„๋กœํ•„์„ ๊ตฌ์„ฑํ•œ๋‹ค.
    • ์ฆ‰, ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ์—ญ์‹œ ๋ฒกํ„ฐ์ด๋‹ค.
  3. ์‚ฌ์šฉ์ž ํ”„๋กœํ•„ ๋ฒกํ„ฐ uโ‡€\overrightharpoon{u}์™€ (์ถ”์ฒœํ• ๋งŒํ•œ ๋‹ค๋ฅธ) ์ƒํ’ˆ ํ”„๋กœํ•„ ๋ฒกํ„ฐ vโ‡€\overrightharpoon{v}์˜ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„ uโ‡€โ‹…vโ‡€โˆฅuโ‡€โˆฅโˆฅvโ‡€โˆฅ\frac{\overrightharpoon{u}\cdot\overrightharpoon{v}}{\Vert\overrightharpoon{u}\Vert\Vert\overrightharpoon{v}\Vert}๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๋งค์นญํ•œ๋‹ค.
    • ์ฆ‰, ๋‘ ๋ฒกํ„ฐ์˜ ์‚ฌ์ด๊ฐ์˜ ์ฝ”์‚ฌ์ธ ๊ฐ’์„ ๊ณ„์‚ฐํ•œ๋‹ค.(๋‘ ๋ฒกํ„ฐ์˜ ๋‚ด์ ๊ฐ’ / ๋‘ ๋ฒกํ„ฐ์˜ ํฌ๊ธฐ์˜ ๊ณฑ)
      • ๋‘ ๋ฒกํ„ฐ๊ฐ€ ๋น„์Šทํ•œ ๋ฐฉํ–ฅ์„ ๋ฐ”๋ผ๋ณด๊ณ  ์žˆ๊ฑฐ๋‚˜, ํฌ๊ธฐ๊ฐ€ ๋น„์Šทํ• ์ˆ˜๋ก ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๊ฐ€ ๋†’๊ฒŒ ๋‚˜์˜จ๋‹ค.
    • ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๊ฐ€ ๋†’์„์ˆ˜๋ก, ํ•ด๋‹น ์‚ฌ์šฉ์ž๊ฐ€ ์„ ํ˜ธ/๊ตฌ๋งคํ–ˆ๋˜ ๋ฌผํ’ˆ๋“ค๊ณผ ๋น„์Šทํ•œ ์ƒํ’ˆ์ด๋‹ค.
  4. ๊ณ„์‚ฐ๋œ ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„๊ฐ€ ๊ฐ€์žฅ ๋†’์€ ์ƒํ’ˆ์„ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ถ”์ฒœํ•œ๋‹ค.

์žฅ/๋‹จ์ 

์žฅ์ ๋‹จ์ 
๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ๊ตฌ๋งค๊ธฐ๋ก์ด ํ•„์š”์—†์Œ๋ถ€๊ฐ€์ •๋ณด๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉ ๋ถˆ๊ฐ€
๋…ํŠนํ•œ ์ทจํ–ฅ์˜ ์‚ฌ์šฉ์ž์—๊ฒŒ๋„ ์ถ”์ฒœ ๊ฐ€๋Šฅ๊ตฌ๋งค๊ธฐ๋ก์ด ์—†๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์‚ฌ์šฉ ๋ถˆ๊ฐ€
์ƒˆ ์ƒํ’ˆ์— ๋Œ€ํ•œ ์ถ”์ฒœ ๊ฐ€๋ŠฅOverfitting์œผ๋กœ ์ง€๋‚˜์น˜๊ฒŒ ํ˜‘์†Œํ•œ ์ถ”์ฒœ์„ ํ•  ์œ„ํ—˜์ด ์žˆ์Œ
์ถ”์ฒœ์˜ ์ด์œ ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Œ

ํ˜‘์—… ํ•„ํ„ฐ๋ง ์ถ”์ฒœ ์‹œ์Šคํ…œ

๋‚ด์šฉ ๊ธฐ๋ฐ˜ ์ถ”์ฒœ์‹œ์Šคํ…œ์„ ์ผ๋ถ€ ๋ณด์™„ํ•˜๋Š” ์ถ”์ฒœ๋ฐฉ์‹์ด๋‹ค.

์›๋ฆฌ

์‚ฌ์šฉ์ž-์‚ฌ์šฉ์ž ํ˜‘์—… ํ•„ํ„ฐ๋ง์ด๋ž€, ์˜ˆ์ƒ ์‚ฌ์šฉ์ž์—๊ฒŒ ์œ ์‚ฌํ•œ ์ทจํ–ฅ์„ ๊ฐ€์ง„ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋“ค์ด ์‚ฌ์šฉํ–ˆ๋˜ ์ƒํ’ˆ์„ ์ถ”์ฒœํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ถ”์ฒœ์˜ ๋Œ€์ƒ ์‚ฌ์šฉ์ž๋ฅผ xx๋ผ๊ณ  ํ•  ๋•Œ,

  1. xx์™€ ์œ ์‚ฌํ•œ ์ทจํ–ฅ์˜ ์‚ฌ์šฉ์ž๋“ค์„ ์ฐพ๋Š”๋‹ค.
  2. ์œ ์‚ฌํ•œ ์ทจํ–ฅ์˜ ์‚ฌ์šฉ์ž๋“ค์ด ์„ ํ˜ธํ•œ ์ƒํ’ˆ์„ ์ฐพ๋Š”๋‹ค.
  3. ์ด ์ƒํ’ˆ๋“ค์„ xx์—๊ฒŒ ์ถ”์ฒœํ•œ๋‹ค.

์ด ๋•Œ ์ทจํ–ฅ์˜ ์œ ์‚ฌ๋„๋Š” ์ƒ๊ด€๊ณ„์ˆ˜(Correlation Coefficient)๋ฅผ ํ†ตํ•ด ์ธก์ •ํ•œ๋‹ค.

sim(x,y)=โˆ‘sโˆˆSxy(rxsโˆ’rxโ€พ)(rysโˆ’ryโ€พ)โˆ‘sโˆˆSxy(rxsโˆ’rxโ€พ)2โˆ‘sโˆˆSxy(rysโˆ’ryโ€พ)2sim(x,y) = \frac{\sum_{s\in S_{xy}}(r_{xs}-\overline{r_x})(r_{ys}-\overline{r_y})}{\sqrt{\sum_{s\in S_{xy}}(r_{xs}-\overline{r_x})^2}\sqrt{\sum_{s\in S_{xy}}(r_{ys}-\overline{r_y})^2}}
  • rxsr_{xs} : ์‚ฌ์šฉ์ž xx๊ฐ€ ์ƒํ’ˆ ss์— ๋Œ€ํ•ด ๋งค๊ธด ํ‰์ 
  • rxโ€พ\overline{r_x} : ์‚ฌ์šฉ์ž xx๊ฐ€ ๋งค๊ธด ํ‰๊ท  ํ‰์ 
  • SxyS_{xy} : ์‚ฌ์šฉ์ž xx์™€ yy๊ฐ€ ๊ณต๋™ ๊ตฌ๋งคํ•œ ์ƒํ’ˆ๋“ค
  • ๋ถ„๋ชจ๋Š” ์œ ์‚ฌ๋„ ๊ฐ’์„ -1๊ณผ 1์‚ฌ์ด๋กœ ์ •๊ทœํ™”ํ•˜๋Š” ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

๊ตฌ์ฒด์ ์œผ๋กœ๋Š” ์ทจํ–ฅ์˜ ์œ ์‚ฌ๋„๋ฅผ ๊ฐ€์ค‘์น˜๋กœ ์‚ฌ์šฉํ•œ ํ‰์ ์˜ ๊ฐ€์ค‘ ํ‰๊ท ์„ ํ†ตํ•ด ํ‰์ ์„ ์ถ”์ •ํ•œ๋‹ค.

์‚ฌ์šฉ์ž xx์˜ ์ƒํ’ˆ ss์— ๋Œ€ํ•œ ํ‰์ ์„ rxsr_{xs}๋กœ ์ถ”์ •ํ•  ๋•Œ, ์ƒ๊ด€ ๊ณ„์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ƒํ’ˆ ss๋ฅผ ๊ตฌ๋งคํ•œ ์‚ฌ์šฉ์ž ์ค‘ xx์™€ ์ทจํ–ฅ์ด ์œ ์‚ฌํ•œ kk๋ช…์˜ ์‚ฌ์šฉ์ž N(x;s)N(x;s)๋ฅผ ๋ฝ‘๋Š”๋‹ค.

r^xs=โˆ‘yโˆˆN(x;s)sim(x,y)โ‹…rysโˆ‘yโˆˆN(x;s)sim(x,y)\hat{r}_{xs} = \frac{\sum_{y\in N(x;s)}sim(x,y)\cdot r_{ys}}{\sum_{y\in N(x;s)}sim(x,y)}
  • ์ทจํ–ฅ์ด ์œ ์‚ฌํ•œ kk๋ช…์ด๋ผ๋„, ์œ ์‚ฌํ•œ ์ •๋„์˜ ์ฐจ์ด๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์ค‘์น˜ sim(x,y)sim(x,y)๋ฅผ ๊ณฑํ•ด์ค€๋‹ค.
  • rysr_{ys} : ์œ ์‚ฌํ•œ ์ทจํ–ฅ์˜ ์‚ฌ๋žŒ yy๊ฐ€ ๋งค๊ธด ํ‰์ 

์ด ๋ฐฉ์‹์„ ํ†ตํ•ด, xx๊ฐ€ ์•„์ง ๊ตฌ๋งคํ•˜์ง€ ์•Š์€ ์ƒํ’ˆ๋“ค์— ๋Œ€ํ•ด ํ‰์ ์„ ๊ฐ๊ฐ ์ถ”์ •ํ•˜๊ณ , ์ถ”์ •ํ•œ ํ‰์ ์ด ๊ฐ€์žฅ ๋†’์€ ์ƒํ’ˆ๋“ค์„ xx์—๊ฒŒ ์ถ”์ฒœํ•œ๋‹ค.

์žฅ/๋‹จ์ 

์žฅ์ ๋‹จ์ 
์ƒํ’ˆ์— ๋Œ€ํ•œ ๋ถ€๊ฐ€ ์ •๋ณด(์†์„ฑ ์ •๋ณด)๊ฐ€ ์—†์–ด๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ์ถฉ๋ถ„ํ•œ ์ˆ˜์˜ ํ‰์  ๋ฐ์ดํ„ฐ๊ฐ€ ๋ˆ„์ ๋˜์–ด์•ผํ•จ
์ƒˆ ์ƒํ’ˆ, ์ƒˆ ์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์ถ”์ฒœ ๋ถˆ๊ฐ€
๋…ํŠนํ•œ ์ทจํ–ฅ์˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ถ”์ฒœ ๋ถˆ๊ฐ€(์ทจํ–ฅ์ด ์œ ์‚ฌํ•œ ์‚ฌ๋žŒ์„ ์ฐพ์•„๋‚ด๊ธฐ ์–ด๋ ค์›€)

์ถ”์ฒœ ์‹œ์Šคํ…œ ํ‰๊ฐ€

๋ฐ์ดํ„ฐ ๋ถ„๋ฆฌ

์ถ”์ฒœ์‹œ์Šคํ…œ์˜ ์ •ํ™•๋„๋ฅผ ํ‰๊ฐ€ํ•˜๊ธฐ์œ„ํ•ด์„œ, ๋ฐ์ดํ„ฐ ๋ถ„๋ฆฌ ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ํ›ˆ๋ จ(Training) ๋ฐ์ดํ„ฐ์™€ ํ‰๊ฐ€(Test) ๋ฐ์ดํ„ฐ๋กœ ๋ถ„๋ฆฌํ•˜๊ณ , ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•˜์—ฌ ๊ฐ€๋ ค์ง„ ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ์˜ ํ‰์ ์„ ์ถ”์ •ํ•œ๋‹ค. ์ดํ›„, ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ์˜ ์ถ”์ • ํ‰์ ๊ณผ ์‹ค์ œ ํ‰์ ์„ ๋น„๊ตํ•˜์—ฌ ์˜ค์ฐจ๋ฅผ ์ธก์ •ํ•˜๊ณ  ํ•™์Šตํ•œ๋‹ค.

  • ์ด ๋•Œ ์˜ค์ฐจ ์ธก์ • ์ง€ํ‘œ๋กœ๋Š” MSE๊ฐ€ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.
  • ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ ๋‚ด์˜ ํ‰์ ๋“ค์˜ ์ง‘ํ•ฉ์„ T๋ผ๊ณ  ํ•  ๋•Œ, MSE๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.
1โˆฃTโˆฃโˆ‘rxiโˆˆT(rxiโˆ’r^xi)2\frac{1}{|T|}\sum_{r_{xi}\in T}(r_{xi}-\hat{r}_{xi})^2
  • MSE์— ์ œ๊ณฑ๊ทผ์„ ์”Œ์šด RMSE๋„ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

ํ‰๊ฐ€์ง€ํ‘œ

์ด์™ธ์—๋„ ๋‹ค์–‘ํ•œ ํ‰๊ฐ€์ง€ํ‘œ๊ฐ€ ํ™œ์šฉ๋œ๋‹ค.

  • ์ถ”์ •ํ•œ ํ‰์ ์œผ๋กœ ์ˆœ์œ„๋ฅผ ๋งค๊ธด ํ›„, ์‹ค์ œ ํ‰์ ์œผ๋กœ ๋งค๊ธด ์ˆœ์œ„์™€ ์ƒ๊ด€๊ณ„์ˆ˜ ๊ณ„์‚ฐ
  • ์ถ”์ฒœํ•œ ์ƒํ’ˆ ์ค‘ ์‹ค์ œ ๊ตฌ๋งค๋กœ ์ด๋ฃจ์–ด์ง„ ๊ฒƒ์˜ ๋น„์œจ ์ธก์ •
  • ์ถ”์ฒœ์˜ ์ˆœ์„œ ํ˜น์€ ๋‹ค์–‘์„ฑ๊นŒ์ง€ ๊ณ ๋ คํ•˜๋Š” ์ง€ํ‘œ๋“ค๋„ ์‚ฌ์šฉ

์ถ”์ฒœ ์‹œ์Šคํ…œ ์‹ฌํ™”

์ด์ „๊นŒ์ง€๋Š” ๋…ธ๋“œ ์ž„๋ฒ ๋”ฉ์„ ์ ์šฉ์‹œํ‚ค์ง€ ์•Š์•˜์„ ๋•Œ์˜ ์‹œ์Šคํ…œ์ด์—ˆ๋‹ค.
๋…ธ๋“œ์ž„๋ฒ ๋”ฉ ๊ธฐ๋ฒ•์œผ๋กœ ๊ธฐ์กด์˜ ๊ทธ๋ž˜ํ”„๋“ค์„ ๋ฒกํ„ฐ๋กœ ํ‘œ์‹œํ•˜์—ฌ ์ขŒํ‘œ๊ณต๊ฐ„๋‚ด๋กœ ์˜ฎ๊ธธ ์ˆ˜ ์žˆ๊ฒŒ ๋˜์ž, ML์˜ ๋„๊ตฌ๋“ค์„ ์‚ฌ์šฉํ•œ ์ถ”์ฒœ์‹œ์Šคํ…œ์˜ ๋น„์•ฝ์ ์ธ ๋ฐœ์ „์ด ์žˆ์—ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ถ”์ฒœ์‹œ์Šคํ…œ ๋ฐœ์ „์˜ ๊ธฐ๋…๋น„์  ์ด๋ฒคํŠธ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋„ทํ”Œ๋ฆญ์Šค ์ฑŒ๋ฆฐ์ง€์˜ ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐœ์ „ ๊ณผ์ •์„ ํ™•์ธํ•ด๋ณด์ž.

๋„ทํ”Œ๋ฆญ์Šค ์ฑŒ๋ฆฐ์ง€

2000๋…„๋ถ€ํ„ฐ 2005๋…„๊นŒ์ง€ ์ˆ˜์ง‘ํ•œ ์‚ฌ์šฉ์ž๋ณ„ ์˜ํ™” ํ‰์  ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

ํŠธ๋ ˆ์ด๋‹ ๋ฐ์ดํ„ฐ๋Š” 48๋งŒ๋ช… ์‚ฌ์šฉ์ž์˜ 1๋งŒ 8์ฒœ๊ฐœ ์˜ํ™”์— ๋Œ€ํ•œ 1์–ต๊ฐœ์˜ ํ‰์ ์œผ๋กœ, ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ๊ฐ ์‚ฌ์šฉ์ž์˜ ์ตœ์‹  ํ‰์  280๋งŒ๊ฐœ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋‹ค.

๋ชฉํ‘œ๋Š” ๋‹น์‹œ ๋„ทํ”Œ๋ฆญ์Šค์˜ ์ถ”์ฒœ ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ 10% ์ด์ƒ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ๊ฒƒ์ด์—ˆ๋‹ค(ํ‰๊ท  ์ œ๊ณฑ๊ทผ ์˜ค์ฐจ 0.9514โ†’0.8563)

2006๋…„๋ถ€ํ„ฐ 2009๋…„๊นŒ์ง€ ์ง„ํ–‰๋˜์—ˆ๊ณ , 2700๊ฐœ์˜ ํŒ€์ด ์ฐธ์—ฌํ•˜์˜€์œผ๋ฉฐ, ์ถ”์ฒœ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์ด ๋น„์•ฝ์ ์œผ๋กœ ๋ฐœ์ „ํ•˜๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ๋‹ค.

์ž ์žฌ ์ธ์ˆ˜ ๋ชจํ˜•

์ž ์žฌ ์ธ์ˆ˜ ๋ชจํ˜•(Latent Factor Model)์€ ๋„ทํ”Œ๋ฆญ์Šค ์ฑŒ๋ฆฐ์ง€์—์„œ ์ œ์•ˆ๋˜์–ด ํฐ ์„ฑ๋Šฅ ๊ฐœ์„ ์„ ์ด๋ฃจ์–ด๋‚ธ ๋ชจ๋ธ๋กœ, ์ง€๊ธˆ๊นŒ์ง€๋„ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ชจํ˜•์ด๋‹ค. UV ๋ถ„ํ•ด(UV Decompostion)์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.

  • ์ˆ˜ํ•™์  ๊ฐœ๋… SVD์™€ ์œ ์‚ฌํ•˜์—ฌ SVD๋กœ๋„ ๋ถ€๋ฅด๊ณค ํ•˜์ง€๋งŒ, ์ •ํ™•ํžˆ๋Š” ์•ฝ๊ฐ„ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

Latent Factor Model์˜ ํ•ต์‹ฌ์€ ์‚ฌ์šฉ์ž์™€ ์ƒํ’ˆ์„ ๋ฒกํ„ฐ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

lfm-embedding-example

์œ„๋Š” ์‚ฌ์šฉ์ž์™€ ์˜ํ™”๋ฅผ ์ž„๋ฒ ๋”ฉํ•œ ์˜ˆ์‹œ์ด๋‹ค. 2์ฐจ์› ๊ณต๊ฐ„์— ์˜ํ™”๋ฅผ ์žฅ๋ฅด์™€ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ ๋ฐฐ์น˜ํ•˜๊ณ , ์‚ฌ์šฉ์ž์˜ ์ทจํ–ฅ๋„ ๋ถ„์„ํ•˜์—ฌ ๊ฐ™์€ ํ‰๋ฉด ์œ„์— ๋ฐฐ์น˜ํ–ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์ด ํ‰๋ฉด ๋‚ด์—์„œ ๋ณธ์ธ์˜ ์œ„์น˜์™€ ๊ฐ€๊นŒ์šด ์œ„์น˜์— ์žˆ๋Š” ์˜ํ™”๋ฅผ ์ถ”์ฒœ๋ฐ›๊ฒŒ ๋œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜, ์ด ๋ฐฉ์‹์€ ์˜ํ™”์˜ [์ง„์ง€ํ•˜๊ณ  ๊ฐ€๋ฒผ์šด ์ •๋„]๋‚˜, [์–ผ๋งˆ๋‚˜ ๋กœ๋งจ์Šค ์žฅ๋ฅด์— ๊ฐ€๊น๊ณ  ์–ผ๋งˆ๋‚˜ ์•ก์…˜ ์žฅ๋ฅด์— ๊ฐ€๊นŒ์šด์ง€]๋“ฑ์˜ ๋ชจํ˜ธํ•œ ๊ฐœ๋…๋“ค์„ ๊ธฐ์ค€์œผ๋กœ ์ขŒํ‘œ๊ฐ€ ์„ค์ •๋˜์–ด์•ผํ•œ๋‹ค๋Š” ์–ด๋ ค์›€์ด ์žˆ์—ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ์ž ์žฌ ์ธ์ˆ˜ ๋ชจํ˜•์€ ์ธก์ •ํ•˜๊ธฐ ์–ด๋ ค์šด ๊ณ ์ •๋œ ์ธ์ˆ˜ ๋Œ€์‹  ํšจ๊ณผ์ ์ธ ์ธ์ˆ˜๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•œ๋‹ค. ์ฆ‰, ์ถ”์ฒœ์„ ๊ฐ€์žฅ ์ •ํ™•ํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์ˆ˜๋ฅผ ์ฐพ์•„ ํ•™์Šตํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

  • ์ด ๋•Œ ํ•™์Šตํ•œ ์ธ์ˆ˜, ์ฆ‰ ์ž„๋ฒ ๋”ฉ ๊ณต๊ฐ„์˜ ์ถ•๋“ค์„ ์ž ์žฌ ์ธ์ˆ˜(Latent Factor)๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

lfm-embedding-example2

์†์‹คํ•จ์ˆ˜

๊ทธ๋ ‡๋‹ค๋ฉด, ์‚ฌ์šฉ์ž์™€ ์ƒํ’ˆ์„ ์–ด๋–ป๊ฒŒ ์ž„๋ฒ ๋”ฉํ•ด์•ผ ์ถ”์ฒœ์‹œ์Šคํ…œ์— ์ ์šฉํ•˜๊ธฐ ์ข‹๋„๋ก ์ž„๋ฒ ๋”ฉํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?

์‚ฌ์šฉ์ž-์ƒํ’ˆ ์ž„๋ฒ ๋”ฉ์˜ ๋‚ด์ (Inner Product)์ด ํ‰์ ๊ณผ ์ตœ๋Œ€ํ•œ ์œ ์‚ฌํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ฅผ ํ–‰๋ ฌ ์ฐจ์›์—์„œ ์ด๋ฏธ์ง€๋กœ ์‚ดํŽด๋ณด์ž.

lfm-matrix

  • ์‚ฌ์šฉ์ž๋“ค์˜ ์ž„๋ฒ ๋”ฉ(๋ฒกํ„ฐ)์„ ์Œ“์•„์„œ ๋งŒ๋“  ์‚ฌ์šฉ์ž ํ–‰๋ ฌ์„ PP๋ผ๊ณ  ํ•œ๋‹ค. ์œ„์˜ ์ด๋ฏธ์ง€์—์„œ PโŠคP^\top์˜ ๊ฐ ์—ด(์„ธ๋กœ๋ฒกํ„ฐ)์€ ์‚ฌ์šฉ์ž ํ•œ๋ช…์˜ ์ž„๋ฒ ๋”ฉ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ์˜ํ™”๋“ค์˜ ์ž„๋ฒ ๋”ฉ(๋ฒกํ„ฐ)์„ ์Œ“์•„์„œ ๋งŒ๋“  ์ƒํ’ˆ ํ–‰๋ ฌ์„ QQ๋ผ๊ณ  ํ•œ๋‹ค. ์œ„์˜ ์ด๋ฏธ์ง€์—์„œ Q์˜ ๊ฐ ํ–‰(๊ฐ€๋กœ๋ฒกํ„ฐ)์€ ์ƒํ’ˆ ํ•˜๋‚˜์˜ ์ž„๋ฒ ๋”ฉ์„ ์˜๋ฏธํ•œ๋‹ค.
  • ์‚ฌ์šฉ์ž ์ˆ˜์˜ ์—ด๊ณผ ์ƒํ’ˆ ์ˆ˜์˜ ํ–‰์„ ๊ฐ€์ง„ ํ‰์  ํ–‰๋ ฌ์„ RR ์ด๋ผ๊ณ  ํ•˜๊ณ , ์ด๋Š” Qโ‹…PโŠคQ \cdot P^\top์™€ ๊ฐ™๋‹ค.

์‚ฌ์šฉ์ž xx์˜ ์ž„๋ฒ ๋”ฉ์„ pxp_x, ์ƒํ’ˆ ii์˜ ์ž„๋ฒ ๋”ฉ์„ qiq_i๋ผ๊ณ  ํ•˜๊ณ , ์‚ฌ์šฉ์ž xx์˜ ์ƒํ’ˆ ii์— ๋Œ€ํ•œ ํ‰์ ์„ rxir_{xi}๋ผ๊ณ  ํ•˜์ž. ์ž„๋ฒ ๋”ฉ์˜ ๋ชฉํ‘œ๋Š” pxโŠคqip_x^\top q_i์ด rxir_{xi}์™€ ์œ ์‚ฌํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

L=โˆ‘(i,x)โˆˆR(rxiโˆ’pxโŠคqi)2\mathcal{L} = \sum_{(i,x)\in R}(r_{xi}-p_x^\top q_i)^2
  • ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ(RR)์— ์žˆ๋Š” ํ‰์ ์— ๋Œ€ํ•ด์„œ๋งŒ ๊ณ„์‚ฐํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์œ„ ์†์‹คํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์—๋Š” ์ผ๋ฐ˜์ ์ธ ๊ธฐ๊ณ„ํ•™์Šต๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Overfitting์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ํ›ˆ๋ จ๋ฐ์ดํ„ฐ์—๋งŒ fitting๋œ ๋ชจ๋ธ์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ •๊ทœํ™” ํ•ญ์„ ์†์‹ค ํ•จ์ˆ˜์— ๋”ํ•ด์ค€๋‹ค.

L=โˆ‘(i,x)โˆˆR(rxiโˆ’pxโŠคqi)2โŸ์˜ค์ฐจ+ฮป1โˆ‘xโˆฅpxโˆฅ2+ฮป2โˆ‘iโˆฅqiโˆฅ2โŸ๋ชจํ˜•๋ณต์žก๋„(์ •๊ทœํ™”ํ•ญ)\mathcal{L} = \underbrace{ \sum_{(i,x)\in R}(r_{xi}-p_x^\top q_i)^2}_{์˜ค์ฐจ} + \textcolor{red}{\underbrace{\textcolor{green}{\lambda_1}\sum_x\Vert p_x \Vert^2 + \textcolor{green}{\lambda_2}\sum_i\Vert q_i \Vert ^2}_{๋ชจํ˜•๋ณต์žก๋„(์ •๊ทœํ™”ํ•ญ)}}
  • ์ •๊ทœํ™”๋Š” ์†์‹คํ•จ์ˆ˜๋ฅผ ํ•™์Šตํ•  ๋•Œ, ํ›ˆ๋ จ๋ฐ์ดํ„ฐ์™€์˜ ์˜ค์ฐจ๋งŒ ์ค„์ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ž„๋ฒ ๋”ฉ ๊ฐ’ ์ž์ฒด๋„ ์ค„์ด๊ฒŒ ๋งŒ๋“ ๋‹ค. ์ž„๋ฒ ๋”ฉ ๊ฐ’์ด ๋„ˆ๋ฌด ํฌ๋ฉด, ๋ชจ๋ธ์ด ํ›ˆ๋ จ๋ฐ์ดํ„ฐ์˜ noise๊นŒ์ง€ ์™„์ „ํžˆ ํ•™์Šตํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋ ‡๊ฒŒ ๋ชจํ˜•๋ณต์žก๋„๋„ ์ตœ์†Œํ™”ํ•˜์—ฌ ์ผ๋ฐ˜ํ™” ์„ฑ๋Šฅ์„ ๋†’์ธ๋‹ค.
    • ์ด๋Š” ์œ„์˜ ์ž„๋ฒ ๋”ฉ ์ขŒํ‘œ ์ƒ์—์„œ ๋ณผ ๋•Œ, ๊ฐ ์ขŒํ‘œ๋“ค์˜ ํฌ๊ธฐ๋ฅผ ์ค„์—ฌ์„œ ๋ฒกํ„ฐ๋“ค์ด ์ข€ ๋” ๋ชจ์—ฌ์žˆ๊ฒŒ ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ์ฆ‰, ๊ธฐ์กด์—๋Š” ๋‚˜์™€ ์•„์ฃผ ๊ฐ€๊นŒ์šด ์˜ํ™”๊ฐ€ ์•„๋‹ˆ๋ฉด ์ถ”์ฒœ๋ฐ›์ง€ ๋ชปํ–ˆ์ง€๋งŒ, ์ •๊ทœํ™”๋ฅผ ํ•˜๊ณ  ๋‚˜๋ฉด ๊ฑฐ๋ฆฌ๊ฐ€ ๊ณ ๋งŒ๊ณ ๋งŒํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์™€ ๋น„๊ต์  ์กฐ๊ธˆ ๊ฐ€๊นŒ์šด ์˜ํ™”๋„ ์ถ”์ฒœ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.
    • ์ž˜ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋ฐฐํ‹€๊ทธ๋ผ์šด๋“œ์—์„œ ์—๋ž€๊ฒ”๊ณผ ์‚ฌ๋…น์„ ์ƒ๊ฐํ•˜์ž. ์—๋ž€๊ฒ”์€ ๋งต์ด ๋„“๊ธฐ ๋•Œ๋ฌธ์— ๋‚˜์™€ ์•„์ฃผ ๊ฐ€๊นŒ์šด ์ƒ๋Œ€๊ฐ€ ์•„๋‹ˆ๋ฉด ๋งˆ์ฃผ์น  ์ผ์ด ์ ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜, ์‚ฌ๋…น์€ ๋ชจ๋‘๊ฐ€ ๊ฐ€๊นŒ์ด ๋ชจ์—ฌ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์กฐ๊ธˆ๋งŒ ๊ฐ€๊นŒ์ด ์žˆ์–ด๋„ ๋งˆ์ฃผ์น˜๊ฒŒ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์•„์ง€๊ฒŒ ๋œ๋‹ค.
  • ฮป1,ฮป2\textcolor{green}{\lambda_1, \lambda_2} : ์ •๊ทœํ™”์˜ ์„ธ๊ธฐ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ํ•˜์ดํผํŒŒ๋ผ๋ฏธํ„ฐ์ด๋‹ค. ์˜ค์ฐจ์™€ ๋ชจํ˜•๋ณต์žก๋„ ์ค‘ ์–ด๋Š๊ฒƒ์„ ๋” ์ค‘์ ์ ์œผ๋กœ ์ตœ์†Œํ™”ํ• ์ง€ ์ •ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

์ตœ์ ํ™”

์†์‹คํ•จ์ˆ˜๋ฅผ ์ตœ์†Œํ™”(Optimize)ํ•˜๋Š” PP์™€ QQ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ (ํ™•๋ฅ ์ ) ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์€ ์†์‹คํ•จ์ˆ˜๋ฅผ ์•ˆ์ •์ ์ด์ง€๋งŒ ๋Š๋ฆฌ๊ฒŒ ๊ฐ์†Œ์‹œํ‚จ๋‹ค.
  • ํ™•๋ฅ ์  ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์€ ์†์‹คํ•จ์ˆ˜๋ฅผ ๋ถˆ์•ˆ์ •ํ•˜์ง€๋งŒ ๋น ๋ฅด๊ฒŒ ๊ฐ์†Œ์‹œํ‚จ๋‹ค.
  • ์‹ค์ œ๋กœ๋Š” ํ™•๋ฅ ์  ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์ด ๋” ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค.

๊ณ ๊ธ‰ ์ž ์žฌ ์ธ์ˆ˜ ๋ชจํ˜•

์ž ์žฌ ์ธ์ˆ˜๋ชจํ˜•์€ ์ถ”์ฒœ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ๊ฐœ์„ ํ–ˆ์ง€๋งŒ, ๋„ทํ”Œ๋ฆญ์Šค ์ฑŒ๋ฆฐ์ง€์˜ ๋ชฉํ‘œ์ธ RMSE 0.8563์—๋Š” ๋„๋‹ฌํ•˜์ง€ ๋ชปํ–ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ด๋ฅผ ์ถ”๊ฐ€์ ์œผ๋กœ ๋” ๊ฐœ์„ ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋ช‡๊ฐ€์ง€ ํ…Œํฌ๋‹‰์„ ๋”ํ•œ ์ž ์žฌ ์ธ์ˆ˜ ๋ชจํ˜•์ด ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๋‹ค.

์‚ฌ์šฉ์ž์™€ ์ƒํ’ˆ์˜ ํŽธํ–ฅ์„ ๊ณ ๋ คํ•œ ์ž ์žฌ ์ธ์ˆ˜ ๋ชจํ˜•

๋ˆ„๊ตฐ๊ฐ€ ์˜ํ™”์˜ ํ‰์ ์„ ๋งค๊ธธ ๋•Œ, ์–ด๋–ค ์‚ฌ๋žŒ์€ ๋†’์€ ์ ์ˆ˜๋ฅผ ์ž˜ ์ฃผ๋Š” ๊ฒฝํ–ฅ์ด ์žˆ๋Š”๊ฐ€ ํ•˜๋ฉด, ์–ด๋–ค ์‚ฌ๋žŒ์€ ๋ˆˆ์ด ๊นŒ๋‹ค๋กœ์›Œ ๋Œ€๋ถ€๋ถ„์˜ ์ ์ˆ˜๋ฅผ ๋‚ฎ๊ฒŒ ์ฃผ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ด๋Ÿฐ ์‚ฌ๋žŒ๊ฐ„์˜ ํŽธ์ฐจ๋ฅผ ๊ฐ ์‚ฌ์šฉ์ž์˜ ํŽธํ–ฅ์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋„ทํ”Œ๋ฆญ์Šค ์ฑŒ๋ฆฐ์ง€์—์„œ, ๊ฐ ์‚ฌ์šฉ์ž์˜ ํŽธํ–ฅ์€ ํ•ด๋‹น ์‚ฌ์šฉ์ž์˜ ํ‰์  ํ‰๊ท ๊ณผ ์ „์ฒด ํ‰์  ํ‰๊ท ์˜ ์ฐจ์ด๋‹ค. ํ•ด๋‹น ์‚ฌ์šฉ์ž์˜ ํ‰์  ํ‰๊ท ์ด ์ „์ฒด ํ‰์  ํ‰๊ท ๋Œ€๋น„ ๋†’์œผ๋ฉด, ๊ทธ ์‚ฌ์šฉ์ž๋Š” ํ›„ํ•˜๊ฒŒ ์ ์ˆ˜๋ฅผ ์ฃผ๋Š” ๊ฐ์ด ์žˆ๊ณ , ์˜คํžˆ๋ ค ๋‚ฎ์œผ๋ฉด, ๊ทธ ์‚ฌ์šฉ์ž๋Š” ์ ์ˆ˜๋ฅผ ๋ฐ•ํ•˜๊ฒŒ ์ฃผ๋Š” ํŽธ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์ด๋Š” ๋„ทํ”Œ๋ฆญ์Šค์—์„œ๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์ƒํ’ˆ์˜ ์ถ”์ฒœ์‹œ์Šคํ…œ์—์„œ๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋œ๋‹ค.

๋”ฐ๋ผ์„œ ๊ฐœ์„ ๋œ ์ž ์žฌ์ธ์ˆ˜ ๋ชจ๋ธ์—์„œ๋Š” ํ‰์ ์„ ์ „์ฒด ํ‰๊ท , ์‚ฌ์šฉ์ž ํŽธํ–ฅ, ์ƒํ’ˆ ํŽธํ–ฅ, ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค.

rxiํ‰์ =ฮผ์ „์ฒดํ‰๊ท +bx์‚ฌ์šฉ์žํŽธํ–ฅ+bi์ƒํ’ˆํŽธํ–ฅ+pxโŠคqi์ƒํ˜ธ์ž‘์šฉ\underset{ํ‰์ }{r_{xi}} = \textcolor{red}{\underset{์ „์ฒดํ‰๊ท }{\mu}} + \textcolor{blue}{\underset{์‚ฌ์šฉ์žํŽธํ–ฅ}{b_x}} + \textcolor{green}{\underset{์ƒํ’ˆํŽธํ–ฅ}{b_i}} + \textcolor{purple}{\underset{์ƒํ˜ธ์ž‘์šฉ}{p_x^\top q_i}}
  • ๊ธฐ์กด์—๋Š” ์ƒํ˜ธ์ž‘์šฉ ํ•ญ๋งŒ์„ ๊ฐ€์ง€๊ณ  ํ‰์ ์„ ์˜ˆ์ธกํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค๋ฉด, ํŽธํ–ฅ์„ ๊ณ ๋ คํ•œ ์ž ์žฌ์ธ์ˆ˜ ๋ชจํ˜•์—์„œ๋Š” ์‚ฌ์šฉ์ž์™€ ์ƒํ’ˆ์˜ ํŽธํ–ฅ, ์ „์ฒด ํ‰๊ท ์„ ๋ชจ๋‘ ๊ณ ๋ คํ•œ๋‹ค.

์ด ๋ชจํ˜•์˜ ์†์‹คํ•จ์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

L=โˆ‘(i,x)โˆˆR(rxiโˆ’(ฮผ+bx+bi+pxโŠคqi))2+[ฮป1โˆ‘iโˆฅpxโˆฅ2+ฮป2โˆ‘iโˆฅqiโˆฅ2+ฮป3โˆ‘xbx2+ฮป4โˆ‘ibi2]\begin{aligned} \mathcal{L} = &\sum_{(i,x)\in R}(r_{xi}- (\mu + b_x + b_i + p_x^\top q_i))^2 \\ &+ [\lambda_1\sum_i\Vert p_x \Vert ^2 + \lambda_2\sum_i\Vert q_i \Vert ^2 + \lambda_3\sum_xb_x^2 + \lambda_4\sum_ib_i^2] \end{aligned}

์ด ๋ชจํ˜•์„ ์ ์šฉ์‹œ์ผœ RMSE๊ฐ€ 0.89๊นŒ์ง€ ๊ฐœ์„ ๋˜์—ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์—ฌ์ „ํžˆ ๋ชฉํ‘œ์น˜์—๋Š” ๋„๋‹ฌํ•˜๊ธฐ ์–ด๋ ค์› ๋‹ค.

์‹œ๊ฐ„์  ํŽธํ–ฅ์„ ๊ณ ๋ คํ•œ ์ž ์žฌ์ธ์ˆ˜ ๋ชจํ˜•

๋„ทํ”Œ๋ฆญ์Šค์˜ ์‚ฌ์šฉ์ž๋ณ„ ์˜ํ™” ํ‰์  ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ง‘๋˜์—ˆ๋˜ 2000๋…„๋ถ€ํ„ฐ 2005๋…„ ๊ตฌ๊ฐ„ ์‚ฌ์ด์—, ์‹œ์Šคํ…œ์˜ ๋ณ€ํ™”๋ฅผ ๊ณ„๊ธฐ๋กœ ํ‰์  ํ‰๊ท ์ด ํฌ๊ฒŒ ์ƒ์Šนํ•˜๋Š” ์ผ์ด ์žˆ์—ˆ๋‹ค. ๋˜ํ•œ, ์˜ํ™”์˜ ํ‰์ ์€ ์ถœ์‹œ์ผ ์ดํ›„ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ƒ์Šนํ•˜๋Š” ๊ฒฝํ–ฅ์„ ๋ค๋‹ค. ์ƒ์˜์ด ๋๋‚œ ์ž‘ํ’ˆ์€ ์ž…์†Œ๋ฌธ์„ ํƒ€์„œ/์ข‹์•„ํ•˜๋Š” ๊ฐ๋…์˜ ์ž‘ํ’ˆ์ด๋ผ์„œ ๋“ฑ๋“ฑ ๊ธ์ •์ ์ธ ๊ธฐ๋Œ€๋กœ ๊ฐ€์ง€๊ณ  ์‹œ์ฒญํ•˜๋Š” ์žฌ์œ ์ž…์ธ์›์ด ๋งŽ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด๋Ÿฐ ๋ฌธ์ œ๋ฅผ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด ์ž ์žฌ์ธ์ˆ˜ ๋ชจํ˜•์— ์‹œ๊ฐ„์  ํŽธํ–ฅ๊นŒ์ง€ ๊ณ ๋ คํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

rxiํ‰์ =ฮผ์ „์ฒดํ‰๊ท +bx(t)์‚ฌ์šฉ์žํŽธํ–ฅ+bi(t)์ƒํ’ˆํŽธํ–ฅ+pxโŠคqi์ƒํ˜ธ์ž‘์šฉ\underset{ํ‰์ }{r_{xi}} = \underset{์ „์ฒดํ‰๊ท }{\mu} + \underset{์‚ฌ์šฉ์žํŽธํ–ฅ}{b_x\textcolor{red}{(t)}} + \underset{์ƒํ’ˆํŽธํ–ฅ}{b_i\textcolor{red}{(t)}} + \underset{์ƒํ˜ธ์ž‘์šฉ}{p_x^\top q_i}

์ด ๊ฒฐ๊ณผ๋กœ RMSE 0.876๊นŒ์ง€ ๋„๋‹ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํš๊ธฐ์ ์ธ ๊ฐœ์„  ์ดํ›„์— ๋„ทํ”Œ๋ฆญ์Šค ์ฑŒ๋ฆฐ์ง€์—์„œ๋Š” Ensemble ๊ธฐ๋ฒ•์„ ์ถ”๊ฐ€์ ์œผ๋กœ ๋„์ž…ํ•œ ๋ช‡๋ช‡ํŒ€์ด ์ตœ์ข…์ ์œผ๋กœ ๋ชฉํ‘œ์น˜์— ๋„๋‹ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.


WRITTEN BY

์•ŒํŒŒ์นด์˜ Always Awake Devlog

Seoul