협업 필터링이란 무엇인가요?

로스앤젤레스 고속도로의 조감도

작성자

Jacob Murel Ph.D.

Senior Technical Content Creator

Eda Kavlakoglu

Business Development + Partnerships

IBM Research

협업 필터링은 추천 시스템의 한 유형입니다. 유사한 행동을 기반으로 사용자를 그룹화하여 그룹의 특성에 따라 새로운 항목을 추천합니다.

협업 필터링은 비슷한 선호도와 행동을 가진 다른 사용자들이 해당 항목과 상호 작용한 방식을 기반으로 사용자에게 항목을 추천하는 정보 검색 방법입니다. 즉, 협업 필터링 알고리즘은 동작에 따라 사용자를 그룹화하고 일반적인 그룹 특성을 사용하여 대상 사용자에게 항목을 추천합니다. 협업 추천 시스템은 행동 관점에서 유사한 사용자들이 비슷한 관심사와 취향을 공유한다는 원칙에 따라 작동합니다.1

협업 필터링과 콘텐츠 기반 필터링 비교

협업 필터링은 추천 시스템의 두 가지 기본 유형 중 하나이며, 다른 하나는 콘텐츠 기반 추천 시스템입니다. 이 후자의 방법은 항목 기능을 사용하여 특정 사용자가 과거에 긍정적으로 상호 작용한 항목과 유사한 항목을 추천합니다.2 협업 필터링은 사용자 유사성에 중점을 두어 항목을 추천하는 반면, 콘텐츠 기반 필터링은 항목 프로필 기능에 따라서만 항목을 추천합니다. 콘텐츠 기반 필터링은 협업 필터링에서와 같이 그룹이나 유형이 아닌 특정 사용자의 선호도에 대한 권장 사항을 대상으로 합니다.

두 가지 방법 모두 최근 몇 년 동안 아마존과 같은 전자상거래부터 소셜 미디어, 스트리밍 서비스에 이르기까지 많은 실제 적용 사례를 목격했습니다. 협업 시스템과 콘텐츠 기반 시스템이 함께 하이브리드 추천 시스템을 구성합니다. 실제로 2009년 Netflix는 Netflix 상금 대회를 통해 하이브리드 추천 시스템을 도입했습니다.

트랙에서 굴러가는 공의 3D 디자인

최신 AI 뉴스+인사이트


주간 Think 뉴스레터에서 전문가들이 선별한 AI, 클라우드 등에 관한 인사이트와 소식을 살펴보세요. 

협업 필터링 작동 방식

협력적 필터링은 행렬을 사용하여 시스템의 각 항목에 대한 사용자 행동을 매핑합니다. 그런 다음 시스템은 이 행렬에서 값을 추출하여 벡터 공간에 데이터 포인트로 표시합니다. 그런 다음 다양한 측정 항목을 통해 사용자 간 유사도와 항목 간 유사도를 계산하는 수단으로 지점 간의 거리를 측정합니다.

사용자 항목 매트릭스

협업 필터링의 표준 설정에서는 n명의 사용자와 x개의 항목 집합이 있습니다. 각 항목에 대한 각 사용자의 개별 선호도는 사용자-항목 행렬(사용자 평가 행렬이라고도 함)에 표시됩니다. 여기서 사용자는 행으로, 항목은 열로 표시됩니다. Rij 행렬에서 주어진 값은 항목 i에 대한 사용자 u의 행동을 나타냅니다. 이러한 값은 사용자가 제공한 연속적인 숫자(예: 평점)이거나 특정 사용자가 항목을 보았는지 또는 구매했는지를 나타내는 이진 값일 수 있습니다. 다음은 서점 웹사이트의 사용자 시간 행렬 예시입니다.

이 매트릭스는 시중의 도서에 대한 사용자 평점을 표시합니다. 협업 필터링 알고리즘은 각 도서에 대해 사용자가 제공한 평점을 비교합니다. 이러한 평점을 기반으로 유사한 사용자 또는 항목을 식별하여 대상 사용자가 못한 도서에 대한 평점을 예측하고(매트릭스에서 null로 표시) 대상 사용자에게 해당 도서를 추천(또는 추천하지 않음)합니다.

