Latent Matrix Factorization
2021-1ํ๊ธฐ, ๋ํ์์ โ๊ณผ์ ์ฐ๊ตฌโ ์์ ์์ ์งํํ๋ ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ์ํด ๊ฐ์ธ์ ์ผ๋ก ์ ๋ฆฌํ ํฌ์คํธ์ ๋๋ค. ์ง์ ๊ณผ ๊ต๋ฅ๋ ์ธ์ ๋ ํ์์ ๋๋ค :)
Model DesignPermalink
(์ถ์ฒ: ๊ฐ์๋จน๋ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ)
๋จผ์ ์ ์ ์ ์ข ์ดํด๋ณด์.
ํ๋ ฌ
์ด์ ์ด ํ๋ ฌ
<Latent factor matrix>
(์ถ์ฒ: ๊ฐ์๋จน๋ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ)
์ด์ ์ฐ๋ฆฌ๋ factor matrix
์ด๋, ํ๋ ฌ
์ฆ, ์ฌ์ฉ์์ latent vector
How to Train?: LossPermalink
์ด์ ๋ชจ๋ธ์ ํ์ต์ํค๊ธฐ ์ํ ํํธ๋ค. ๋ฐฉ๋ฒ์ strightforward ํ๋ฐ, ๊ทธ๋ฅ
Regularization ํ ์ ์ถ๊ฐํด์ฃผ๋ฉด ์๋์ ๊ฐ๋ค.
OptimizationPermalink
Loss Function์ ๋์์ธ ํ์ผ๋ ์ด์ Optimization๋ง ๋ฌ์ฑํ๋ฉด ๋๋ค. ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋๋ฐ, <Gradient Descent>์ <Alternating Least Squares>, ๋ ๊ฐ์ง ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค. ๊ฐ๊ฐ ์ด๋ป๊ฒ ๋์ํ๋์ง ์ดํด๋ณด์!
Gradient DescentPermalink
GD๋ ๊ทธ๋ฅ Loss ํจ์
๊ฐ๋จํ๊ฒ
์ด์ ์ด Gradient ๊ฐ์ผ๋ก weight update๋ฅผ ์งํํ๋ฉด ๋๋ค.
๐ฅ ๋ณธ์ธ์
Gradient Descent ๋ฐฉ์์ ๋จ์ ์ ์ต์ ํ๋ฅผ ์ํค๋ ๊ณผ์ ์ด ๋๋ฌด ๋๋ฆฌ๊ณ , ๋ง์ ๋ฐ๋ณต์ด ํ์ํ๋ค. ๋, Global minimum์ด ์๋ local minimum์ stuckํ ๊ฐ๋ฅ์ฑ์ด ์๋ค ๋ฑ๋ฑ์ ๋จ์ ์ด ์๋ค. ๋จ์ ์ด ์๊ธด ์๋ค ๋๋ฒ์งธ ๋ฐฉ๋ฒ์ธ <Alternating Least Squares>๋ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ์ค๋งํธํ๊ฒ ํด๊ฒฐํ๋ค! ๐
Alternating Least SquaresPermalink
<Alternating Least Squares>์ ์ปจ์
์
๋จผ์ <ALS>์ loss๋ ์๋์ ๊ฐ์ด ์ ์๋๋ค.
<GD>์์์ Loss์ ์กฐ๊ธ ๋ฌ๋ผ์ก๋๋ฐ,
๋จผ์ , ์ ํธ๋
์ด๊ฒ์ ์ ์ ๊ฐ ํ์ ์ ๋จ๊ฒผ๋ค๋ฉด(
๋ค์์ผ๋ก ์ ๋ขฐ๋
์ฐ๋ฆฌ๋ ์ ํธ๋
<ALS>๋ ์ ๋ขฐ๋ ๋ณ์๋ฅผ ๋์ ํด ํ์ ์ด ์๋ ๋ฐ์ดํฐ์ ๋ํ ์์ธก๋ ์ ์ฒด Loss Function์ ์ํฅ์ ์ฃผ๋๋ก ๋ง๋ค์๋ค. ์ด๊ฒ์ ํ์ ์ด ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ํ์ต์์ ์ ์ธํ <Explicit Dataset>๊ณผ๋ ๋์กฐ๋๋ ์ ์ด๋ค! ๐ฒ
์ ๋ขฐ๋ ๋ณ์
โ๊ฐ์๋จน๋ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆโ์ ์ ์๋ถ๊ป์๋ ์ ๋ขฐ๋ ๋ณ์
์ด๋ฒ์๋ ์ค์ ๋ก <ALS>์ ๋์์ ์ดํด๋ณด์!
1. ๋จผ์ ์ฌ์ฉ์์ ์์ดํ ์ Latent Factor ํ๋ ฌ์ ์์ฃผ ์์ ๋๋ค๊ฐ์ผ๋ก ์ด๊ธฐํ ํ๋ค.
2. ๋ ์ค ํ๋๋ฅผ ์์๋ก ๊ณ ์ ์์ผ, Loss Function์ Convex Function์ผ๋ก ๋ง๋ ๋ค.
3. Loss๋ฅผ ํธ๋ฏธ๋ถ ํ๋ค. ๋ฏธ๋ถ ๊ฐ์ 0์ผ๋ก ๋ง๋๋ ํ๋ ฌ์ ๊ณ์ฐํ๋ค.
4. [2-3] ๋ฐ๋ณต
์์ดํ ์ Latent Factor๋ฅผ ๊ณ ์ ํ๊ณ , ์ฌ์ฉ์์ LF๋ฅผ ์ต์ ํ ์์ผ๋ณด์.
์์ดํ
ํ๋ ฌ์ ๊ณ ์ ํ๊ณ , <ALS>์ Loss๋ฅผ ์ฌ์ฉ์
์์ ์ ๋ฆฌํ๋ฉด,
์์
์ด์ ์ข๋ณ์
์์ ์์๋ ํฉ(ๅ)์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ด ์์ ๊ฒฐ๊ณผ๋ฅผ ์ป๋๋ฐ ์กฐ๊ธ ๋ถํธํ๋ค. ๊ทธ๋์ ์๋์ ๊ณผ์ ์ ํตํด ์์ ์ข๋ ๋จ์ํํด๋ณด์!
์์ดํ
ํ๋ ฌ
ํ์ง๋ง, ์์ ์์๋ ์ ๋ขฐ๋
Let
then,
์ฐ๋ณ๋ ์์ ์ ๋ฆฌํด๋ณด์.
์ด์ ์์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก (์ค์)์ ๋ค์ ๊ธฐ์ ํด๋ณด์.
์ด์
์์ ์ฝ๊ฐ ๋ค๋ฌ์ผ๋ฉด,
๋!! ์ด๋ ๊ฒ ๊ตฌํ
๋ค์์๋ ์ฌ์ฉ์ ํ๋ ฌ
๋ณดํต ๋ฐ๋ณต ํ์๋ฅผ 10~15ํ ์ ๋๋ก ์งํํ๋ฉด, ๋ฐ์ดํฐ ํฌ๊ธฐ์ sparse ์ ๋์ ๋ฐ๋ผ ํ์๋ ์กฐ์ ๋๋ค๊ณ ํ๋ค.
<ALS> ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ๊ตฌํ์ โ๊ฐ์๋จน๋ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆโ์ ์ ์ โํ์คํดโ๋์ ํฌ์คํธ๋ฅผ ์ฐธ๊ณ ํ๊ธธ ๋ฐ๋๋ค.
๐ ๊ฐ์๋จน๋ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ [5] ALS ๊ตฌํํ๊ธฐ