๐Ÿ“‘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์„ ๋™์ผํ•œ ๊ณต๊ฐ„์— ํ‘œํ˜„.
notion image
ย 

Proposed method

Matrix factorization ๋ชจ๋ธ์€ ์œ ์ €์™€ ์•„์ดํ…œ์„ f์ฐจ์›์˜ ์ž ์žฌ ๊ณต๊ฐ„(latent factor space)์œผ๋กœ ๋งคํ•‘.
๋”ฐ๋ผ์„œ ๊ฐ๊ฐ์˜ user, item vector๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด f์ฐจ์›์œผ๋กœ ํ‘œํ˜„๋จ.
user vector :
item vector :
๊ทธ ๊ฒฐ๊ณผ, user-item interaction(explicit, implicit feedback)์€ ๋‚ด์ ์œผ๋กœ ํ‘œํ˜„์ด ๊ฐ€๋Šฅํ•ด์ง.
ย 
SVD
notion image
๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ 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๊ฐ€ ํšจ๊ณผ์ ์ธ ๋‘๊ฐ€์ง€์˜ ์ƒํ™ฉ์ด ์กด์žฌ.
  1. ๋ณ‘๋ ฌํ™”๊ฐ€ ๊ฐ€๋Šฅํ•  ๊ฒฝ์šฐ
  1. 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๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Œ.
ย