머신러닝 용어집: 추천 시스템

이 페이지에는 맞춤 콘텐츠 시스템 용어집 용어가 포함되어 있습니다. 모든 용어집 용어는 여기를 클릭하세요.

C

후보군 생성

#recsystems

추천 시스템에서 선택되는 일련의 초기 추천입니다. 예를 들어, 10만 권의 서적을 판매하는 서점을 생각해 보세요. 후보군 생성 단계에서는 특정 사용자에게 추천할 적은 수(예: 500권)의 도서 목록을 만듭니다. 하지만 500권도 사용자에게 추천하기에는 너무 많습니다. 추천 시스템의 후속 단계 (예: 점수재정렬)에서는 500개를 훨씬 더 작고 유용한 추천으로 줄입니다.

자세한 내용은 추천 시스템 과정의 후보 생성 개요를 참고하세요.

협업 필터링

#recsystems

다른 여러 사용자의 관심사를 바탕으로 한 사용자의 관심사에 대한 예측 협업 필터링은 추천 시스템에 자주 사용됩니다.

자세한 내용은 추천 시스템 과정의 공동 필터링을 참고하세요.

I

항목 행렬

#recsystems

추천 시스템에서 각 항목에 관한 잠재 신호를 보유하고 있는 행렬 분해에 의해 생성된 임베딩 벡터의 행렬입니다. 항목 행렬의 각 행에는 모든 항목에 대한 단일 잠재적 특성 값이 있습니다. 예를 들어 영화 추천 시스템을 살펴보겠습니다. 항목 행렬의 각 열은 단일 영화를 나타냅니다. 잠재 신호는 장르를 나타내거나, 장르, 스타, 영화 시대 등 복잡한 상호작용을 포함하는 해석하기 어려운 신호일 수 있습니다.

항목 행렬은 인수 분해되는 대상 행렬과 동일한 수의 열을 포함합니다. 예를 들어 10,000개의 영화 타이틀을 평가하는 영화 추천 시스템의 경우 항목 행렬은 10,000개의 열을 포함합니다.

항목

#recsystems

추천 시스템에서 시스템이 추천하는 항목입니다. 예를 들어 동영상은 비디오 가게에서 추천하는 항목이고, 책은 서점에서 추천하는 항목입니다.

M

행렬 분해

#recsystems

수학에서 내적이 대상 행렬에 근접한 행렬을 찾는 메커니즘입니다.

추천 시스템에서 대상 행렬은 종종 항목에 대한 사용자 평점을 보유합니다. 예를 들어 영화 추천 시스템의 대상 행렬이 다음과 같이 표시될 수 있습니다. 여기서 양의 정수는 사용자 평점이고 0은 사용자가 해당 영화에 대해 평가하지 않은 것을 의미합니다.

  카사블랑카 필라델피아 이야기 블랙 팬서 원더 우먼 펄프 픽션
사용자 1 5.0 3.0 0.0 2.0 0.0
사용자 2 4.0 0.0 0.0 1.0 5.0
사용자 3 3.0 1.0 4.0 5.0 0.0

영화 추천 시스템은 평가되지 않은 영화에 대한 사용자 평점을 예측하는 것을 목표로 합니다. 예를 들어 사용자 1은 블랙 팬서를 좋아할까요?

추천 시스템에 대한 한 가지 접근법은 행렬 분해를 사용하여 다음 두 행렬을 생성하는 것입니다.

  • 사용자 행렬은 사용자 수 X 임베딩 차원 수로 구성됩니다.
  • 항목 행렬은 임베딩 차원 수 X 항목 수로 구성됩니다.

예를 들어 3명의 사용자와 5개 항목에 대한 행렬 분해를 사용하여 다음과 같은 사용자 행렬과 항목 행렬을 얻을 수 있습니다.

User Matrix                 Item Matrix

1.1   2.3           0.9   0.2   1.4    2.0   1.2
0.6   2.0           1.7   1.2   1.2   -0.1   2.1
2.5   0.5

