추천시스템 간단정리

오리·2023년 2월 15일

인공지능을 이용한 평점 예측을 위해 추천시스템에 대해서 간단하게 정리해보려고 합니다!

이웃 기반 협업 필터링

사용자 기반

사용자 기반 최근접 이웃 방식은 특정 사용자와 유사한 다른 사용자를 TOP-N으로 선정한 후 이를 기반으로 아이템을 추천하는 방식입니다.

즉, 특정 유저와 비슷하다고 판단이 되는 이웃들의 특정 아이템에 대한 평점을 토대로 특정 유저의 특정 아이템에 대한 평점을 예측하게 됩니다.


다음과 같은 평점을 기반으로 한 유저-아이템 matrix를 형성시켰다고 해봅시다.
그렇다면 유저들 간의 코사인 유사도를 계산할 수 있게 됩니다.

다음과 같이 유저들 간의 코사인 유사도를 계산할 수 있게 됩니다.

이렇게 유저 간의 유사도, 유저의 아이템에 대한 평점을 토대로 다음과 같은 평점 예측식을 구할 수 있게 됩니다.
특정 유저 i의 특정 아이템 u에 대해서 평점을 예측한다고 했을 때, 최근접 이웃 TOP-N 이웃들의 아이템 u에 대한 평점의 코사인유사도 가중평균을 구하는 식입니다.

아이템 기반

아이템 기반 최근접 이웃 방식은 사용자 기반과 매우 유사하나 사용자 간의 유사도가 아닌 아이템 간의 유사도를 계산 후 이용한다는 차이가 있습니다. 계산 방식은 사용자 기반 방식과 같으므로 생략하겠습니다.

데이터에 따라서 아이템에 비해 사용자가 매우 많은 경우에는 아이템 기반의 유사도를 반대의 경우에는 사용자 기반의 유사도를 사용하는 것이 적절할 것으로 보입니다.

잠재 요인 협업 필터링

잠재 요인 협업 필터링은 사용자-아이템 평점 matrix 내에서 숨어있는 잠재 요인을 찾아서 평점을 예측하는 방식입니다.
위와 같은 다차원 희소 행렬을 잠재 요인이라고 예상되는 factor1, factor2를 이용해 저차원의 2개의 행렬로 분해한 후 완성된 사용자-아이템 평점 matrix를 형성해 평점을 예측하는 방법입니다.

유투브 추천 알고리즘

다음으로 유투브에서 발표한 논문을 토대로 유투브의 추천 알고리즘에 대해 살펴보겠습니다.

유투브 추천 알고리즘은 크게 2개의 model로 나뉘어집니다. 1번째, candidate generation 단계에서는 사용자 별 행동을 파악한 후 해당 사용자의 개인화된 영상 후보를 만들어주는 단계입니다. 2번째, ranking 단계에서는 사용자의 개인화된 영상 후보 중 상대적으로 중요한 영상의 순위를 매겨주는 단계입니다.

Candidate generation

  • Watch vector에는 시청한 video에 대한 vocabulry 설명이 임베딩된 벡터가 평균값으로 들어가게 됩니다.
  • Search vector에도 마찬가지로 단어에 대한 임베딩 값의 평균을 벡터화하게 됩니다.
  • 이외에도 유저의 사는 지역, 나이, 성별 등의 대한 정보를 토대로 input features들을 정하게 됩니다.
  • Output layer에서는 특정 영상들을 봤는 지 안 봤는 지에 대한 확률값이 나오게 됩니다.

Ranking

  • Ranking 시스템에서는 Candidate generation에서 비해 더욱 사용자의 feature를 많이 사용합니다.
  • Candidate genration의 구조와는 매우 비슷하지만, 각 아이템에 대한 score가 나오게 되어서 추천 후보를 만들어주게 됩니다.
profile
안녕하세요:)

0개의 댓글