추천 시스템 알아보기 - 추천 시스템의 소개와 종류

nicotina04·2023년 1월 14일
0

추천 시스템

목록 보기
1/2

추천 시스템?

여기 덥스텝과 트랩 음악을 열렬히 좋아하는 사람 A가 있다. A는 앞으로도 많은 덥스텝과 트랩을 듣고 싶어 하지만 음원 사이트에서 일일이 검색하는 것은 여간 피곤한 일이 아니다.

그리고 음원 사이트의 사장인 B가 있다. B는 고객들이 좋아할 만한 음원을 왕창 들려줘서 막대한 이익을 거두고 한강뷰 아파트를 사는 것이 꿈이다. 하지만 각각의 고객이 어떤 취향을 가졌는지 알기란 쉽지 않다.

과연 이들의 꿈은 이대로 무너지고 말 것인가?

이런 고민을 해결하기 위해 나온 것이 바로 추천 시스템이다. 추천 시스템은 사용자의 선호를 분석하여 사용자가 좋아할 만한 아이템을 추천해주는 시스템이 되겠다. 여기서 말하는 아이템은 음악, 음식, 가전제품 등 소비가 가능한 대상을 칭한다.

이번 포스트에서는 추천 시스템에 쓰이는 알고리즘을 알아보고 장단점을 비교해보자.

추천 시스템 알고리즘의 종류

추천 시스템에서 쓰이는 알고리즘은 크게 3종류로 나뉜다.

  • Contend-based Filtering(콘텐트 기반 필터링)
  • Collaborate Filtering(협업 필터링)
  • Hybrid(하이브리드 시스템)

하이브리드 필터링은 콘텐트 기반 필터링과 협업 필터링을 섞은 방식이므로 먼저 둘에 집중하도록 하자.

Content-based Filtering(콘텐트 기반 필터링)

콘텐트 기반 필터링은 "너 요즘 덥스텝을 많이 듣네? 덥스텝을 추천해줄게"로 요약할 수 있다. 사용자의 소비 이력이나 프로필을 분석하여 소비한 아이템과 유사도가 높은 아이템을 찾아 추천하는 방식이다.

Pros and Cons

다른 사용자의 정보가 필요없다.(Good)

협업 필터링의 경우 다른 사용자의 평점 정보가 필요하다. 하지만 콘텐트 기반 필터링의 경우 자신의 소비 이력, 더 나아가 자신의 평점 정보만 있으면 충분하다.

시장에 새로 등장한 아이템도 추천될 수 있다.(Good)

협업 필터링에서는 아이템이 추천되기 위해선 평점 정보가 필요하다. 하지만 기반 필터링에서는 아이템의 내용(아이템의 이름이나 카테고리, 또는 벡터화된 아이템의 성질)에 기반하므로 평점이 없더라도 이런 내용만 잘 갖추어져 있으면 사용자에게 추천될 수 있다.

Over Specialization(Bad)

사용자의 소비 이력을 바탕으로 하므로 소비된 아이템과 비슷한 카테고리의 아이템만 추천될 수 있는 문제가 있다. 이를 과도한 특수화(Over Specialization)라고 부른다.

협업 필터링에 성능이 밀림(Bad)

평점 데이터가 충분한 경우 협업 필터링보다 성능이 좋지 않다고 알려져 있다.

Collaborate Filtering(협업 필터링)

협업 필터링은 서로 다른 두 사람이 같은 아이템에 높은 평점을 주면 그 두 사람은 취향이 비슷할 것이라는 아이디어에서 비롯된다. 사용자들을 비슷한 선호를 가진 그룹으로 묶어 그룹 내의 어떤 사용자가 좋게 평가한 아이템을 그 아이템을 아직 소비하지 않은 사용자에게 추천하는 방식이다.

