2. Memory Based Collaborative Filtering

2023. 12. 11. 14:42NAVER AI Tech/Project

추천시스템 1. 콘텐츠 기반 필터링

    - 아이템간 유사도를 활용하여 현재 보고 있는 상품과 유사한 상품을 추천.

    - 아이템을 임베딩하기 위한 여러 방법론을 사용하여 저차원에서 유사도를 비교할 수 있도록 함.

 

장점

1. 다른 유저의 데이터가 필요 없음 = cold start, sparsity 문제 없음

2. 독특한 취향을 가진 유저에게도 추천 가능

3. 새로운 아이템이나 유명하지 않은 아이템도 추천 가능

 

단점

1. 아이템에 적합한 feature를 뽑기 어려움

2. 유사한 아이템만 반복적으로 추천되어 다양성이 떨어짐

3. 다른 유저의 데이터나 사용자의 평가를 반영하기 어려움

 

 

추천시스템 2. Collaborative Filtering

    - 나와 비슷한 성향의 사람들이 좋아하는 아이템을 나한테도 추천.

    - 즉 많은 사용자들의 선택으로 만들어진 정보를 활용함.

학습과정이 없다면 Memory Based, 학습과정이 있다면 Model Based

 

Memory Based CF

    - user-item matrix를 생성하여 가중평균을 이용해 빈칸의 score를 생성

 

장점 

1. 최적화나 훈련과정이 필요 없고 접근 방식이 이해하기 쉬움.

 

단점

1. 데이터 희소성 문제(Sparsity) : sparse data의 경우 성능이 좋지 않음

2. 확장성 문제(Scalability) : 데이터가 많아지면 계산량이 기하급수적으로 증가

3. user-based : cold-start 문제 존재. item-based : feedback정보가 많아야 사용 가능

 

 

 

Model Based CF

    - 예시 : Clustering(군집 내 다른 사용자가 선호하는 아이템 추천)

    - 군집화 알고리즘 : K-means, DBCAN, GMM, OPTICS, Hierarchical clustering 등등

 

장점

1. 데이터 패턴을 학습하여 추천(항목 간 유사성을 단순 비교하는게 아님)

2. user-item 간의 잠재적 특성 및 패턴을 찾을 수 있음

3. user, item 수가 늘어나도 좋은 성능을 보임

4. 학습 이후 서빙 속도 빠름.

 

단점 

1. 군집 개수 등 하이퍼파라미터 의존

2. K-means : 구형 분포가 아닌 경우 성능 저하. 이상치에 민감

3. DBCAN : 차원 수가 커질수록 데이터 밀도가 떨어져 군집 형성이 어려움(차원의 저주에 빠짐)

4. GMM : 데이터가 정규성을 만족하지 않은 경우 성능 저하. 

4. Hierarchical clustering : 모든 경우에 대해 유사도를 계산하므로 계산량이 많음.