사용자 행렬과 항목 행렬의 내적은 원래 사용자 평점과 각 사용자가 보지 않은 영화에 대한 예측을 포함하는 추천 행렬을 생성합니다. 예를 들어 Casablanca에 대한 사용자 1의 평점(5.0)을 고려합니다. 추천 행렬에서 해당 셀에 해당하는 내적은 약 5.0이어야 하며 다음과 같습니다.

(1.1 * 0.9) + (2.3 * 1.7) = 4.9

그렇다면 사용자 1은 블랙 팬서를 좋아할까요? 첫 번째 행과 세 번째 열에 해당하는 내적을 사용하여 예측 평점 4.3을 산출합니다.

(1.1 * 1.4) + (2.3 * 1.2) = 4.3

행렬 분해는 일반적으로 대상 행렬보다 훨씬 간결한 사용자행렬 및 항목 행렬을 생성합니다.

R

추천 시스템

#recsystems

각 사용자와 관련해 큰 코퍼스에서 상대적으로 적은 항목 세트를 선택하는 시스템입니다. 예를 들어 비디오 추천 시스템은 100,000개 비디오 코퍼스에서 2개의 동영상을 추천할 수 있습니다. 예를 들어 한 사용자에게는 카사블랑카필라델피아 이야기를 추천하고 다른 사용자에게는 원더 우먼블랙 팬서를 추천할 수 있습니다. 동영상 추천 시스템은 다음과 같은 요소를 기반으로 추천할 수 있습니다.

  • 비슷한 사용자가 평가하거나 본 영화
  • 장르, 감독, 배우, 타겟 인구통계...

재정렬

#recsystems

추천 시스템의 최종 단계이며 이 단계 중에 다른(비 ML) 알고리즘에 따라 채점된 항목을 다시 평가할 수 있습니다. 재정렬에서는 다음과 같이 조치하여 스코어링 단계에서 생성되는 항목 목록을 평가합니다.

  • 사용자가 이미 구매한 항목 제거
  • 새로운 항목의 점수 상향

S

점수 매기기

#recsystems

후보 생성 단계에서 생성된 각 항목의 값 또는 순위를 제공하는 추천 시스템의 일부입니다.

U

사용자 행렬

#recsystems

추천 시스템에서 행렬 분해에 의해 생성되고 사용자 선호에 관한 잠재 신호를 보유하는 임베딩 벡터입니다. 사용자 행렬의 각 행에는 단일 사용자에 대한 여러 잠재적 신호의 상대적 강도에 관한 정보가 포함되어 있습니다. 예를 들어 영화 추천 시스템을 살펴보겠습니다. 이 시스템에서 사용자 행렬의 잠재적 신호는 특정 장르에 관한 각 사용자의 선호도를 나타내거나, 여러 요소에 걸친 복잡한 상호작용이 연관된 해석하기 어려운 신호를 나타낼 수 있습니다.

사용자 행렬에는 각 잠재 특성에 관한 열과 각 사용자에 관한 행이 있습니다. 즉, 사용자 행렬에는 인수분해되는 대상 행렬과 같은 수의 행이 있습니다. 예를 들어 1,000,000명의 사용자를 위한 영화 추천 시스템의 경우 사용자 행렬은 1,000,000개의 행을 포함합니다.

W

Weighted Alternating Least Squares (WALS)

#recsystems

추천 시스템행렬 분해 중에 목표 함수를 최소화하는 알고리즘으로, 누락된 예시의 가중치를 낮출 수 있습니다. WALS는 행 인수분해와 열 인수분해를 교대로 바꾸어 원본 행렬과 재구성 사이의 가중 제곱 오차를 최소화합니다. 최소 제곱 볼록 최적화를 통해 각 최적화를 해결할 수 있습니다. 자세한 내용은 추천 시스템 과정을 참고하세요.