HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
장지원 페이지/
기계학습개론
기계학습개론
/
#15. Collaborative Filtering

#15. Collaborative Filtering

선택
fin
참고 자료
텍스트
Apr 30, 2024
보편적으로 사용되는 분야 (정해진 것은 아님,classification model이 regression할 수 있도록 할 수 있다)
Classification
차수 (일주일 단위)
9-1.
📌
추천 시스템에 대한 설명이다.
 

[Collaborative Filtering]

What
? 정보를 찾아내는 것이 goal이다.
이것은 안에 채워져 있는 숫자(weighting)을 바탕으로 채워진다.
weighting은 유저의 체류시간, 별점 등으로 채워진다..
notion image
How
Centering Data
먼저 평균을 빼줘서 bias를 제거해 준다. User 별로 점수 주는 방식이 다를 수 있기 때문이다.
User mean을 빼줘도 되고, Item mean을 빼줘도 된다. (근데 보통은 User가 편향을 가지게 되니까 User mean을 빼주겠지? item이 편향을 가지게 되는 경우는 별점 강요.. 등이 있을 것이다)
notion image
K means
Item based: item을 바탕으로 similarity 계산
→ 이걸 주로 사용한다. 계산량도 적고, 미리 계산이 가능하기 때문이다.
user based: user를 바탕으로 similarity 계산
similarity는 다음과 같이 계산한다.
(유클리안 거리에 역수를 취한 이유는 가까운 것들에 큰 값을 주기 위해서 이다. 거리는 가까울 수록 작아지기 때문에 역수를 취해서 크게 해주었다)
notion image
구한 simiarity(S)를 바탕으로 계산해서 결과를 제공한다.
notion image
Evaluation
다음과 같은 방식으로 평가할 수 있다.
실제 결과 - 예측 값을 활용한다.
Rank를 예측해서 비교해 볼 수도 있다.
notion image
Pros and Cons
Pros
  • 구현이 쉽다.
  • train time이 없다.
Cons
  • lazy 기법이기 때문에 속도가 느리다. → 미리미리 계산해 놓음으로써 해결할 수는 있다.
  • weight를 바로 계산하기 어렵다 → 실시간성이 떨어진다.
 

[Matrix Factorization]

What
R을 Matrix Factorization을 한 후, 이를 바탕으로 얻은 낮은 차원 matrix로 R을 reconstruct하는 기법이다.
→ space로 낮춤으로써 complexity를 낮출 수 있다.
notion image
How
EM 알고리즘
Miss value가 있으면 decomposition(SVD)이 안된다. EM 알고리즘을 통해서 이를 해결한다.
notion image
ALS 알고리즘
초기 intial로 A, 또는 B 고정한다. 만약 A를 고정하면 R = A(이 때 theta는 B)가 되고, 이를 regression 문제로 풀 수 있다. 이가 ALS 알고리즘이다.
notion image
(수식은 그냥 참고만 하자)
장점
  • 적용하기 쉽고, 적용이 잘된다.
단점
  • 처음 값의 dependency가 크다.
  • Local optima에 빠지기 쉽다. ⇒ 모든 EM 알고리즘의 단점이다..
  • 시간이 오래 걸린다.