여기에 사용된 예제 매트릭스는 4명의 사용자와 4개의 항목으로 제한된다는 점을 감안할 때 가득 찼습니다. 그러나 실제 시나리오에서는 항목에 대한 알려진 사용자의 기본 설정이 제한되는 경우가 많아 사용자-항목 매트릭스가 희박합니다.3

유사성 측정

협업 추천 알고리즘은 다양한 사용자 간의 유사성을 어떻게 결정하나요? 앞서 언급했듯이 벡터 공간에서의 근접성이 주요 방법입니다. 그러나 근접성을 결정하는 데 사용되는 구체적인 메트릭은 다를 수 있습니다. 이러한 두 가지 메트릭으로는 코사인 유사성과 피어슨 상관 계수가 있습니다.

코사인 유사도

코사인 유사도는 두 벡터 사이의 각도를 측정하는 것을 의미합니다. 비교 벡터는 주어진 사용자 또는 항목에 대한 평가의 하위 집합으로 구성됩니다. 코사인 유사도 점수는 -1과 1 사이의 값이 될 수 있습니다. 코사인 점수가 높을수록 두 항목이 더 비슷하다고 간주됩니다. 일부 출처에서는 고차원 특징 공간에 이 지표를 권장합니다. 협업 필터링에서는 벡터 포인트가 사용자-항목 행렬에서 직접 가져옵니다. 코사인 유사도는 다음 공식으로 표현됩니다. 여기서 xy는 벡터 공간의 두 벡터를 나타냅니다.4

피어슨 상관 계수(PCC)

PCC는 두 사용자 또는 항목의 각 평점 간의 상관관계를 계산하여 항목 또는 사용자 간의 유사성을 측정하는 데 도움이 됩니다. PCC 범위는 -1과 1 사이이며, 이는 음의 상관관계에서 동일한 상관관계를 의미합니다. 코사인 유사도와 달리 PCC는 주어진 사용자 또는 항목에 대한 모든 평점을 사용합니다. 예를 들어, 두 사용자 간의 PCC를 계산하는 경우 이 공식을 사용합니다. 여기서 ab는 서로 다른 사용자이고 rairbi는 해당 사용자의 항목 i에 대한 평가입니다.5

협업 추천 시스템의 유형 

협업 필터링 시스템에는 메모리 기반과 모델 기반의 두 가지 기본 유형이 있습니다.

메모리 기반

메모리 기반 추천 시스템 또는 네이버 기반 시스템은 유사한 사용자 또는 항목 집합을 기반으로 지정된 항목에 대한 대상 사용자의 동작을 예측하려고 시도하기 때문에 k-최근접 이웃 분류기(k-nearest neighbors classifie)의 확장이라 할 수 있습니다. 메모리 기반 시스템은 두 가지 하위 유형으로 나눌 수 있습니다.

  • 사용자 기반 필터링은 사용자 행동의 기본 설정에 따라 대상 사용자에게 항목을 추천합니다. 추천 알고리즘은 대상 사용자의 과거 행동을 다른 사용자와 비교합니다. 구체적으로, 시스템은 각 사용자에게 대상 사용자와의 인지된 유사성을 나타내는 가중치를 할당하는데, 이는 대상 사용자의 이웃입니다. 그런 다음 가장 높은 가중치를 가진 n명의 사용자를 선택하고 선택한 이웃의 행동에 대한 가중 평균에서 대상 사용자의 행동(예:영화 등급, 구매, 싫어요 등)에 대한 예측을 계산합니다. 그러면 시스템은 이 예측을 바탕으로 대상 사용자에게 항목을 추천합니다. 원칙은 대상 사용자가 과거에 이 그룹과 유사하게 행동했다면 보이지 않는 항목에서도 유사하게 행동한다는 것입니다. 사용자 기반 유사성 함수는 사용자-항목 행렬의 행 간에 계산됩니다.6
  • 항목 기반 필터링은 유사한 항목에 대한 사용자의 행동을 기반으로 대상 사용자에게 새로운 항목을 추천합니다. 그러나 항목을 비교할 때 공동 작업 시스템은 콘텐츠 기반 필터링에서와 같이 항목 기능을 비교하는 것이 아니라 사용자가 해당 항목과 상호 작용하는 방식을 비교한다는 점에 유의하세요. 예를 들어, 영화 추천 시스템에서 알고리즘은 각 영화에 대한 모든 사용자 평점 간의 상관관계를 기반으로 유사한 영화를 식별할 수 있습니다(각 사용자의 평균 평점에 맞게 보정). 그러면 시스템에서 상관관계가 있는 평점을 기반으로 대상 사용자에게 새 영화를 추천합니다. 즉, 타깃 사용자가 영화 ab를 높게 평가했지만 영화 c를 본 적이 없고, 앞의 두 영화를 높게 평가한 다른 사용자도 영화 c를 높게 평가한 경우, 시스템은 타깃 사용자에게 영화 c를 추천할 것입니다. 이러한 방식으로 항목 기반 필터링은 사용자 행동을 통해 항목 유사도를 계산합니다. 항목 기반 유사성 함수는 사용자-항목 행렬의 열 사이에서 계산됩니다.7

