본문 바로가기
Computer Science/데이터마이닝

[Neighborhood-based Collaborative Filtering] 1

by 큌 2024. 6. 17.
반응형

협업 필터링(CF)이란?

• 추천을 위해 군중의 지혜를 사용하세요.

• 추천 시스템에 대한 가장 중요한 접근 방식 • 다양한 알고리즘과 그 변형이 존재합니다.

• 대규모 상업용 전자 상거래 사이트에서 널리 사용됩니다.

• 책, 영화 및 음악과 같은 많은 영역에 적용할 수 있습니다.

이웃 기반 CF

• 메모리 기반 알고리즘이라고도 합니다.

• 이웃 기반 CF는 주로 k-근접 이웃 방법에서 영감을 받았습니다.

• 2가지 타입의 동네 기반 CF

• 사용자 기반 이웃 방법: 예측은 대상 사용자에 대한 동료 그룹 등급의 가중 평균에 의해 계산됩니다.

• 항목 기반 이웃 방법: 예측은 대상 사용자에 대한 유사 항목의 가중 평균 등급으로 계산됩니다.

공동 필터링을 위한 핵심 아이디어(CF)

• 제 또래 친구들이 좋아하는 것을 말해주세요.

• 앨리스는 영화 A, B, C 세편을 좋아합니다.

• 밥은 또한 세편의 영화 A, B, C를 좋아합니다. 밥은 또한 D를 좋아합니다.

• 그러면 앨리스는 D를 가장 선호할 것 같습니다.

CF의 주요 가정

• 사용자는 항목에 등급을 부여했습니다(묵시적 또는 명시적).

• 과거에 비슷한 취향을 가진 사용자들은 앞으로 비슷한 취향을 갖게 될 것입니다.

• 사용자 선호도는 시간이 지남에 따라 안정적이고 일관성 있게 유지됩니다.

사용자 환경설정은 변경되지 않습니다

시간을.

사용자-항목 등급 매트릭스

• 사용자 항목 등급 매트릭스 R ∈ ℝ m×n이 제공됩니다.

• R을 사용자 항목 m×n 등급 행렬이라고 합니다.

• 누락된(또는 관측되지 않은) 사용자 항목 등급을 예측합니다.

다양한 사용자 등급

• 연속등급

• 항목의 좋아요/싫어요 수준에 해당하는 연속 척도로 지정됩니다.

• 인터벌 등급

• 일반적으로 5점 또는 7점 척도에서 그려집니다.

• 또한 범주형 값, 즉 일반 등급에 따라 순서가 정해집니다.

• 이진 등급: 두 가지 옵션이 있습니다.

• 단항등급

• 암시적 피드백: 긍정적인 선호도만 지정합니다.

• 많은 실제 응용 프로그램에서 종종 발생합니다.

Netflix Prize의 교육/테스트 데이터셋 

교육자료

• 시청률 1억, 이용자 48만, 영화 17,770편 • 6년간의 자료: 2000-2005 • 시험자료

• 각 사용자의 마지막 평점(280만) • 평가기준 : RMSE(root-mean-squared error) • 넷플릭스의 시스템 RMSE는 0.9514였습니다.

• 경쟁

• 2,700개 이상의 팀

• 넷플릭스 10% 개선 100만 달러 상금

사용자 기반 협업 필터링(CF)

• 우리는 명시적인 사용자-아이템 등급 매트릭스가 주어지고 등급 예측 문제를 해결합니다.

• 목표 사용자인 Bob에 대한 항목 5의 등급을 예측하는 방법은 무엇입니까?

CF의 3가지 핵심 질문

• 유사도 측정

⇒ 사용자 또는 항목 간 유사도를 계산하는 방법은 무엇입니까?

• 동네선택

⇒ 유사한 사용자 또는 아이템을 선택하는 방법은?

• 예측 함수

⇒ 유사한 사용자 또는 항목을 기준으로 등급을 예측하는 방법은 무엇입니까?

사용자 유사성 측정

• Bob을 고려할 때, 두 사용자 중 어느 쪽이 더 유사합니까?

사용자 유사성 측정

• 제로 센터링: 평점의 평균은 0에 있습니다.

• 평균값을 빼서 등급을 정규화합니다.

• 괄호 안의 숫자는 정규화된 등급을 나타냅니다.

사용자 유사성 측정

• 코사인 유사도 조정

• �23 = �23 - �̂는 사용자 u에 의한 k 항목의 정규화된 등급입니다.

• 는 사용자 u가 평가한 모든 항목의 평균입니다.

• 피어슨 상관계수(Pearson correlation coefficient, PCC) • ℐ2 ∩ ℐ B는 두 사용자 u와 v가 공동 평가한 항목의 집합입니다.

• �2는 두 사용자 u와 v가 공동 평가한 항목의 평균입니다.

유사도 함수의 변형

• 코사인 유사성: 평균 중심 등급이 아닌 원시 등급의 코사인 함수를 사용합니다.

• 분모의 정규화된 요인은 상호 평가된 항목이 아닌 모든 평가된 항목으로 계산됩니다.

네이버 선택하기

• 모든 이웃들이

• 랜덤 이웃

• 이웃의 수 대 임계값

• 유사성이 긍정적인 이웃을 선택합니다.

• 유사도 값으로 정렬된 상위 K개 이웃을 선택합니다.

이웃을 선택하는 방법?

• 유사도 값으로 정렬된 상위 K개 이웃을 선택합니다.

⇒ �$: 사용자 �을 위한 최상위 � 이웃 집합 • 이웃은 대상 항목 �에 대한 등급이 있어야 합니다.

⇒ �%: 항목 �을 평가하는 사용자 � 집합 • 경우에 따라 �� ∩ �� < �.

예측하기

• 이웃으로부터 가중 평균을 계산합니다.

• 이웃의 편견에서 활성 사용자의 평균을 더합니다.

예측하기

• Bob의 이웃으로부터 가중 평균을 계산합니다.

• 이웃의 편의로부터 얻은 밥의 평균을 더합니다.

예측 함수의 변형

• 평균 중심 정규화 대신 Z-점수 정규화를 사용합니다.

• a의 거듭제곱으로 지수화하여 유사성을 증폭합니다 > 1을 선택하면 예측 함수의 유사성의 중요성을 증폭할 수 있습니다.

예: 제로 중심 정규화

예: 사용자 유사성

• 사용자 유사도를 계산하는 방법은?

• U2의 공동 평가 항목 {I3}에 대한 유사도를 계산합니다.

• U3의 공동 평가 항목 {I1, I9}에 대한 유사도를 계산합니다.

• U4에 대한 공동 평가 항목 {I3, I9}에 대한 유사도를 계산합니다.

예: 사용자 이웃 선택

• 예측 등급이 없는 사용자는 이웃으로 간주되지 않습니다.

• 예를 들어, U2는 이웃으로 간주되지 않습니다

유사도 측정 개선

• 공동 등급 항목 수가 너무 적을 경우 사용자 간 유사성이 증폭될 수 있습니다.

유사도 측정 개선

• 다음과 같은 경우 가중치를 선형적으로 감소시켜 유의 가중치를 사용합니다 공동 평가 항목의 수가 적습니다.

• • If ℐ/⋂ℐ< ≥ �, ���′ �, � is equal to ��� �, � .

• 그렇지 않으면 ��� �, �에 불이익이 주어집니다.

• 이 변경은 구간 [0, 1]에 대한 유사성을 제한합니다.

반응형