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.