Mahout의 항목 기반 및 사용자 기반 권장 사항 차이


15

사용자 기반과 항목 기반 권장 사항이 정확히 어떻게 다른지 알고 싶습니다.

그것은 정의

사용자 기반 : 유사한 사용자를 찾아 항목을 추천합니다. 사용자의 동적 특성으로 인해 확장이 어려운 경우가 많습니다.

아이템 기반 : 아이템 간의 유사성을 계산하고 추천합니다. 일반적으로 항목은 많이 변경되지 않으므로 오프라인으로 계산할 수 있습니다.

그러나 두 가지 종류의 권장 사항이 있지만, 내가 이해하는 것은 두 가지 데이터 모델을 모두 사용한다는 것입니다 (1, 2 또는 1, 2, 5는 item1, item2, value 또는 user1, user2, value는 값이 아닌 경우) (필수)) 우리가 선택한 유사성 측정 및 권장 사항 내장 기능으로 모든 계산을 수행하며 동일한 데이터에 대해 사용자 / 항목 기반 권장 사항을 모두 실행할 수 있습니다 (올바른 가정입니까 ??).

그래서이 두 가지 유형의 알고리즘이 얼마나 정확하고 어떤면에서 다른지 알고 싶습니다.

답변:


11

두 모델 모두 동일한 데이터에서 아무런 문제없이 작동하는 것이 맞습니다. 두 항목 모두 사용자 항목 등급의 매트릭스에서 작동합니다.

사용자 기반 접근 방식에서 알고리즘은와 유사한 다른 사용자의 등급을 결합하여 i사용자 u별 항목 에 대한 등급을 생성합니다 . 여기서 유사하다는 것은 두 사용자의 등급이 Pearson 상관 관계 또는 코사인 유사성 또는 이와 유사한 것을 가지고 있음을 의미합니다.u'u

아이템 기반 접근법에서 우리 는 등급 이 매겨진 것과 유사한 아이템 세트 (위와 같은 의미에서 사용자로부터받은 등급을보고 있음을 제외하고) 를 살펴봄 i으로써 등급을 산출합니다 . 다음으로 등급을 결합 의 에 의해 예측 평가에 대한 .ui'iuui'ui

항목 기반 접근 방식은 사용자 기반 필터링으로 규모 문제를 해결하기 위해 Amazon ( http://dl.acm.org/citation.cfm?id=642471 ) 에서 개발되었습니다 . 그들이 판매하는 물건의 수는 사용자 수보다 훨씬 적고 역동적이기 때문에 항목-항목 유사성을 오프라인으로 계산하고 필요할 때 액세스 할 수 있습니다.


21

아이템 기반 알고리즘

for every item i that u has no preference for yet

  for every item j that u has a preference for

    compute a similarity s between i and j

    add u's preference for j, weighted by s, to a running average

 return the top items, ranked by weighted average

사용자 기반 알고리즘

for every item i that u has no preference for yet

 for every other user v that has a preference for i

   compute a similarity s between u and v

   add v's preference for i, weighted by s, to a running average

 return the top items, ranked by weighted average

품목 대 사용자 기반 :

1) 추천자는 처리해야하는 항목 또는 사용자 수에 따라 확장되므로 각 유형이 다른 유형보다 성능이 우수한 시나리오가 있습니다.

2) 항목 간의 유사성 추정치가 사용자 간의 유사성보다 시간이 지남에 따라 수렴 될 가능성이 높습니다

3) 수렴하는 유사성을 계산하고 캐시 할 수있어 항목 기반 추천자에게 성능 이점을 제공 할 수 있습니다.

4) 항목 기반 추천자는 사용자가 선호하는 항목의 목록으로 시작하므로 사용자 기반 추천자와 같이 가장 가까운 항목이 필요하지 않습니다.


공정한 경고 :이 사이트에서는 링크가 답변으로 허용되지 않습니다. 다운 보트를 받기 전에 편집하거나 삭제하는 것이 좋습니다!
sheldonkreger

1
"사용자 기반 알고리즘"에 오타가있을 가능성이 높습니다. 네 번째 줄은 "i에 대한 선호도 추가"로 시작해야합니다.
Bernardo Aflalo

@BernardoAflalo 나는 오타를 생각하지 않습니다, 당신은 모든 v에 대한 선호도를 추가하고 가중 평균을 취할
Oswald
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.