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

이 페이지에는 추천 시스템 용어집 용어가 포함되어 있습니다. 모든 용어집 용어를 보려면 여기를 클릭하세요.

C

후보군 생성

#recsystems

추천 시스템에서 선택하는 초기 추천 모음입니다. 예를 들어 10만 권의 책을 판매하는 서점이 있다고 가정해 보겠습니다. 후보군 생성 단계에서는 특정 사용자에게 적합한 도서 목록을 훨씬 적게 만듭니다(예: 500권). 하지만 500권도 사용자에게 추천하기에는 너무 많습니다. 이어서 더 많은 비용이 드는 추천 시스템 단계 (예: 채점순위 재지정)에서는 이러한 500개 항목을 훨씬 작고 유용한 추천 집합으로 축소합니다.

협업 필터링

#recsystems

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

I

항목 행렬

#recsystems

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

항목 행렬은 분해되는 대상 행렬과 동일한 수의 열을 가집니다. 예를 들어 10,000개의 영화를 평가하는 영화 추천 시스템의 경우 항목 행렬은 10,000개의 열을 갖게 됩니다.

items

#recsystems

추천 시스템에서 추천되는 항목입니다. 예를 들어 비디오는 비디오 매장에서 추천하는 항목이고 도서는 서점에서 추천하는 항목입니다.

행렬 분해

#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

사용자 행렬과 항목 행렬의 내적은 원래 사용자 평가뿐 아니라 각 사용자가 보지 않은 영화에 대한 예측도 포함된 추천 행렬을 생성합니다. 예를 들어 카사블랑카에 대한 사용자 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개의 동영상에서 두 개의 동영상을 추천할 수 있습니다. 한 사용자에게는 카사블랑카필라델피아 스토리를, 다른 사용자에게는 원더우먼블랙 팬서를 선택할 수 있습니다. 동영상 추천 시스템은 다음과 같은 요소를 바탕으로 콘텐츠를 추천합니다.

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

순위 재지정

#recsystems

추천 시스템의 최종 단계. 이 과정에서 채점된 항목은 다른(일반적으로 비 ML) 알고리즘에 따라 다시 채점될 수 있습니다. 순위 재지정은 스코어링 단계에서 생성된 항목 목록을 평가하여 다음과 같은 작업을 수행합니다.

  • 사용자가 이미 구매한 항목을 제외합니다.
  • 최신 아이템의 점수 상승

S

점수 매기기

#recsystems

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

U

사용자 매트릭스

#recsystems

추천 시스템에서 행렬 분해에 의해 생성되는 임베딩 벡터는 사용자 환경설정에 대한 잠재 신호를 보유합니다. 사용자 행렬의 각 행에는 단일 사용자에 대한 다양한 잠재 신호의 상대적 강도에 대한 정보가 포함됩니다. 영화 추천 시스템을 예로 들어보겠습니다. 이 시스템에서 사용자 매트릭스의 잠재 신호는 특정 장르에 대한 각 사용자의 관심을 나타내거나 여러 요소에 걸친 복잡한 상호작용을 수반하는 해석하기 어려운 신호일 수 있습니다.

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

W

Weighted Alternating Least Squares (WALS)

#recsystems

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