본문 바로가기
추천시스템

추천시스템. 염두에 둘 것.

by 볼록티 2022. 11. 20.
728x90
반응형

추천시스템을 적용할 때 고려해야 할 사항.

- 콘텐츠가 많은 경우 특정 카테고리의 콘텐츠에 대한 정보로 다른 카테고리 콘텐츠 추천에 적용하는 경우에 주의해야 한다. 적용하는 경우 카테고리 간의 관계를 고려해야 한다.

- 작은 데이터로 실험하되, 추천알고리즘의 갱신주기, 계산복잡도를 현실적으로 커버할 수 있는지 고려해야 한다.

- 사용자 선호도를 나타내는 로그가 많다면 그 많은 복잡한 정보를 모두 수용할만한 복잡한 알고리즘이 필요할 수 있다.

- 사용자에 대한 패드백은 개개인별로 상대적인 값이므로 절대적으로 비교하기 보다 이러한 상대성을 고려하면 좋다.

- MF의 경우 예측값을 뽑기 위해서 데이터 전체를 넣어서 dense matrix를 만들어 추천리스트를 생성한다.

- 새로운 사용자나 새로운 콘텐츠가 들어오는 경우에는 지식기반으로 추천한다. 신규 아이템을 적절히 추천해 자주 추천되는 것만 추천되는 상황을 방지하도록 한다.

- 계산 효율성에 대한 근본적인 해결책은 Spark와 같은 병렬처리 기술로 대규모 데이터에 대한 연산을 빠르게 처리한다. 혹은 배치방식으로 추천리스트를 업데이트한다.

- 학습을 할 때 샘플링을 통해서 학습하면 좀 더 적은 양으로 작업이 가능하다.

 

 

추천시스템을 적용할 때 팁.

- 가장 간단한 추천으로는 모든 사람에게 동일한 콘텐츠를 추천해주는 것이다. 예를 들면 평균 평점이 높은 콘텐츠나 조회수가 많은 콘텐츠와 같이 인기가 많은 상품을 노출하는 것이다.

- 모든 사용자에게 동일한 콘텐츠를 추천하는 것에 더해 집단(성별, 나이 등)을 나누고 특정 사용자가 속한 집단에 대한 정보로 추천을 해주는 것도 그리 어렵지 않게 추천을 하는 방법이다.

- 사용자의 demographic 정보보다 사용자의 취향을 토대로 집단화하는 것이 더 추천 정확도가 높다. 이게 협업필터링이다.

- binary한 패드백에 대한 유사도는 자카드 유사도가 좋다.

- UBCF는 사용자에 대한 데이터가 풍부한 경우에 좋다.

- IBCF는 UBCF에 비해 계산이 빠르고, 업데이트를 자주 하지 않아도 된다. 상대적으로 터무니 없는 추천을 하는 경우가 더 적다.

- 메모리 기반 방법은 대용량의 데이터에 대한 계산량이 매우 많다. 모델 기반의 방법은 모델을 만드는 과정에서 계산량이 많지만 상용화면에서는 빠른 대응이 가능하다는 장점이 있다.

- 모델 기반 방법은 사용자의 패턴에 집중하기 때문에 weak signal을 잘 잡아낸다는 장점이 있다.

- MF은 초기 적용에 좋다. MF는 FM에서 사용자x아이템 행렬을 사용하는 특별한 경우이다.

- FM은 다양한 변수를간의 상호작용을 고려하여 예측값을 생성하는 방법. feature가 많은 경우 성능을 기대할 수 있다.

- surprise패키지로 추천알고리즘 사용가능하다.

- bias를 추가할 때 레이어 직접넣으면 복잡해지니 처음에 먼저 bias빼주고 나중에 예측치에 다시 더해주는 방법을 사용한다.

- MF같이 사용자, 아이템 임베딩을 얻을 수 있는 경우, 딥러닝 모델의 입력으로 사용가능하다.

- 하이브리드 방법의 경우에는 한 알고리즘이 다른 알고리즘이 잡아내지 못하는 패턴을 보정해줄 수 있기 때문이다.

 

 

 

 

콜드스타트, 계산량, 성능측정, 추천기법, ...

문제를 명확히 설정하고 기여할 수 있는 추천시스템을 구축하는 것 --> 추천시스템 전문가가 할 일.

 

728x90
반응형

'추천시스템' 카테고리의 다른 글

GC-MC(Graph Convolutional Matrix Completion)  (0) 2023.02.20
LightGCN  (0) 2023.02.12
추천시스템 기술 요약  (0) 2022.11.13
딥러닝과 추천시스템  (0) 2021.03.18
Model based Collaborative Filtering  (0) 2021.02.04

댓글