모델 기반

때때로 문헌은 메모리 기반 방법을 인스턴스 기반 학습 방법으로 설명합니다. 이는 사용자 및 항목 기반 필터링이 사용자 간 항목 상호 작용의 지정된 인스턴스(예: 안 본 영화에 대한 대상 사용자의 등급)에 특정한 예측을 만드는 방법을 나타냅니다.

이와 대조적으로, 모델 기반 방법은 데이터의 예측 기계 학습 모델을 생성합니다. 이 모델은 사용자 항목 행렬의 현재 값을 훈련 데이터 세트로 사용하고 결과 모델에서 Missing Values에 대한 예측을 생성합니다. 따라서 모델 기반 방법은 의사 결정 트리(Decision Trees), 베이즈 분류기(Bayes classifiers), 신경망과 같은 데이터 과학 기술과 기계 학습 알고리즘을 사용하여 사용자에게 항목을 추천합니다.8

행렬 인수분해(Matrix factorization)는 협업 필터링 방법 중 널리 논의되고 있으며 일반적으로 잠재 요인(latent factor) 모델의 일종으로 분류됩니다. 잠재 요인 모델로서 행렬 인수분해에서는 일부 특징을 통해 사용자 또는 항목 간의 유사성을 결정할 수 있다고 가정합니다. 예를 들어, 도서 장르와 사용자 나이 또는 성별만을 사용하여 사용자의 책 평점을 예측할 수 있습니다. 이러한 저차원 표현은 사용자 피드백 데이터에서 몇 가지 선택한 특징을 통해 항목과 사용자를 특성화하여 도서 평점을 설명하는 것을 목표로 합니다.9 주어진 벡터 공간의 특징을 줄이기 때문에 행렬 인수분해는 차원 축소 방법으로도 사용될 수 있습니다.10

Mixture of Experts | 8월 28일, 에피소드 70

AI 디코딩: 주간 뉴스 요약

세계적인 수준의 엔지니어, 연구원, 제품 리더 등으로 구성된 패널과 함께 불필요한 AI 잡음을 차단하고 실질적인 AI 최신 소식과 인사이트를 확인해 보세요.

협업 필터링의 장단점

장점

콘텐츠 기반 시스템과 비교할 때 협업 필터링은 사용자에게 새로운 추천을 제공하는 데 더 효과적입니다. 협업 기반 방법은 하나의 대상 사용자와 관심사를 공유하는 사용자 풀에서 추천을 가져옵니다. 예를 들어, 사용자 그룹이 대상 사용자와 동일한 항목 집합을 좋아하지만, 이전 항목 집합과 기능을 공유하지 않기 때문에 대상 사용자에게 알려지지 않은 추가 항목도 좋아하는 경우 협업 필터링 시스템은 이 새로운 항목을 사용자에게 추천합니다. 협업 필터링은 대상 사용자가 고려하지 않았을 수 있지만, 그럼에도 불구하고 해당 사용자 유형의 관심을 끌 수 있는 항목을 추천할 수 있습니다.11