협업 필터링도 두 가지로 분류할 수 있는데 추천 요청이 들어올 때마다 유사한 사용자를 찾아내어 그 사용자가 선호하는 다른 아이템을 추천하는 메모리 기반, 학습 데이터로 훈련된 모델을 이용해 아이템을 추천하는 모델 기반으로 나뉜다.

그런데 이 메모리 기반 협업 필터링도 사용자 기반 협업 필터링과 아이템 기반 협업 필터링 두 개로 분류된다. 하나씩 알아보자.

User-based Collaborate Filtering(사용자 기반 협업 필터링)

사용자 기반 협업 필터링은 추천 대상 사용자를 기준으로 평점을 비슷하게 준 사용자들을 찾는다. 그리고 그 사용자들이 좋게 평가했지만, 추천 대상이 아직 소비하지 않은 아이템을 추천하게 된다.

사용자 1과 취향이 비슷한 사용자 2가 좋은 평점을 준 아이템 4는 사용자 1이 구매한 적이 없으므로 추천하게 된다.

Item-based Collaborate Filtering(아이템 기반 협업 필터링)

아이템 기반 협업 필터링은 추천할 아이템을 기준으로 유사한 아이템을 찾는다. 어떤 사용자가 두 아이템에 준 평점이 비슷하면 그 두 아이템은 서로 비슷할 것이라는 아이디어를 따른다.

어떤 아이템 A를 누군가에게 추천한다고 했을 때 A에게 높은 평점을 준 사용자를 찾아 그 고객들이 역시 높은 평점을 준 아이템 B를 선정하여 B를 아직 경험해보지 않은 사용자에게 추천하게 된다.

Pros and Cons

콘텐트 기반 필터링보다 성능이 좋다고 알려짐(Good)

현재는 협업 필터링이 콘텐트 기반 필터링보다 우수한 성능을 보인다고 한다.

평점만 충분하다면 아이템에 대해 몰라도 됨(Good)

아이템의 속성을 알 수 없어도 평가를 충분히 받으면 활용할 수 있다.

First Rater(Bad)

새로 등장한 아이템은 아무런 평점 정보가 없으므로 추천이 불가능하다. 추천 대상에 오르기 위해서는 누군가 평점을 남겨야만 하는데 이 최초로 평점을 남기는 사람을 First Rater라고 한다.

Shilling Attack(Bad)

평점을 고의로 조작하여 시스템을 교란하는 공격이다. 경쟁사의 아이템에 나쁜 평점을 주거나 자사의 아이템에 좋은 평점을 주도록 하여 추천 시스템이 올바른 추천을 할 수 없도록 한다. 쉽게 말해 가짜 리뷰이며 이는 시스템 뿐만 아니라 평범하게 쇼핑하는 이용객들에게도 혼란을 일으킨다.

Grey Sheep(Bad)

Grey Sheep은 특이 취향을 가진 집단이라는 뜻이다. 이들은 대중성과 거리가 먼 경우가 있을 수 있으며 이는 곧 데이터 이상치가 되어 추천 시스템에 영향을 끼친다. 이들을 제대로 처리하지 않으면 협업 필터링 기반 추천 시스템의 성능이 떨어질 수 있다.

Model-based Collaborate Filtering(모델 기반 협업 필터링)

이름에서 알 수 있듯이 머신 러닝 기법을 적용한 협업 필터링이며 앞서 언급된 모델을 사용하지 않는 협업 필터링에서 나타나는 문제를 머신 러닝 모델로 극복하여 보다 높은 성능을 확보할 수 있다.

Hybrid(하이브리드 시스템)

앞서 알아본 추천 알고리즘들은 서로의 장단점이 다르다. 그래서 각자의 단점은 보완하고 장점을 부각하기 위해 하이브리드 방식이 등장하게 되었다.

여러 종류의 방식이 소개되고 있지만 이 포스트에서는 따로 다루지 않는다.

다음에는 각 추천 시스템의 알고리즘이 아이템이나 사용자 간의 유사도를 어떻게 계산하는지 알아보도록 하겠다.

0개의 댓글