2011-08-16 2 views
0

내가 해결하려고하는 문제는 적절한 유사성 측정 기준, rescorer 발견 적 방법 및 데이터 필터링 수준 찾기입니다. (필자는 '필터링 수준'을 사용하여 사용자 또는 항목이 프로덕션 데이터베이스로 연결해야하는 등급의 양을 의미합니다.)Mahout Log 가능성 유사도 메트릭 동작

설정
저는 mahout의 공동 작업 필터링 프레임 워크를 사용하고 있습니다. 내 데이터는 항목의 등급이 집합 {1,2,3,4,5}에 포함 된 3 중주 형식으로 제공됩니다. 나는 logLikelihood 유사성 메트릭 위에 추천 기반 아이템을 사용하고 있습니다. 프로덕션 데이터 세트에서 20 개 미만의 항목을 평가하는 사용자를 필터링합니다. RMSE는 좋게 보이고 (1.17ish) 데이터 캐핑은 일어나지 않지만 원하지 않는 이상한 행동과 오류와 같은 경계가 있습니다.

질문

퍼스트 콜 - 사용자로부터 어떠한 정보와 '상위 항목의 목록을 생성합니다. 내가 사용하는이 작업을 수행하려면, 내가 부르는하는 중심 합계 :

for i in items 
for r in i's ratings 
    sum += r - center 

where center = (5+1)/2 , if you allow ratings in the scale of 1 to 5 for example 

가 나는 항목을 가지고 평가의 수를 원하기 때문에 주로 상위 항목 목록을 생성하는 대신 평균 등급의 중심 합계를 사용 순위에 인수로 받았습니다.

두 번째 전화 - 첫 번째 통화에서 반환 된 각 항목 중 9 개 항목에 유사한 항목을 요청합니다. 유사한 항목을 요청한 각 최상위 항목에 대해 리턴 된 유사한 항목 중 9 개 항목이 동일합니다 (다른 최상위 항목에 대해 반환 된 유사한 항목 세트와 동일).

약간의 재 시도를 할 시간이 되었습니까? 어쩌면 두 게임의 유사성에 x가 조정 된 (공평 항목 수/x, 약 50 점 정도). 사전 친구들

답변

0

당신은 어떤 항목 X.과 비슷한 50 개 항목을 요구하고있는

덕분에 그리고 당신은 그 (50)의 각 9 개 유사한 항목을 찾아 그들 대부분은 동일합니다. 왜 놀랍 죠? 비슷한 항목은 동일한 다른 항목과 유사해야합니다.

'중심 맞춤'이란 무엇입니까? 평균보다 합계로 순위를 매기면 각 계산에 대한 합계의 항목 수가 대략 비슷하면 상대적으로 비슷한 결과를 얻을 수 있습니다.

어떤 문제를 해결하려고합니까? 이 중 어느 것도 추천 시스템에 영향을 미치지 않으므로 사용 중이며 작동한다고 설명합니다. 대립 가능성 유사도는 평점을 기반으로하지 않습니다.

+0

빠른 답장을 보내 주셔서 감사합니다. Sean! 제가 해결하려고하는 문제는 올바른 유사성 측정 기준과 내 데이터에 대한 발견 자 휴리스틱 (rescorer heuristic)을 찾는 것입니다. 불명확 함을 드려 죄송합니다. 내 질문에 "중심"금액에 대한 설명으로 업데이트했습니다. 대립 가능성에 대한 의견을 보내 주시면 감사하겠습니다. GenericItemRecommender는 Pearson에 상대적으로 LL을 사용할 때 (더 낮은 가중치가 허용되기 때문에) 더 적은 값을 채워야하기 때문에 LL를 사용하도록 전환했습니다. 이번에는 어떤 형태의 rescorer를 구현하면서 Pearson을 사용하도록 다시 전환해야할까요? –

+0

첫 번째 프로세스는 대부분 가장 정격이 높은 항목의 목록을 구성합니다. 데이터 세트가 작거나 희박합니까? 그렇다면 희소성 때문에 다른 항목과의 유사성이 정의되는 경향이 가장 높은 항목 중 하나 일뿐입니다.그것은 왜 같은 아이템을 반복해서 볼 수 있는지 설명 할 수 있습니다. 당신이 mostSimilarItems()를 사용하지 않는 한, 이것은 여전히 ​​Recommender를 사용하지 않습니다. –

+0

도움 주셔서 감사합니다. Sean. 문제는 유사성 값 대신 gameID를 사용하여 유사한 항목을 정렬한다는 것입니다. 와우. 또한 데이터를 평가 한 이후 로그 가능성 (log-likelihood)에서 피어슨 (Pearson)으로 전환하는 것은 좋은 생각이었습니다. 도움 주셔서 감사합니다. Sean! –