단점

콜드 스타트 문제는 아마도 협업 필터링 시스템의 가장 널리 인용되는 단점일 것입니다. 새 사용자(또는 새 항목)가 시스템에 들어갈 때 발생합니다. 해당 사용자의 항목 상호 작용 기록이 없기 때문에 시스템에서 새 사용자와 기존 사용자의 유사성 또는 연결을 평가할 수 없습니다. 반면, 콘텐츠 기반 시스템은 새 항목을 처리하는 데 더 능숙하지만 새 사용자를 위한 추천에는 어려움을 겪습니다.12

데이터 희소성은 협업 추천 시스템을 괴롭힐 수 있는 또 다른 주요 문제입니다. 앞서 언급했듯이 추천 시스템에는 일반적으로 시스템의 대부분의 항목에 대한 사용자 기본 설정에 대한 데이터가 없습니다. 이는 시스템의 기능 공간 대부분이 비어 있음을 의미하며, 이를 데이터 희소성이라고 합니다. 데이터 희소성이 증가함에 따라 벡터 포인트가 너무 비유사해져서 예측 모델이 설명 패턴을 식별하는 데 덜 효과적이 됩니다.13 이것이 행렬 인수분해(matrix factorization) 및 특이값 분해(singular value decomposition)와 같은 관련 잠재 요인 방법(latent factor methods)이 협업 필터링에서 대중적으로 사용되는 주된 이유이며, 이는 기능을 줄여 데이터 희소성을 완화하기 때문입니다. 이 문제를 해결하기 위해 구현된 다른 방법에는 사용자가 직접 자신의 관심사에 대한 정보를 평가하고 제공하는 것이 포함될 수 있으며, 그런 다음 시스템은 이를 사용하여 추천을 필터링할 수 있습니다.

최근 연구

과거의 연구에서는 추천을 예측 또는 분류 문제로 접근했지만, 최근의 실질적인 연구들은 추천을 순차적인 의사 결정 문제로 이해해야 한다고 주장합니다. 이러한 패러다임에서는 강화 학습이 추천 문제를 해결하는 데 더 적합할 수 있습니다. 이 접근 방식은 추천이 사용자-항목 상호 작용에 따라 실시간으로 업데이트된다고 주장합니다. 사용자가 제안된 항목을 건너뛰고, 클릭하고, 평가하고, 구매하면 모델은 이 피드백에서 최적의 정책을 개발하여 새 항목을 추천합니다.14 최근 연구에서는 콘텐츠 기반 필터링과 협업 필터링 모두에 문제를 제기하는 변경 가능하고 장기적인 사용자 관심사를 해결하기 위해 다양한 강화 학습 애플리케이션을 제안합니다.15

관련 솔루션
IBM® watsonx.ai

AI 빌더를 위한 차세대 엔터프라이즈 스튜디오인 IBM watsonx.ai로 생성형 AI, 파운데이션 모델 및 머신 러닝 기능을 학습, 검증, 조정 및 배포하세요. 적은 데이터로 짧은 시간 내에 AI 애플리케이션을 구축하세요.

watsonx.ai 살펴보기
인공 지능 솔루션

업계 최고의 AI 전문성과 솔루션 포트폴리오를 보유한 IBM과 함께 AI를 비즈니스에 활용하세요.

AI 솔루션 살펴보기
인공 지능(AI) 컨설팅 및 서비스

IBM Consulting AI 서비스는 기업이 AI 활용 방식을 재구상하여 혁신을 달성하도록 지원합니다.

AI 서비스 살펴보기
다음 단계 안내

AI 개발 라이프사이클 전반에 걸친 기능에 원스톱으로 액세스하세요. 사용자 친화적인 인터페이스, 워크플로, 업계 표준 API 및 SDK에 대한 액세스를 통해 강력한 AI 솔루션을 제작할 수 있습니다.

