도메인 지식 필요X
사용자의 새로운 흥미를 발견하기 좋음
시작 단계의 모델로 선택하기 좋음
새로운 아이템에 대해서 다루기 힘듬
Side feature(고객 개인정보, 아이템 추가정보)를 포함시키기 어려움
사용자 3의 아이템 1과 6을 추천해주는 예시
1. 유사도계산 (= Cosine / Pearson)
2. 사용자 1과 사용자 2의 아이템 1과 6이 사용자 3과 비슷하기 때문에 두 사용자의 데이터를 활용해서 평균평점을 계산
3. 아이템 간의 유사도 계산
고유값 분해와 같은 행렬을 대각화 하는 방법
평점이 있는 부분에 대해서 Matrix Factorization을 시행하고 해당 부분의 오차를 최소화하는 것
이때, Gradient Descent처럼 오차를 최소화하는 방향을 찾기 위해 편미분을 수행
딥러닝을 수행하다 보면 보통 특정 Weight가 커지는 문제점이 생기고 이를 방지하기 위해서 Regularization을 수행
1. User Latent와 Item Latent을 Random Initialization 후 Dot-product 수행
2. Gradient Desent 수행
3. Weight Update
4. 모든 평점에 대해서 반복
기존의 SGD가 두개의 행렬을 동시에 최적화 하능 방법이라면
ALS는 두 행렬 중 하나를 고정시키고 다른 하나의 행렬을 순차적으로 반복하면서 최적화 하는 방법
기존의 최적화 문제가 convex 형태로 바뀌기에 수렴된 행렬을 찾을 수 있는 장점 존재
1. 초기 아이템, 사용자 행렬 초기화
2. 아이템 행렬을 고정하고 사용자 행렬을 최적화
3. 사용자 행렬을 고정하고 아이템 행렬을 최적화
4. 과정 반복