일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 1
- Baekjoon
- git
- boostcamp #aI tech #주간리뷰
- git config global
- STAGE
- Push
- 수정사항업데이트
- 파이썬
- 두수비교하기
- ADD
- git push
- 1330
- regExr
- amend
- git commit
- 정규식
- github
- 함수
- Restore
- 백준
- python
- commit
- Reset
- 15596
- GitHub 설치
- local repository 생성
- remote repository 생성
- Today
- Total
Très bien
Collaborative Filtering (협업 필터링) 본문
Matrix Factorization (MF) for RecSys
협업필터링은 사용자의 행동 양식을 기반으로 아이템을 추천하는 방식입니다. 평점 정보나 상품 구매 이력 등을 기반으로 사용자가 아직 평가하지 않은 아이템을 예측하고 추천할 수 있습니다. Matrix Factoriation 기법은 사용자의 평점 정보나 사용자-아이템 간 상호작용 정보의 유사도를 계산하여 추천 아이템을 제공하는 기법입니다.
- 장점 : User-Item 간 상호작용 정보만 있으면 쉽게 적용할 수 있습니다.
- 단점 : user와 item에 대해 충분한 데이터량이 제공되지 않으면 잘못된 방향으로 수렴할 수 있습니다. (cold-start problem)
1. Similarity based MF
Cosine Similarity
2. Matrix Fatorization
사용자가 각 아이템마다 제공한 평점(rating)을 행렬로 표현한 User x Item 행렬은 MF 추천 메카니즘을 설계하는 시작점이 됩니다. 하지만, 사용자가 이용하고 평점을 남긴 Item(영화, 음악, 상품 등)에 비해 전체 Item의 범위가 워낙 방대하기 때문에 U x I 행렬은 빈 공간이 많은 Sparse Matrix가 대부분이며, 이러한 빈 칸을 예측하여 고객에게 추천 Item을 제공하는 것이 Collaborative Filtering 추천 방식의 목표입니다.
Sparse Matrix, [U x I] 행렬은 수학적 기법을 이용하여 두 개의 밀집 행렬(Dense Matrix), [U x f] ,[f x I] 의 곱으로 분해할 수 있고, 행렬 분해의 매개가 되는 f 변수를 latent feature (또는 hidden feature)라고 말합니다. 분해된 두 개의 행렬 중 하나는 사용자와 잠재 변수(latent feature) 간의 관계를 설명하고, 나머지 행렬은 잠재 변수 (latent feature)와 아이템 간의 상관관계를 나타냅니다.
3. Alternating Least Squares(ALS) based MF
ALS 기법은 반복적인 최적화 과정을 통해 사용자-아이템 간의 관계를 가장 잘 모사할 수 있는 잠재 특성을 찾아냅니다.
- ALS는 첫 번째 iteration(epoch)에서 [U x F] 행렬을 고정하고 [F x I]을 최적화하여 손실 함수를 최소화합니다.
- 두 번째 iteration에서는 반대로 [F x I] 행렬을 고정하고 [U x F] 행렬을 최적화하여 손실 함수를 최소화합니다.
- 손실함수가 특정 수준 이하로 수렴할 때까지 1)과 2) 과정을 반복하여 최적의 [U x F], [F x I] 행렬을 계산합니다.
4. References
- boostcamp AI Tech, Lecture Notes (추천시스템), by 이준원
- NVIDIA Developer Technical Blog, How to Build a Winning Recommendataion System, by Carol McDonald Gabriel Moreira https://developer.nvidia.com/blog/how-to-build-a-winning-recommendation-system-part-1/
'Study > RecSys' 카테고리의 다른 글
(Paper Review) Deep Neural Networks for YouTube Recommendations (0) | 2022.03.19 |
---|---|
Recommender System (추천시스템) (0) | 2022.03.19 |
(Paper Review) Neural Collaborative Filtering (0) | 2022.03.19 |
Content based filtering (0) | 2022.03.18 |
Movie Recommendation - Netflix Prize (0) | 2022.02.08 |