추천 시스템이란?

Hey:D·2022년 2월 18일
0
post-thumbnail

항상 궁금했던 정말 흥미로운 분야이다🙋🏻‍♂️
? 그런데 왜 이제 공부해

언제든지 내용이 추가 될 수 있다!! 너무 부족하지만 우선 올리고 진행해보기로🙏🏻
📖 : python을 이용한 추천 시스템

넷플릭스에서 나한테 드라마, 영화를 추천하고 쿠팡에서 이런 상품은 어때요? 라며
내게 살포시 보여줬을 때.

나는 홀리며 지갑을 열고는 후회하거나 💸
드라마 시작하였다가 밤을 새버린 적이 한두번이 아니다.
(자매품으로 유투브의 알고리즘이 있다. 유난히 새벽에 더 재밌는 거 보여주는🤔)

아니 그래서 추천 시스템이 뭔데?!

추천 시스템

추천시스템은 정보 필터링 기술의 일종으로, 특정 고객이 관심을 가질만한 정보를 추천하는 시스템.
요즘에는 어떤 서비스를 보더라도 추천 시스템이 필수적인 요소로 자리 잡은 것을 알 수 있습니다.

한 기사에서는 넷플릭스 에서 소비(대여?)되는 영화의 3분의 2 가 고객에게 추천된 영화이고, 아마존 의 경우 매출의 35% 가 추천을 통해 발생하고 있다는 점이 굉장히 크게 작용하는 요인으로 볼 수 있다.

이건 그냥 ...
물론 나의 프로필 뭘봐 임마을 들어가 보아도 친구야 고마워 나 홍일점이네 이렇게 많은 콘덴츠들을 보여주는 것을 알 수 있다. 나의 새벽을 앗아간 똑똑한 넘이다.

추천 시스템의 종류를 크게 살펴보면 콘텐츠 기반 필터링과 협업 필터링 두가지로 나누어 볼 수 있다.

1. 컨텐츠 기반 필터링(Contents-Based Filtering)

  • 컨텐츠 자체의 내용을 기반으로 비슷한 아이템을 추천하는 것.
  • 특히 텍스트 정보가 많은 제품(뉴스, 책 등)에 많이 이용

에시) 마블 영화를 본 사람한테는 마블 영화의 다른 작품을 추천해준다.

2. 협업 필터링(Collaborative Filtering Models)

  • 협업 필터링은 사용자의 구매 패턴이나 평점을 가지고 다른 사람들의 구매 패턴, 평점을 통하여 추천을 하는 방법.

  • 다양한 고객의 행동(클릭, 상품 구매, 평점 부여) 데이터에 기반하여 아직 접하지 않은 상품에 대한 행동을 예측하여 추천하는 것임.

  • 사용자(고객) 평가 데이터를 얻기 힘든 상황이면 간접적인 정보를 사용하는 경우 많음

    • 어떤 제품을 클릭했는지
    • 제품을 쇼핑카드에 넣는 것

    간접적인 정보들은 클릭스트림(clickstream)형태로 수집되어 분석에 사용됨.

협업 필터링에는 또 크게 사용자 필터링과 아이템 기반 협업 필터링으로 나누어서 생각할 수 있다.

2-1. User-Based collaborative filter (사용자 기반 협업 필터링)

특징

  • 사용자가 구매하거나 본 모든 콘텐츠의 매트릭스를 구축하여 작동.
  • 사용자 간에 유사성 점수를 계산하여 서로 유사한 사용자를 찾음.
  • 유사한 사용자의 경우 본 적이 없거나 구매한 적이 없는 콘텐츠를 이전에 본 적이 없는 사용자에게 추천.

그림으로 예를 들면 첫번째 사람과 두번째 사람이 있다 가정을 하고.
첫번째 사람이 타이타닉과 워크투리멤버를 보고, 두번째 사람이 타이타닉을 보았다 한다면, 둘이 유사하다고 판단을 하고 두번째 사용자에게 워크투리멤버를 추천하는 경우라고 간단히 생각할 수 있다.