watsonx.ai 살펴보기 라이브 데모 예약
각주

“Collaborative Filtering,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017년. Mohamed Sarwat 및 Mohamed Mokbel, “Collaborative Filtering,” Encyclopedia of Database Systems, Springer, 2018년.

2 Prem Melville 및 Vikas Sindhwani, “Recommender Systems,” Encyclopedia of Machine learning and Data Mining, Springer, 2017년.

3 YUE SHI, MARTHA LARSON 및 ALAN HANJALIC, “Collaborative Filtering beyond the User-Item Matrix: A Survey of the State of the Art and Future Challenges,” ACM Computing Surveys, vol. 47, no. 1, 2014, https://dl.acm.org/doi/10.1145/2556270. Kim Falk, Practical Recommender Systems, Manning Publications, 2019년.

4 Elsa Negre, Information and Recommender Systems, Vol. 4, Wiley-ISTE, 2015년. Sachi Nandan Mohanty, Jyotir Moy Chatterjee, Sarika Jain, Ahmed A. Elngar 및 Priya Gupta, Recommender System with Machine Learning and Artificial Intelligence, Wiley-Scrivener, 2020년.

5 Kim Falk, Practical Recommender Systems, Manning Publications, 2019. J. Ben Schafer, Dan Frankowski, Jon Herlocker 및 Shilad Sen, “Collaborative Filtering Recommender Systems,” The Adaptive Web: Methods and Strategies of Web Personalization, Springer, 2007년.

6 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016. Prem Melville 및 Vikas Sindhwani, “Recommender Systems,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017.

7 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016년. Kim Falk, Practical Recommender Systems, Manning Publications, 2019년.

8 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016년.

9 Prem Melville 및 Vikas Sindhwani, “Recommender Systems,” Encyclopedia of Machine Learning and Data Mining, Springer, 2017. Yehuda Koren, Steffen Rendle, and Robert Bell, “Advances in Collaborative Filtering,” Recommender Systems Handbook, 3rd edition, Springer, 2022.

10 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016년.

11 Sachi Nandan Mohanty, Jyotir Moy Chatterjee, Sarika Jain, Ahmed A. Elngar, Priya Gupta, Recommender System with Machine Learning and Artificial Intelligence, Wiley-Scrivener, 2020. Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016.

12 Charu Aggarwal, Recommender Systems: The Textbook, Springer, 2016. Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press, 2016.

13 Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning, MIT Press, 2016.

14 Guy Shani, David Heckerman, Ronen I. Brafman, “An MDP-Based Recommender System,” Journal of Machine Learning Research, Vol. 6, No. 43, 2005년, pp. 1265−1295, https://www.jmlr.org/papers/v6/shani05a.html. Yuanguo Lin, Yong Liu, Fan Lin, Lixin Zou, Pengcheng Wu, Wenhua Zeng, Huanhuan Chen 및 Chunyan Miao, “A Survey on Reinforcement Learning for Recommender Systems,” IEEE Transactions on Neural Networks and Learning Systems, 2023년, https://ieeexplore.ieee.org/abstract/document/10144689. M. Mehdi Afsar, Trafford Crump 및 Behrouz Far, Reinforcement Learning based Recommender Systems: A Survey,” ACM Computing Survey, Vol. 55, No. 7, 2023년, https://dl.acm.org/doi/abs/10.1145/3543846.

15 Xinshi Chen, Shuang Li, Hui Li, Shaohua Jiang, Yuan Qi, Le Song, “Generative Adversarial User Model for Reinforcement Learning Based Recommendation System,” Proceedings of the 36th International Conference on Machine LearningPMLR, No. 97, 2019년, pp. 1052-1061, http://proceedings.mlr.press/v97/chen19f.html. Liwei Huang, Mingsheng Fu, Fan Li,Hong Qu, Yangjun Liu 및 Wenyu Chen, “A deep reinforcement learning based long-term recommender system,” Knowledge-Based Systems, Vol. 213, 2021년, https://www.sciencedirect.com/science/article/abs/pii/S0950705120308352.