์ด๋ฒ ํฌ์คํ
์์๋ Implicit Feedback๋ฐ์ดํฐ๋ฅผ ํ์ฉํด MF๋ฅผ ํ์ตํ ์ ์๋ ๋
ผ๋ฌธ์ ๊ธฐ๋ฒ์ ๋ํด ์๊ฐํด๋ณด๋ ค๊ณ ํฉ๋๋ค! ๋ฒ ์ด์ง์ ์ถ๋ก ์ ๊ธฐ๋ฐํ๊ณ ์์ผ๋ฉฐ ์ ๊ทผ์ด ์ฌ๋ฐ๊ณ ๊ธฐ๋ฐํด์ ์ ๋ช
ํด์ง ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํฉ๋๋ค! Introduction 1) ์ฌ์ฉ์์ ํด๋ฆญ, ๊ตฌ๋งค ๋ฑ์ ๋ก๊ทธ๋ Implicit Feedback ๋ฐ์ดํฐ 2) binary(0/1)๋ก ์ด๋ฃจ์ด์ ธ์์ -> ์ ํธ๋๋ฅผ ๊ณ ๋ คํ์ง ์๊ณ ์ผ๋ฐ์ ์ผ๋ก ์ ์ ๊ฐ ์์ดํ
์ ํด๋ฆญ/๊ตฌ๋งค ํ ํ๋ฅ ์ ์์ธกํ๋ ๋ฌธ์ 3) ์ ์ ๊ฐ item i๋ณด๋ค j๋ฅผ ์ข์ํ๋ค๋ฉด? ์ด๋ผ๋ ์ ๋ณด๋ฅผ ์ฌ์ฉํด MF์ ํ๋ผ๋ฏธํฐ๋ฅผ ํ์ตํ๋ ๋ฐฉ๋ฒ => ๊ด์ธก๋์ง ์์ ๋ฐ์ดํฐ์ ๋ํด์ ์ ์ ๊ฐ ์์ดํ
์ ๊ด์ฌ์ด ์๋ ๊ฒ์ธ์ง / ์ ์ ๊ฐ ์ค์ ๋ก ๊ด์ฌ์ด ์์ง๋ง ์์ง ๋ชจ๋ฅด๋ ๊ฒ์ธ์ง ๊ณ ๋ คํด์ผ๋จ... Personalized R..
์ด๋ฒ ํฌ์คํ
์์๋ Matrix Factorizaton๊ณผ ์ต์ ํ ๊ธฐ๋ฒ์ ์๊ฐํ๋ ค๊ณ ํฉ๋๋ค!_! ๋จผ์ ๋ค์ํ๋ฒ Matrix Factorization ๊ธฐ๋ฒ์ ๋ํด ์ ์ํด๋ณด๊ฒ ์ต๋๋ค~_~ Matrix Factorization์ด๋? R๊ณผ ์ต๋ํ ์ ์ฌํ๊ฒ R^์ ์ถ๋ก ํ๋ ๊ฒ์ด ๋ชฉํ ์ฆ ๋ชฉ์ ํจ์๋ explicit feedback(1~5์ ํ์ )์์ true rating๊ณผ ์ฐ๋ฆฌ๊ฐ ์์ธกํ predicted rating์ ์ฐจ๋ฅผ Minimizeํ๋ ๊ฒ์ด๋ค. Objective Fuction (๋ชฉ์ ํจ์) 1) ํ์ต๋ฐ์ดํฐ์ ์๋ ์ ์ u์ ์์ดํ
i์ ๋ํ ์ค์ rating 2) ์ ์ u์ latent vector 3) ์์ดํ
i์ latent vector ->2),3)์ ์ต์ ํ ๋ฌธ์ ๋ฅผ ํตํด ์
๋ฐ์ดํธ ๋๋ ํ๋ผ๋ฏธํฐ 4) ๋๋ค te..
# Latent Factor Model? ๊ฐ๋จํ๊ฒ ๋งํ๋ฉด ์๋ฒ ๋ฉ์ ํ๋ค๋ ๋ป! ๋ค์ํ๊ณ ๋ณต์กํ ์ ์ ์ ์์ดํ
์ ํน์ฑ์ ๋ช๊ฐ์ ๋ฒกํฐ๋ก compact(์๊ฒ?) ํํ -> ์ ์ ์ ์์ดํ
์ ๊ฐ์ ์ฐจ์ ๋ฒกํฐ๋ก ํํํ์ฌ ๋ํ๋ -> ๊ฐ์ ๋ฒกํฐ ๊ณต๊ฐ์์ ์ ์ ์ ์์ดํ
์ ์ ์ฌํ ์ ๋๋ฅผ ๋์ผ๋ก ํ์ธํ ์ ์์ ์์) # ์ ํต์ SVD๋? Matrix Factorization์ ์ฝ์ด ์์ด๋์ด๊ฐ ๋จ! Rating Matrix R์ ๋ํด์ 1) ์ ์ ์ ์ฌ ์์ธ ํ๋ ฌ 2) ์ ์ฌ ์์ธ ๋๊ฐํ๋ ฌ 3) ์์ดํ
์ ์ฌ ์์ธ ํ๋ ฌ ์ด๋ ๊ฒ ์ธ๊ฐ์ง์ ํ๋ ฌ๋ก ๋ถํดํ๋ ๊ฒ์ด๋ค. => ์ด๊ฒ์ ๊ทธ๋ฅ ์ ํ๋์ํ์์์ ๊ฐ๋
์ผ๋ก ์ ์ ์ ์์ดํ
์ ์ ํด์ง ์ฐจ์์ผ๋ก ์๋ฒ ๋ฉํ๊ณ ์ถ๋ค๋ฉด? # Truncated SVD? ๋ํ๊ฐ์ผ๋ก ์ฌ์ฉ๋ k๊ฐ์ ํน์ด๊ฐ๋ง ์ฌ์ฉํ๋ค. ..
์ง๊ธ๊น์ง ์ ์ /์์ดํ
๊ฐ์ ์ ์ฌ๋๋ฅผ ๊ตฌํด ์ถ์ฒ์ ํ๋ User-based๋ Item-based ๊ฐ์ Neighborhood-based CF์ ๋ํด ๊ณต๋ถ๋ฅผ ํด๋ดค์ต๋๋ค! ์ด๋ฒ ํฌ์คํ
์์๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ํ์ฉํ๋ Model-based CF์ ๋ํด ์ ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค! # ๋ชจ๋ธ ๊ธฐ๋ฐ ํ์
ํํฐ๋ง? -SVD(Singular Value Decomposition) -MF(Matrix Factorization) / SGD, ALS, BPR ๋ฑ์ ์ข
๋ฅ๊ฐ ์์.. ์ ์ /์์ดํ
๊ฐ์ ์ ์ฌ๋์ ์์กดํ๋ ๊ธฐ๋ฒ๋ค์ ๋ฐ์ดํฐ์ sparsity(๋ฐ์ดํฐ์ ๋น๊ณต๊ฐ?)์ ์ทจ์ฝํ๊ณ ์ถ์ฒ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ ๋๋ง๋ค ๋ง์ ์ฐ์ฐ์ ์๊ตฌํ๊ฒ ๋ฉ๋๋ค! - Model-based CF๋ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ฉฐ ๋ฐ์ดํฐ..
์ ๋ฒ ํฌ์คํ
์ ๊ฒ์ํ CF(ํ์
ํํฐ๋ง) ๋ฐฉ๋ฒ์ ๋ณด๋ฉด https://xod22.tistory.com/12 [K-Data x ๋ฌ๋์คํผ์ฆ] 2-2. ํ์
ํํฐ๋ง(CF)์ ์๋ฆฌ ์ ๋ฒ ํฌ์คํ
์์๋ ์ปจํ
์ธ ๊ธฐ๋ฐ ์ถ์ฒ์ธ CB(Content-based Recommendation)์ ๋ํด ๊ณต๋ถํด๋ดค๋๋ฐ์! ์ด๋ฒ์๋ ๋ง์ด ์ฐ์ด๋ ํ์
ํํฐ๋ง(CF)์ ๋ํด ์ ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค!! # ํ์
ํํฐ๋ง? : CF(Collaborative Filterin.. xod22.tistory.com ์ ์ฌ๋ ๊ณ์ฐ์ด ํ์์ ์ธ๋ฐ์! ์ค๋์ ์ ์ฌ๋ ๊ณ์ฐ์ ํ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ๊ฒ ์ ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค! ๊ทธ๋ผ ์์! # 1) Cosine Similarity : ๋ ๋ฒกํฐ์ ๊ฐ๋๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํ ์ ์๋ ์ ์ฌ๋. ์ง๊ด์ ์ผ๋ก ๋ ๋ฒกํฐ๊ฐ ๊ฐ๋ฆฌํค๋ ๋ฐฉํฅ์ด ..
์ ๋ฒ ํฌ์คํ
์์๋ ์ปจํ
์ธ ๊ธฐ๋ฐ ์ถ์ฒ์ธ CB(Content-based Recommendation)์ ๋ํด ๊ณต๋ถํด๋ดค๋๋ฐ์! ์ด๋ฒ์๋ ๋ง์ด ์ฐ์ด๋ ํ์
ํํฐ๋ง(CF)์ ๋ํด ์ ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค!! # ํ์
ํํฐ๋ง? : CF(Collaborative Filtering) => ์ ์ A์ ๋น์ทํ ์ฑํฅ์ ๊ฐ๋ ์ ์ ๋ค์ด ์ ํธํ๋ ์์ดํ
์ ์ถ์ฒํ๋ค. => ์์ดํ
์ด ๊ฐ์ง ์์ฑ์ ์ฌ์ฉํ์ง ์์ผ๋ฉด์๋ ๋์ ์ฑ๋ฅ์ ๋ณด์! # 1) User-based Collaborative Filtering : ๋ ์ ์ ๊ฐ ์ผ๋ง๋ ์ ์ฌํ ์์ดํ
์ ์ ํธํ๋๊ฐ? ์ ์ ๊ฐ์ ์ ์ฌ๋๋ฅผ ๊ตฌํ๋ค, ๋์ ์ ์ฌ๋๊ฐ ๋์ ์ ์ ๋ค์ด ์ ํธํ๋ ์์ดํ
์ ์ถ์ฒํจ! ์์ ) User B๊ฐ ์คํ์์ฆ์ ๋งค๊ธด ํ์ ์ ์์ธกํ๊ณ ์ถ์ ์ํฉ์์ User A,B๊ฐ ๊ฐ ์ํ์ ๋งค๊ธด ํ์ ์..
# ์ปจํ
์ธ ๊ธฐ๋ฐ ์ถ์ฒ? : CB(Content-based Recommendation) ์ ์ A๋ผ๋ ์ฌ๋์ด ๊ณผ๊ฑฐ์ ์ ํธํ ์์ดํ
์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ๋น์ทํ ์์ดํ
์ ์ ์ A์๊ฒ ์ถ์ฒํ๋ค. => ์์ดํ
์ ๋ฉํ๋ฐ์ดํฐ์ ์) - ์ํ : ๋ฐฐ์ฐ, ๊ฐ๋
, ์ํ์ฅ๋ฅด - ์์
: ์ํฐ์คํธ, ์ฅ๋ฅด, ๋ฆฌ๋ฌ, ๋ฌด๋ - ๋ธ๋ก๊ทธ / ๋ด์ค : ๋น์ทํ ์ฃผ์ ๋ ๋ด์ฉ์ ๊ฐ์ง ํ
์คํธ(๋ฌธ์ฅ, ๋จ์ด) - ์ฌ๋ : ๊ณตํต์ ์น๊ตฌ๋ฅผ ๋ง์ด ๊ฐ์ง ๋ค๋ฅธ ์ฌ๋ # Item Profile ์ถ์ฒ ๋์์ด ๋๋ ์์ดํ
์ Profile์ ๋ง๋ค์ด์ผํ๋ค. Profile์ ์์ดํ
์ด ๊ฐ์ง๊ณ ์๋ ํน์ง๋ค๋ก ๊ตฌ์ฑ๋์๋๋ฐ ์ด ์์ฑ๋ค์ Vectorํํ๋ก ํํํ๋ค. * ๋ฌธ์์ ๊ฒฝ์ฐ Item Profile : ์ค์ํ ๋จ์ด๋ค์ ์งํฉ์ผ๋ก ํํ ๋จ์ด์ ๋ํ ์ค์๋๋ฅผ ๋ํ๋ด๋ ์ค์ฝ์ด..
# Offline Test - ์๋ก์ด ์ถ์ฒ ๋ชจ๋ธ์ ๊ฒ์ฆํ๊ธฐ ์ํด ๊ฐ์ฅ ๋จผ์ ํ์ํ ๋จ๊ณ - ์ ์ ๋ก๋ถํฐ ์์งํ ๋ฐ์ดํฐ๋ฅผ Train/Valid/Test๋ก ๋๋์ด ๋ชจ๋ธ์ ์ฑ๋ฅ์ ํ๊ฐ => ์ถ์ฒ๋ชจ๋ธ์ ๊ณ ๋ํ์ํฌ ์ ์๋ค # Online A/B Test - ์ถ์ฒ์์คํ
์ ๋ณ๊ฒฝ ์ ํ์ ์ฑ๋ฅ์ ๋น๊ตํ๋ ๊ฒ์ด x - ๋์์ ๋์กฐ๊ตฐ(A)์ ์คํ๊ตฐ(B)์ ์ฑ๋ฅ์ ํ๊ฐ (๋จ, ๊ฐ์์๊ฐ ๋ฐ ๊ฐ์ ํ๊ฒฝ์์ ํ๊ฐํด์ผํจ) - ์ค์ ์๋น์ค๋ฅผ ํตํด ์ป์ด์ง๋ ๊ฒฐ๊ณผ๋ฅผ ํตํด ์ต์ข
์์ฌ๊ฒฐ์ => ์๊ฐ๋ณ๋ก ์ ์๋ฏธํ ์ฐจ์ด๋ฅผ ๊พธ์คํ ๋ํ๋ด๋์ง # ์ถ์ฒ ์์คํ
๋ณ ํ๊ฐ์งํ 1) ๋ญํน(Ranking) => ์ฃผ๋ก NDCG@k / Recall@k : ์ ์ ์๊ฒ ์ ํฉํ ์์ดํ
Top K๊ฐ๋ฅผ ์ถ์ฒ ์ ์ ์ ์์ดํ
์ ๋ํ ์ ํธ๋๋ฅผ ๊ตฌํ ํ์ ์์ด ์๋น์๊ฐ ์ ํธํ ..