TIL

👀Today I Learn

추천 시스템

  • 추천 시스템(Recommendation System)은 사용자에게 적절한 아이템(영화, 음악, 게임, 제품 등)을 추천하는 데 사용되는 머신러닝 기반 기술
  • 추천 시스템의 주요 기법으로 협업 필터링(Collaborative Filtering), 콘텐츠 기반 필터링(Content-Based Filtering), 하이브리드 추천 시스템(Hybrid Recommendation System)이 있음


협업 필터링

  • 협업 필터링(Collaborative Filtering)은 사용자의 과거 행동이나 다른 사용자와의 유사성을 바탕으로 추천을 수행하는 방법
  • 사용자와 아이템 간의 상호작용(예: 평점, 클릭, 구매 이력 등)을 분석하여 새로운 추천을 제공

종류

  1. 사용자 기반 협업 필터링 (User-Based Collaborative Filtering)
    • 나와 비슷한 취향을 가진 사용자들을 찾아 그들의 선호도를 바탕으로 추천하는 방식
    • 예) 내가 좋아하는 영화와 비슷한 영화를 본 다른 사용자가 선호하는 영화 추천
  2. 아이템 기반 협업 필터링 (Item-Based Collaborative Filtering)
    • 내가 이전에 좋아했던 아이템과 유사한 아이템을 추천하는 방식
    • 예) 내가 A라는 게임을 좋아하면, A와 비슷한 특성을 가진 게임을 추천

장단점

  • 장점
    • 새로운 사용자(Cold Start Problem)에는 적합하지 않지만, 충분한 데이터가 있으면 강력한 추천을 제공
    • 다양한 도메인(영화, 음악, 쇼핑 등)에서 효과적으로 활용 가능
  • 단점
    • 콜드 스타트 문제: 신규 사용자 또는 신규 아이템에 대한 추천이 어려움
    • 데이터 희소성 문제: 사용자-아이템 평점 행렬이 희소하면 유사도를 측정하기 어려움
    • 계산 비용이 높음: 대규모 데이터에서 연산 부담이 큼

활용 사례

  • 넷플릭스(Netflix): 사용자들의 시청 이력을 분석하여 비슷한 사용자들이 선호하는 콘텐츠 추천
  • 아마존(Amazon): 유사한 상품을 구매한 사용자 데이터를 기반으로 추천 제공


콘텐츠 기반 필터링

  • 콘텐츠 기반 필터링(Content-Based Filtering)은 아이템 자체의 속성(특징)을 분석하여 사용자가 선호할 만한 아이템을 추천하는 방법
  • 즉, 사용자가 이전에 좋아했던 아이템과 유사한 속성을 가진 아이템을 추천

추천 방식

  • 아이템의 메타데이터(예: 장르, 배우, 감독, 태그 등)를 활용
  • 사용자가 소비한 아이템과 특징이 유사한 아이템 추천
  • TF-IDF(Term Frequency-Inverse Document Frequency) 또는 Word2Vec 등의 방법을 활용하여 아이템 간의 유사도를 측정할 수 있음

장단점

  • 장점
    • 사용자 독립적: 다른 사용자의 행동 데이터 없이 추천 가능
    • 콜드 스타트 문제 해결 가능 (아이템 속성 정보가 충분하다면)
    • 해석 가능성 높음: 왜 특정 아이템을 추천했는지 설명 가능
  • 단점
    • 사용자의 취향이 고정될 가능성 (사용자가 새로운 유형의 콘텐츠를 접하기 어려움)
    • 아이템 메타데이터 구축 비용 (특징을 수동으로 태깅해야 하는 경우 비용이 많이 듦)

활용 사례

  • 스포티파이(Spotify): 사용자가 선호하는 음악의 장르, BPM 등을 분석하여 유사한 곡 추천
  • 넷플릭스(Netflix): 사용자가 시청한 영화의 장르, 감독, 배우를 분석하여 비슷한 콘텐츠 추천


하이브리드 추천 시스템

  • 하이브리드 추천 시스템((Hybrid Recommendation System))은 협업 필터링과 콘텐츠 기반 필터링을 결합하여 추천의 정확도를 높이는 방법
  • 두 방식의 장점을 살리고 단점을 보완하는 것이 핵심

결합 방식

  • 협업 필터링과 콘텐츠 기반 필터링을 독립적으로 수행한 후 결과를 결합
  • 한 방법을 다른 방법의 입력으로 활용 (예: 콘텐츠 기반 필터링으로 유사한 아이템을 찾고, 협업 필터링으로 추천 점수 부여)
  • 하나의 모델에서 두 가지 접근을 동시에 학습 (딥러닝 기반 추천 모델 등)

장단점

  • 장점
    • 단일 방법보다 추천 정확도가 높음
    • 콜드 스타트 문제와 데이터 희소성 문제를 어느 정도 해결 가능
    • 다양한 추천 도메인에서 적용 가능
  • 단점
    • 구현이 상대적으로 복잡함
    • 계산 비용이 증가할 수 있음

활용 사례

  • 넷플릭스(Netflix): 콘텐츠 기반 필터링으로 유사한 영화 추천 후, 협업 필터링으로 사용자 선호도를 반영하여 최종 추천
  • 유튜브(YouTube): 콘텐츠 기반 필터링(동영상 태그 및 메타데이터 분석)과 협업 필터링(다른 사용자의 시청 패턴 분석) 결합


결론

  • 추천 시스템은 사용자의 경험을 향상시키는 중요한 기술
  • 협업 필터링은 사용자의 행동 데이터를 활용하여 추천을 제공하는 강력한 방식이지만, 콜드 스타트와 데이터 희소성 문제가 존재
  • 콘텐츠 기반 필터링은 아이템 자체의 속성을 활용하여 추천하지만, 사용자의 관심사가 고정될 수 있음
  • 하이브리드 추천 시스템은 두 방법을 결합하여 더 정교한 추천을 제공하며, 많은 실제 서비스에서 활용되고 있음

🌟 사용하는 데이터와 추천 목적에 따라 적절한 방법을 선택하여 활용하는 것이 중요하다.



💡Today I Thought

오늘의 체크리스트

  • 알고리즘 코드카타 1문제
  • SQL 코드카타 1문제
  • Steam 로그인/회원가입 프론트엔드 구현
  • TIL 작성

회고

 Steam 로그인/회원가입 프론트엔드 구현을 하다가 DRF 관련해서 문제가 조금 있어서 이슈 올려놓고 기다리는 중이다. 내일은 마무리 짓고 ML 빨리 구현해야지~

댓글남기기