단점

  1. 제품, 영화 등보다 훨씬 많은 사용자. (굉장히 복잡함)

    • 사용자가 많아질 수록 계산량이 많아지고 계산 효율이 저하됨.
  2. 콜드 스타트

    • 시스템이 아직 충분한 정보를 모으지 못한 사용자에 대한 추론을 이끌어낼 수 없는 문제
    • 데이터가 많이 쌓이지 않은 신규 사용자에게 추천하기가 어려움.
  3. 사용자의 취향은 시간이 지남에 따라 변함.

  4. 롱테일

    • 파레토 법칙(전체 결과 80%가 전체 원인 20%에서 일어나는 현상)
    • 사용자들이 관심을 많이 보이는 소수의 컨텐츠가 전체 추천 컨텐츠로 보이는 비율이 높은 비대칭적 쏠림 현상

    아이템이나 콘텐츠 수가 많다고 하더라도 사용자들은 소수의 인기 있는 항목에만 관심을 보일수도, 사용자들의 관심이 저조한 항목은 정보가 부족하여 추천되지 못하는 문제점이 발생할 수 있음.

이러한 문제점들로 사용자 기반 협업 필터링의 한계를 극복하기 위해서 나온 것이 아이템 기반 협업 필터링이다.

2-2. ITem-Based collaborative filter (아이템 기반 협업 필터링)


아마존, 넷플릭스 비롯한 서비스에서 아이템 기반 협업 필터링을 사용한다

특징

  • 사람이 아닌 항목 간의 관계를 기반으로 요소를 추천하여 작동함.
  • 추천 시스템은 이제 사용자가 아닌 항목(예: 영화)을 기반으로 설계됨.
  • 이것은 문제의 복잡성 낮춤, 사용자 기반 협업 필터링의 문제를 극복함.
  • 사람과 달리 영화, 노래, 제품의 기능과 취향은 시간이 지나도 변하지 않음.

단점

메타 정보의 한정성 : 정밀성이 떨어지는 문제 발생



3. 지식 기반 필터링

  • 특정 분야의 전문가의 도움을 받아서 그 분야에 대한 전체적인 지식구조를 만들어서 이를 활용하는 방법
  • **체계도(Ontology)를 만드는 것이 가장 일반적인 방법
  • 지식 기반으로 한 필터링 장점은 전체적인 구조를 알 수 있음.
  • 지식이 중요한 분야 예 교육, 와인, 커피 등 에서 효과가 좋음.
  • 각 분야에 대해서 전문가가 필요 + 전문가 능력에는 햔계가 있어 세세한 분야까지 적용 어려움.


4. 딥러닝(Deep Learning :DL) 추천 기술

  • 현재 가장 많이 사용되는 딥러닝 방법을 사용하는 방식
  • 딥러닝 입력으로 다양한 사용자와 아이템의 특징값을 사용하고 이를 통해 얻은 출력은 각 아이템의 예상 선호도로 사용하는 것이 보통
  • 예상 선호도가 높은 아이템을 추천 가능 = 예측도 높음
  • 다양한 입력 변수 사용 가능
  • 이미지 인식 등에서 탁월한 성능
  • 연속값의 경우 딥러닝 추천 방식 사용시 정확도가 다른 알고리즘에 비해서 크게 우월하지는 않음


5. 하이브리드(Hybrid)

  • 하이브리드 방식 : 협업 필터링 + 콘텐츠 기반 필터링 조합 상호 보완적으로 개발된 알고리즘
  • 실제로 하이브리드 방식이 많이 사용됨. (한 가지 기술만 사용하지는 않음)

연구에 따르면 하나의 기술을 사용할 때보다 복수의 기술 사용시 정확도 향상되고 결합되는 기술의 종류가 많아질수록 큰 폭으로 상승한다는 결과 있다고 한다.


📌 참고자료

udemy 인강
https://techblog-history-younghunjo1.tistory.com/117
https://www.youtube.com/watch?v=6TP51jvjLsE
https://eda-ai-lab.tistory.com/527
https://scvgoe.github.io/2017-02-01-협업-필터링-추천-시스템-(Collaborative-Filtering-Recommendation-System)/
https://brunch.co.kr/@biginsight/15

profile
걸음마 분석가

0개의 댓글