2008-09-10 5 views
19

Я прочитал книгу Programming Collective Intelligence и нашел ее увлекательной. Недавно я слышал о том, что Amazon отправила в мир, чтобы придумать лучшую систему рекомендаций для своей системы.Что следует учитывать при создании двигателя рекомендаций?

Победитель, по-видимому, создал лучший алгоритм, ограничив объем информации, которую он кормил.

Как первое эмпирическое правило, я думаю ... «Дополнительная информация не всегда лучше, когда дело доходит до нечетких алгоритмов».

Я знаю, что это субъективно, но в конечном итоге это измеримая вещь (клики в ответ на рекомендации).

Поскольку большинство из нас в настоящее время имеют дело с сетью, и поиск можно рассматривать как форму рекомендации ... Я подозреваю, что я не единственный, кто оценил бы идеи других народов по этому поводу.

Вкратце, «Какой лучший способ создать рекомендацию?»

ответ

5

Вы не хотите использовать «общую популярность», если у вас нет информации о пользователе. Вместо этого вы хотите соответствующим образом выровнять этого пользователя с похожими пользователями и весом.

Это именно то, что делает Bayesian Inference. По-английски это означает корректировку общей вероятности того, что вам что-то понравится (средний рейтинг) с рейтингами других людей , которые также голосуют так же, как и.

Еще один совет, но на этот раз ad hoc: Я нахожу, что есть люди, где, если им что-то нравится, я почти уверен не нравится. Я не знаю, действительно ли этот эффект реальный или воображаемый, но может быть интересно создать своего рода «негативный эффект» вместо того, чтобы просто сбивать людей по подобию.

Наконец-то есть компания, специализирующаяся именно на этом: SenseArray. Владелец (Ian Clarke от freenet fame) очень доступен. Вы можете использовать мое имя, если вы его вызовете.

+1

Это неправильное определение байесовского вывода. Байесовский вывод выводит вас из предварительного мнения на обновленное мнение, основанное на данных. Это слишком широкое приложение для ответа на вопрос @ Allain. – isomorphismes 2011-03-05 05:46:38

5

В этой области есть целая область исследований в области информатики. Я предлагаю прочитать some articles.

5

Согласен с @Ricardo. Этот вопрос слишком широк, например, «Как лучше всего оптимизировать систему?»

Одной из распространенных особенностей почти всех существующих механизмов рекомендаций является то, что окончательная рекомендация сводится к умножению некоторого количества матриц и векторов. Например, умножьте матрицу, содержащую весовые расстояния между пользователями, с помощью вектора номинальных позиций.

(Конечно, вы должны быть готовы для большинства ваших векторов супер редкий!)

Мой ответ, безусловно, слишком поздно для @Allain, но и для других пользователей, находя этот вопрос через поиск - отправить мне PM и задайте более конкретный вопрос, и я обязательно отвечу.

(я рекомендация дизайн двигателей профессионально.)

2

@Lao Цзы, я с вами согласен.

По мне, рекомендация двигатели состоят из:

  • Контекст ввода подается из контекста осведомленных систем (лесосечных все данные)
  • логических рассуждений для фильтрации наиболее очевидным
  • Expert системы, которые улучшают ваши субъективные данные в течение периода времени на основе контекстных вводов, и
  • Вероятностное обоснование принятия решений близко к близости на основе взвешенной суммы предыдущих действий (bel iefs, желания, & намерения).

P.S. Я сделал такой рекомендация двигатель.

Смежные вопросы