๐Paper Review
[paper review] Matrix Factorization Techniques For Recommender Systems
date
Feb 1, 2024
slug
recommender-systems-1
author
status
Public
tags
paper
DeepLearning
summary
type
Post
thumbnail
category
๐Paper Review
updatedAt
Sep 6, 2024 01:28 PM
Introduction
ํ์
ํํฐ๋ง ๊ธฐ๋ฐ ์ถ์ฒ์์คํ
์์
Latent factor model์ user์ item ์ํธ๊ด๊ณ ํจํด(rating, ๊ตฌ๋งค์ฌ๋ถ)์์ ์ถ์ถ๋ 20~100๊ฐ์ ํด๋นํ๋ Latent factor(์ฐจ์, ์ถ)๋ฅผ ์ด์ฉํ์ฌ ์ ์ ์ ์์ดํ
์ ๊ฐ์ ๊ณต๊ฐ์ ๋งคํํ๋ ๋ฐฉ๋ฒ.
ย
๊ฐ๊ฐ์ ํ์ต๋ factor ์ค์๋ ์ฝ๋ฉ๋ vs ๋๋ผ๋ง ์ ๊ฐ์ด ๋ถ๋ช
ํ ํน์ฑ ๋๋น๋ฅผ ๋ณด์ฌ์ฃผ๋ factor๊ฐ ์กด์ฌํ ์ ๋ ์์ผ๋ฉฐ, ์บ๋ฆญํฐ์ ๊น์ด ํน์ ๊ธฐ๋ฐํจ๊ณผ ๊ฐ์ด ๋ถ๋ช
ํ์ง ์์ ํน์ง์ ํํํ๋ factor ๋ํ ์กด์ฌํ ์ ์์.
ย
e.g.) 2๊ฐ์ Factor(2์ฐจ์)๋ฅผ ์ด์ฉํ์ฌ user์ item์ ๋์ผํ ๊ณต๊ฐ์ ํํ.
ย
Proposed method
Matrix factorization ๋ชจ๋ธ์ ์ ์ ์ ์์ดํ
์ f์ฐจ์์ ์ ์ฌ ๊ณต๊ฐ(latent factor space)์ผ๋ก ๋งคํ.
๋ฐ๋ผ์ ๊ฐ๊ฐ์ user, item vector๋ ๋ค์๊ณผ ๊ฐ์ด f์ฐจ์์ผ๋ก ํํ๋จ.
user vector :
item vector :
๊ทธ ๊ฒฐ๊ณผ, user-item interaction(explicit, implicit feedback)์ ๋ด์ ์ผ๋ก ํํ์ด ๊ฐ๋ฅํด์ง.
ย
SVD
๊ฐ์ฅ ๊ฐ๋จํ MF ๋ฐฉ๋ฒ์ SVD๋ฅผ ์ฌ์ฉํ์ฌ user-item interaction matrix๋ฅผ ๋ถํดํ๋ ๊ฒ์.
์๋ค์ํผ, SVD๋ ์์ฑ๋ MxN matrix๋ฅผ ๊ฐ์ f์ฐจ์์ ๊ณต์ ํ๋ Mxf, Nxf Matrix๋ก ๋ถํดํ ์ ์๋ ๋ฐฉ๋ฒ๋ก ์.
ย
ํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก, rating๊ณผ ๊ฐ์ user-item interaction matrix๋ ๊ฒฐ์ธก์น๊ฐ ๋งค์ฐ ๋ง์ sparse matrix์. ๋ฐ๋ผ์ ์ถ์ฒ์์คํ
์ SVD๋ฅผ ํ์ฉํ๋ ๊ฒ์ ์ฝ์ง ์์.
๋ฐ๋ผ์ imputation์ ํ์ฉํ์ฌ ์ด๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํ ์ฐ๊ตฌ๋ค์ด ์กด์ฌํ์.
ํ์ง๋ง, user, item์ด ์ฆ๊ฐํ ์๋ก imputation์ ์ํ ๊ณ์ฐ์๊ฐ์ด ํฌ๊ฒ ์ฆ๊ฐํ ์ ์์.
๋ฐ์ดํฐ๋ฅผ ์๊ณกํ ๊ฐ๋ฅ์ฑ ๋ํ ์ฆ๊ฐํจ.
ย
Matrix Completion(optimization approach)
๋ฐ๋ผ์ ์ผ๋ฐ์ ์ผ๋ก Matrix Factorization์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ง์ ์ด์ฉํ์ฌ error term์ ์ต์ํํ๋ user, item vector๋ฅผ ๊ตฌํจ.
์ด๋ฌํ ์์คํ
์ , ๋ฅผ ์ป๊ธฐ ์ํด ๋ค์์ regularized squared error๋ฅผ ์ต์ํ.
์ค๋ฅธ์ชฝ regularization term์ ์๋ ค์ง์ง ์์ ํ์ ์ ๋ํ ๋ชจ๋ธ์ ์ผ๋ฐํ๋ฅผ ์ํจ.
์ด๋ฌํ ๊ฒฝ์ฐ, MF๋ User, Item ๊ฐ์ย Sparseย Interaction Matrix๋ฅผ ์ฑ์์ฃผ๋ย Matrix completion์ด๋ผ๊ณ ๋ ํ ์ ์์.
ย
์ต์ ํ๋ SGD, ALS๋ฅผ ํตํด ๊ฐ๋ฅํจ.
ย
SGD
ย
ALS
, ๊ฐ ๋ฏธ์ง์ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ mse๊ฐ convex๋ผ๋ ๋ณด์ฅ์ด ์์.
๋ฐ๋ผ์ ๋ ๋ณ์๋ฅผ ๋ฒ๊ฐ์ ๊ฐ๋ฉฐ ๊ณ ์ ํ์ฌ ์ต์ ํ ํจ. โ> convexํ 2์ฐจ์์ผ๋ก ์ต์ ํ ๊ฐ๋ฅ.
๋ณดํต์ ๊ฒฝ์ฐ๋ SGD๊ฐ ๋ ์ฝ๊ณ ๋น ๋ฅด์ง๋ง ALS๊ฐ ํจ๊ณผ์ ์ธ ๋๊ฐ์ง์ ์ํฉ์ด ์กด์ฌ.
- ๋ณ๋ ฌํ๊ฐ ๊ฐ๋ฅํ ๊ฒฝ์ฐ
- Implicit data์ ์ง์ค๋ ์์คํ ์ผ ๊ฒฝ์ฐ
ย
Adding bias
user, item vector์ ๋ด์ ์ user, item์ ํน์ฑ์ ๋ฐ์ํ๋ bias๋ฅผ ๋ํด์ค ์๋ ์์.
e.g.) ํ์ ์ด ํํ ์ ์ , ๋ฐํ ์ ์ ๊ฐ ์กด์ฌํจ.
โ> add bias โ>
Additional Input Sources
ํ์
ํํฐ๋ง์ ๋ฌธ์ ์ ์ธ cold-start์ ๋์ฒํ๊ธฐ ์ํด implicit feedback์ ์ถ๊ฐ๋ก ๋ฐ์ํ ์ ์์.
๋จ์ํ ํ์ฌ boolean implicit feedback์ ๋ฐ์ํ๋ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ์์ฑ์ ์ถ๊ฐ์ ์ผ๋ก ๋ฐ์๊ฐ๋ฅ.
(๋ user u๊ฐ implicit feedback์ ๋ณด์ธ item set)
์์ดํ
๊ณผ ๊ด๋ จ๋์ง ์์ ์์ฑ๊ณผ ์ฑ๋ณ, ๋์ด, ์ฐํธ๋ฒํธ ๋ฑ๊ณผ ๊ฐ์ด ์ธ๊ตฌํต๊ณ์ ์ธ ์ ์ ์ ์์ฑ(user attributes)๋ ๋ฐ์ ๊ฐ๋ฅ.
(๋ ์ ์ u์ ์์ฑ ์งํฉ)
๊ฐ๊ฐ ์ถ๊ฐ์ ์ธ ์์ฑ์ ๋ฐ์ํ ์ํธ์์ฉ์ ๋ค์๊ณผ ๊ฐ์ด ๊ณ์ฐ ๊ฐ๋ฅ.
Adding Temporal dynamics
๋ชจ๋ ์์ดํ
์๋ ์ ํ์ด ์กด์ฌํ๋ฏ, ์ ํธ๋์ ์ฑํฅ์ ์๊ฐ์ ๋ฐ๋ผ ์ถฉ๋ถํ ๋ฐ๋ ์ ์์.
Matrix Factorization์ ๋ฐ์ดํฐ์ ์๊ฐ์ ๋ฐ๋ฅธ ๋์ ์ธ ๋ณํ ๋ํ ๋ฐ์์ด ๊ฐ๋ฅ. ์๋์ ์์์ t๋ ์๊ฐ์ ์๋ฏธํจ.
๋ ์๊ฐ์ ๋ฐ๋ฅธ ์์ดํ
, ์ ์ , ํ์ ์ ํธํฅ
ย
Adding confidence levels
๊ฐ๊ฐ ๋ฐ์ดํฐ์ ์ ๋ขฐ๋์ ๋ํ ๊ฐ์ค์น๋ฅผ ์ค ์ ์์.
<๊ทธ๋ฆผ>์ ํตํด ๋ค์ํ ์์ฑ์ ๋ฐ์ํ์ ๋, RMSE๊ฐ ๊ฐ์ฅ ๋ฎ์์ ์ ์ ์์.
ย