2008-09-10 5 views
19

나는 Programming Collective Intelligence이라는 책을 읽었으며 매혹적이었다. 최근에 아마존이 자신의 시스템에 더 나은 추천 엔진을 제시하기 위해 게시 한 도전에 대해 들었습니다.권장 사항 엔진을 작성할 때 고려해야 할 사항은 무엇입니까?

승자는 먹이를주고있는 정보의 양을 제한하여 분명히 최고의 알고리즘을 산출했습니다.

어림짐작의 첫 번째 규칙으로 ... "퍼지 알고리즘의 경우 더 많은 정보가 반드시 더 나은 것은 아닙니다."

저는 주관적이지만 궁극적으로 측정 가능한 것입니다 (권장 사항에 대한 응답으로 클릭).

요즘 우리는 대부분 웹을 다루고 있으며 검색은 권장 사항의 한 형태로 간주 될 수 있습니다 ...이 점에 대해 다른 사람들의 생각을 고맙게 생각하는 사람이 아닌 것 같습니다.

요약하면 "추천을 만드는 가장 좋은 방법은 무엇입니까?"

답변

5

사용자에 대한 정보가 없으면 "전반적인 인기"를 사용하고 싶지 않습니다. 대신이 사용자를 유사한 사용자 및 가중치와 적절하게 정렬하려고합니다.

정확히 Bayesian Inference입니다. 영어로, 다른 사람의 평점과 함께 무언가 (평균 평점)를 선호하는 전반적인 확률을 조정하는 것을 의미합니다. 누구나 일반적으로 투표 한 사람이입니다.

다른 조언 : 그러나 이번에는 특별합니다. 나는 사람들이 뭔가를 좋아한다면 거의 확실하게 이 아니며과 같은 사람들이 있다는 것을 알았습니다. 이 효과가 현실인지 상상되는지는 모르겠지만 유사성으로 사람들을 뭉치지 않고 일종의 "부정적인 영향"을 형성하는 것은 재미있을 수 있습니다.

마지막으로 정확히 SenseArray이라는 회사가 있습니다. 소유자 (Ian Clarke : freenet fame)는 매우 친숙합니다. 네가 전화하면 내 이름을 쓸 수있어.

+1

이는 베이지안 추론의 잘못된 정의입니다. 베이지안 추론은 데이터를 기반으로 이전 의견에서 업데이트 된 의견으로 안내합니다. 그것은 @ Allain의 질문에 답하기에는 너무 광범위한 응용 프로그램입니다. – isomorphismes

5

이 주제에 전적으로 전념 한 컴퓨터 과학 분야가 있습니다. 나는 some articles을 읽는 것이 좋습니다.

5

@ 리카르도에 동의합니다. 이 질문은 "시스템을 최적화하는 가장 좋은 방법은 무엇입니까?"라는 질문과 같이 너무 광범위합니다.

거의 모든 기존 권장 엔진에 공통적으로 나타나는 특징 중 하나는 최종 권장 사항을 몇 가지 행렬 및 벡터를 곱하는 것입니다. 예를 들어, 사용자 간의 근접 가중치를 포함하는 행렬에 항목 등급의 벡터를 곱하십시오.

(물론 당신의 벡터의 대부분은 슈퍼 스파 스 될 수 있도록 준비해야!)

내 대답은 @Allain뿐만 검색을 통해이 문제를 찾는 다른 사용자가 너무 늦게 분명히 있습니다 - 저에게 보내 PM과 좀 더 구체적인 질문을하고 나는 응답해야합니다.

(전문 I 디자인 추천 엔진.)

2

@Lao 손자, 당신과 함께 동의합니다.

는 저에 따르면, 추천 엔진은 구성되어 있습니다 :

  • 컨텍스트가 입력 가장 눈에 띄는를 필터링하는 컨텍스트 (모든 데이터 로깅) 인식 시스템
  • 논리 추론에서 공급
  • 전문가 컨텍스트 입력을 기반으로 일정 기간 동안 주관적인 데이터를 개선하는 시스템 및
  • 이전 작업의 가중치 합에 근거하여 의사 결정을 내리는 확률 론적 추론 (bel iefs, desires, & 의도).

P. 그런 추천 엔진을 만들었습니다.

관련 문제